Модели искусственной жизни. Часть 1

    Сразу к делу. К чему может привести изучение ИЖ? Как практически применить знания, полученные в данной области? Учёные, работающие по этому направлению, говорят, что их исследования направлены именно на практические приложения, такие как подвижные роботы, медицина, нанотехнология, искусственный интеллект, и даже исследования социальных и экономических систем. Но в истории искусственной жизни было довольно много споров и противоречий. Многие скептики критикуют некоторые работы по искусственной жизни, называя их «наукой без фактов». Однако последние публикации по искусственной жизни свидетельствуют о том, что технологии, используемые для моделирования искусственной жизни, признаются научным сообществом, по крайней мере, для изучения эволюции.

    Основной проблемой ИЖ является создание вычислительных систем и моделей, действующих на базе биологических и эволюционных принципов. Проще говоря, это «мир, созданный человеком». Но до определённого времени работа в данной области ограничивалась лишь теоретическими исследованиями свойств жизни. А моделирование — лишь построением отдельных частей биологических систем, таких, например, как адаптивное поведение или эволюция. Но в последнее время, во многом благодаря развитию нанотехнологий и молекулярной биологии, а также благодаря возросшему пониманию назначения отдельных генов и способов их взаимодействия и появлению средств манипуляции отдельными молекулами, развивается новое направление ИЖ, направленное на создание новых, искусственно синтезированных биологических форм, что требует философского обоснования ИЖ и, как минимум, определения понятия «жизнь» (что же вообще понимать под этим словом). Сегодня сторонники данного направления говорят, что они исследуют более общие формы жизни, чем те, которые существуют на Земле.Давайте попробуем отследить примерный ход развития ИЖ — c чего всё начиналось и к чему в будущем данное направление может привести.

    PolyWorld (ПолиМир)

    Автор: Larry Yaeger, 1993

    Итак, нам стало понятно, что искусственная жизнь — это не что иное, как попытка изучить саму жизнь, живые системы, их эволюцию, с помощью созданных человек программ. Но интересно, как всё это может работать на практике: в медицине, робототехнике, для исследования «жизни» социальных и экономических систем и т.п.
    Для начала рассмотрим одну из первых моделей искусственной жизни, в которой проведено программное моделирование достаточно простых процессов организмов — это ПолиМир Ларри Ягера.
    Модель можно представить себе как большой стол, ограниченный стенами по краям. На этом столе живут искусственные организмы. Они двигаются, поглощают пищу, скрещиваются, давая потомков. Также организмы могут вступать в борьбу с другими, при этом побеждённый превращается в пищу. Ягер присвоил организмам интересную особенность — все они обладают цветом и цветовым зрением. Например, если организм вступает в борьбу, то он краснеет, а если испытывает желание скреститься — синеет.
    Все эти свойства позволяют популяции данных организмов эволюционировать, что помогает нам, собственно, прочувствовать, увидеть и проанализировать подобные эволюционные процессы. Фактически модель Ягера показала:
    • Сложное цветовое зрение вполне могло сформироваться в процессе эволюции
    • Возможно эволюционное формирование трёх стратегий: «тупая корова», «ленивый каннибал» и «жизнь на крае мира».

    «Тупая корова» — условное название стратегии, в которой организм движется прямолинейно с максимальной скоростью, поедает все встречающиеся лужайки пищи и скрещивается со всеми, кого встретит.
    «Ленивый каннибал» — вторая стратегия, организм крутиться на месте, скрещиваясь или вступая в борьбу с каждым, кто приблизится (поедая соперника в случае победы или погибая в случае поражения).
    Жизнь «на крае мира» — стратегия появлялась только в некоторых экспериментах, организмы циркулировали по или против часовой стрелки вдоль барьеров, ограничивающих стол, и это приводило к определённым преимуществам, так как здесь организмы чаще, чем обычно находили особей, с которыми можно скреститься или побороться.


    Interaction between learning and Evolution

    Авторы: D. Ackley, M. Littman, 1992

    Подводя небольшой итог предыдущей главы, можно сказать, что Ларри Ягер, с помощью своего ПолиМира, реализовал не что иное, как естественный отбор искусственных организмов и ничего больше. Именно это подразумевается под словом «Эволюция» в ПолиМире. Экли и Литтман постарались немного расширить этот термин. Их работа — это модель взаимодействия обучения и эволюции.
    Общая схема поведения агентов довольно проста. Агенты живут в двумерном мире, разбитом на клетки. В клетках могут располагаться сами агенты, деревья, хищники, трава и камни. Соответственно агенты — это главная «единица» мира, а всё остальное разнообразным образом влияет на них.
    Хищники бьют агентов, причём сильнее, чем агенты хищников. Средством для защиты от хищников служит дерево, на которое может забраться агент, если там нет другого агента. Но и находиться постоянно на дереве опасно, так как деревья со временем погибают, убивая сидящего на нём агента.
    Каждый агент имеет свою нейронную сеть, с помощью которой он и принимает решения о своих действиях. Нейронная сеть агента состоит из двух блоков:
    1. Блок поведения, т.е. блок, определяющий действия агента в каждый такт времени.
    2. Блок оценки действий, т.е. блок, формирующий цели поведения агента.

    Собственно эти блоки и позволяют совместить в данной модели обучение и эволюцию. Блок оценки действия «вырабатывает» обучающий сигнал для блока поведения, который в свою очередь заставляет агента действовать соответствующим образом. Сам сигнал может быть либо положительным, если блок оценки «считает», что команда блока поведения улучшила жизнь агента, либо отрицательным — в противном случае. Таким образом, после разных успехов и неудач агента, его нейронная сеть корректируется и принимает в тех же действиях «правильные» решения. Так и осуществляется обучение.
    А в процессе скрещивания двух агентов, их нейронные сети передаются потомкам — так осуществляется эволюция в модели.
    Результаты работы Экли и Литтмана были весьма и весьма интересны. Они запускали модель поочередно: сначала модель только с обучением, потом модель только с эволюцией и наконец модель полную, и с обучением и с эволюцией. Стало понятно, что при взаимодействии обучения и эволюции агенты не вымирали на протяжении миллиона тактов жизни (а один раз число тактов достигло 9∙106), в то время как при одиночных моделях агенты вымирали в 5-7 раз быстрее!


    PS Хочу ещё дописать обзор таких моделей, как «Кузнечик», «Муравьиная ферма» и «Тьерра». Хабравчанам интересно?
    PPS Наверное, имеет смысл перевести пост в блог Искусственный интеллект, но у меня не получилось, т.ч. прошу прощения.

    UPD Большое спасибо всем за карму, позволившую опубликовать статью в нужном блоге и за комментарии! Начинаю писать часть 2.
    UPD Если нет желания собрать ПолиМир, то можно просто посмотреть видео и графики.

    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 35

      +1
      С братом делали «жизнь» Джона Конвея в году 94 где-то.
      Это из этой оперы?
        +1
        в Life поведение «клеток» жестко задано, и никакого развития или интеллекта там не может быть.
        и есть довольно интересные «сложные» организмы, там слишком мало степеней свободы для развития.
        оч. интересно написано о жизни в книге Мартина Гарднера, не помню к сожалению в какой именно.

        и да, я тоже писал ее, на турбо паскале, это была первая прога которую я написал вне школьной программы, жаль исходники не сохранились. э-эх ностальгия…
          0
          хотя, емнип, в несколько измененном «клеточном пространстве» можно создать машину тьюринга, а уже на ней запустить/сэмулировать любой вычислительный процесс, но это имхо перебор :)
        +2
        Да! Если есть желание, могу добавить и его работу в обзор!
          +1
          кажется нет, жизнь — это клеточные автоматы. решение принимается не «агентами», а общими правилами. грубо говоря — каждый агент за себя никак не отвечает.
        • UFO just landed and posted this here
            0
            Очень интересно! С нетерпением жду продолжения)
            • UFO just landed and posted this here
                0
                Автор одной книжки указал на забавную штуку: природа на самом деле может тратить очень много времени на «фрейм». Просто мы этого не замечаем — пока очередная итерация не дошла до моего организма, всё остальное я просто не воспринимаю. Соответственно, я не знаю, сколько времени проходит между двумя итерациями :)
                  0
                  собственно природа выбрала наиболее экономичный способ вычислений, а именно — приближенный асинхронный перебор
                0
                Спасибо, очень интересно, ждем продолжения.
                  0
                  Larry Yaeger, 1993
                  D. Ackley, M. Littman, 1992

                  Экли и Литтман раньше сделали более сложную модель?

                  Тема очень интересна, жду продолжения.
                    0
                    Честно говоря — это года выпусков рассматриваемых версий моделей. Т.е. последняя версия ПолиМира, например, выпущена в 2007 году. Я рассматривал именно эти версии, не могу сказать точно, что раньше было придумано.
                    0
                    а вам удалось найти PolyWorld для запуска на какой-нить платформе? то что я смог найти не удалось запустить и посмотреть как оно живет.
                    по остальным моделям обязательно нужен обзор, как минимум для полноты картины.
                    вы сами ничего подобного делать не собираетесь? у меня было желание сделать нечто подобное для игры, вроде majesty. как обычно — дальше задумки дело не пошло :)
                      0
                      Вообще были идеи сделать что-нибудь подобное. Надеюсь, всё-таки лень сдастся, а энтузиазм восторжествует =)

                      Насчёт сборки — смотря на чём пытались собрать. На Винде не получится, они пишут об этом в своей инструкции по сборке. Но вот на дебиане у меня всё отлично собралось. Полагаю, на маках тоже не должно быть особых проблем, но не ручаюсь =)
                        0
                        ага, надо будет попробовать на убунте запустить. тоже хочу вернуться к теме как-нибудь, попробовать поэкспериментировать как-нибудь.
                      +4
                      Сдается мне, большинство особей Homo Sapiens развиваются по принципу «тупая корова»
                        0
                        Есть такая игрушка для программистов AutoWar (та которую Кладов Владимир написал). Там нужно программировать ботов. Выигрывает тот, боты которого заполнят весь игровой мир. Так вот оптимальной стратегией является стратегия кролика — быстро бегай, ешь все, размножайся как только сможешь.
                        Так что принцип «будь проще» работает во многих случаях. Видимо и в эволюции то же.
                          +2
                          Вопрос об «оптимуме» нетривиален. На нашей планете отлично себя чувствуют тараканы и крысы — далеко не самые гениальные создания (крысы поумнее, конечно, но всё же не шимпанзе).

                          А ещё лучше чувствуют себя коровы и свиньи — они вкусные, и благодаря этому их популяция выше, наверно, чем у любого дикого вида.

                          Но как человек я им всем всё же не завидую особо :)
                            0
                            Вы ещё глистов и вшей вспомните — тоже не бедствуют ведь :) Нет, сравнение с нахлебниками человека, одного из самых успешных видов, видимо не совсем корректно, вам не кажется? Нахлебник обречён всегда быть по крайней мере вторым. А оптимум — быть номером один. Хотя, конечно, смотря как мерить — поштучно, по биомассе, по времени сохранения вида без существенных модификаций, и т.п.
                              0
                              В том-то и дело, что смотря как мерить. Глист, конечно, вторичен по отношению к человеку — в том смысле, что без человека глист обречён на гибель. Но с точки зрения биологической «успешности» всё не так очевидно. Каждый может подойти со своей линейкой…

                              Это как страны в мире. Можно быть большой сильной сверхдержавой, двигать науку и технологию, кого надо — бомбить, с кем хочется — дружить. При этом вовсе не факт, что среднестатистический житель такой страны будет жить в счастье, покое и умиротворении.

                              А можно устроить карликовое государство а-ля Лихтенштейн, жить себе споконо на лоне природы, разводить коров и в ус не дуть. И кто ещё успешнее — большой вопрос.
                                0
                                Пожалуй, успешность такого рода имеет смысл рассматривать лишь на временных промежутках большой протяжённости. Что по отношению к видам, что по отношению к государствам… да ко всем. Маленькие-незаметненькие, которые путаются под ногами, может и счастливее проживают свою коротенькую жизнь, но разве живут только для счастья? Живут, чтобы выживать — в первую очередь. А счастье — только во вторую. Вон, выйду на угол, куплю доз на месяц, и проживу наисчастливейшую жизнь :) Можно ещё электроды в мозг, как той пресловутой крысе, что с голоду померла, только и делая, что нажимая «кнопку счастья».

                                Да, живут тараканы миллионы лет. Но потравим ведь всех рано или поздно. Внесём в красную книгу и будем в зоопарк ходить чисто на тараканов позырить :)
                            0
                            Я писал для себя подобную вещь (поскольку интересны были не только боты, а и само создание мира). Думал посоревноваться с коллегами по работе, но они как-то не разделили моего энтузиазма, и разработка заглохла (передал тестерам, они на этом проекте тестируют соискателей, кто сколько багов найдёт — я пообещал, что как только всех найдут, я ещё новых допишу :) ).

                            Но два класса юнитов я таки сделал. «Физически» они одинаковые — ходят с одинаковой скоростью, бьют с одинаковой силой, здоровья имеют равное количество. Таково условие мира — «умом надо отличаться, умом» :) Никакого самообучения — я же соревноваться собирался в написании готового «интеллекта», а не начальных условий для его наилучшего развития.

                            Так вот, классы назывались Берсерк и Комрад. Отличие минимальное — Берсерк рубит всех юнитов другого цвета, если никого нет рядом — выбирает случайную точку на карте и прёт в том направлении, пока не упрётся (в стену или в юнита своего цвета). Тогда выбирает новую точку. А Комрад отличался только лишь тем, что если не видел рядом врага, то искал друга. К нему и двигался.

                            Комрады били Берсерков, если их было 600-700 против 1000. Комрады кучковались, и всем скопом наваливались на одиночек-Берсерков. Тем более те сами неслись им навстречу, рано или поздно набредая на роящуюся толпу.

                            В общем, я, хоть и не обладаю обширном опытом творца миров и тварей, берусь таки утверждать, что при равных физических характеристиках быть простым «во внутре» — самоубийственная роскошь. Так что давайте-ка, будем усложняться. Недаром среди насекомых особым успехом пользуются муравьи и термиты, а среди млекопитающих — мы, человеки.
                            +1
                            В свое время существовала симуляционная модель Tierra, написанная экологом Томасом Реем, которая положила начало целой плеяде подобных программ, например таких как Avida или DarwinBots.
                            Идея Tierra заключалась в том, что «организмы» были построены из инструкций специально созданного низкоуровневого языка (а-ля гены). Путем мутаций и вирусных атак паразитов организмы приобретали уникальный набор инструкций и как следствие — уникальное поведение, которое не было заложено изначально создатлем. В этом заключалось отличие детища Рея от других «вирутальных симуляторов рыб и насекомых» — животные сами формировали свой modus vivendi.
                              +1
                              Угу, в Тьерре получалось достаточно разнообразное поведение, включая симбиоз и паразитизм
                              0
                              автор, а как на счет создания своей модели?
                              мож стоит открыть дискуссию и собрать ядро комманды?
                              • UFO just landed and posted this here
                                  0
                                  А если есть возможность выложите то что для курсовых вы написали, интересно посмотреть
                                  • UFO just landed and posted this here
                                    0
                                    Я — за) Курсовая тогда веселая получилась =)
                                    0
                                    Было бы интересно организовать! Только времени сейчас маловато… Но идея мне очень нравится!
                                    0
                                    Очень интересно.
                                      0
                                      Кто из знающих посоветуйте, что лучше, искать готовую среда для моделирования интеллектуальных агентов или писать все с нуля?
                                        0
                                        «Сложное цветовое зрение вполне могло сформироваться в процессе эволюции»
                                        Откуда такой вывод?
                                          0
                                          Вопрос, конечно, обширный. Но смысл примерно в том, что со временем организмы начинали реагировать на «злых» (которые становились красными). Или при виде синего, тоже склонялись к желанию скреститься. Примерно так я это понимаю.

                                        Only users with full accounts can post comments. Log in, please.