Генерация многовидовых иерархий эволюционирующих программ

УДК 004.42

Е. А. Кольчугина

ГЕНЕРАЦИЯ МНОГОВИДОВЫХ ИЕРАРХИЙ ЭВОЛЮЦИОНИРУЮЩИХ ПРОГРАММ

Рассматриваются вопросы генерации многоуровневых иерархических эволюционирующих программных систем на основе модели теории искусственной жизни. Приведены результаты эксперимента, иллюстрирующего процесс эволюционного образования на основе исходного вида многоуровневого сообщества цифровых организмов с отношениями «хищник-жертва».

Введение

Концептуальную основу большинства современных технологий программирования составляют объектно-ориентированная методология и событийно-ориентированный подход. Согласно этим концепциям, программа рассматривается как независимая, но не изолированная единица. Процессы, порождаемые при запуске программы, выполняются в некотором вычислительном окружении, с которым они взаимодействуют, реагируя на поступающие сигналы о событиях и в свою очередь изменяя состояние окружения. Подобный принцип построения программ соответствует логике организации многопользовательских мультипрограммных систем, в том числе и распределенных систем на базе вычислительных сетей. Недостатком рассмотренного подхода является жесткий детерминизм описания реакции программы на возникающие события с одновременной невозможностью учесть в программе все комбинации событий из-за их большого числа.

В [1] была предложена модель эволюционирующего программного обеспечения, обладающего свойствами адаптивности к актуальному состоянию вычислительного окружения. В этой модели выполняющийся процесс рассматривается как экземпляр цифрового организма, алгоритм поведения и значения управляющих параметров которого определяются суперхромосомой, содержащей генетическую информацию. Принципиальным отличием данной модели является допустимость модификации при выполнении операций над суперхромосомой не только значений управляющих параметров, но и программного кода, реализующего алгоритм поведения цифрового организма. При этом сохраняется семантическая значимость программ и возможность быстрого выявления и уничтожения программ с нежелательными свойствами.

В [2] было предложено рассматривать многоуровневые многовидовые сообщества подобных программ как основу для построения промежуточного программного обеспечения (middleware) нового типа, а именно распределенного аморфного универсального суперсервера, способного адаптироваться не только к свойствам потоков данных, но также к свойствам и семантике задач, решаемых пользователем. В настоящей статье рассматриваются вопросы эволюционной генерации таких многоуровневых многовидовых иерархически организованных сообществ цифровых организмов, подобных биоценозам живой природы.

1. Модели видообразования

Во многих моделях, имитирующих эволюционные процессы, конкурирующие организмы представляются как строки символов в заданном алфавите, над которыми выполняются аналоги генетических операций, таких как мутации и скрещивание, а также операции отбора по заданному критерию.

Однако понятие вида вводится и рассматривается не во всех моделях. Вопросы видообразования не исследуются в моделях теории генетических алгоритмов и эволюционных вычислений. В моделях квазивидов и гиперцикла [3] процессы видообразования сводятся к увеличению приспособленности и уменьшению меры различия между строками, имитирующими организмы или макромолекулы.

Не всегда рассматриваются вопросы видообразования и в моделях теории искусственной жизни. В модели [4] основное внимание уделяется обучению и эволюции агентов, имитирующих поведение травоядных. Агенты, имитирующие хищников, не обучаются и не эволюционируют, существуют в модели изначально и выполняют роль элемента внешней среды, к которой должны приспосабливаться «травоядные» агенты. Целью моделей, подобных [5], является эволюционное развитие сенсорной системы и нейросети агентов, а также формирование стратегий поведения на основе заданного набора базовых действий. Группы особей со сходными стратегиями поведения можно рассматривать как аналоги квазивидов, однако многовидовых иерархических сообществ не образуется. В моделях Tierra и Avida [6, 7] образуются иерархические сообщества, но реализуется единственный тип отношений «хозяин-паразит».

В модели биоценоза [1, 2] каждый цифровой организм а{ относится к некоторому виду Cj е C, где C - множество всех видов цифровых организмов. Целью цифрового организма является увеличение числа баллов, интерпретируемых как запас внутренней энергии. Начисление баллов производится после каждого успешного выполнения цифровым организмом заданной функции, общей для всех особей одного с ним вида, что трактуется как аналог «питания». С помощью отображения Layer: C ^ N0+ каждому виду Cj

сопоставляется аналог трофического уровня, что позволяет образовывать иерархии видов цифровых организмов. Основными определяющими характеристиками для каждого вида являются:

- выполняемая функция в составе сообщества программ;

- взаимосвязи с другими видами цифровых организмов или типами пассивных данных, расположенными на нижележащих уровнях иерархии и используемыми в качестве входных аргументов для вычисления заданной функции.

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

2. Описание эксперимента

В ходе эксперимента был создан искусственный мир с тороидальной топологией двумерного клеточного пространства из 8 клеток. Основой для построения искусственного мира стали сервера Раёше, установленные на различных узлах локальной сети и соединенные между собой системой логических каналов. Программная платформа Раёше была создана автором и реализует принципы построения эволюционирующего программного обеспечения [1], в том числе осуществляет трансляцию генотипа цифрового организма в программный код и набор переменных состояния, проверяет соответствие программного кода заданным ограничениям, а также выполняет запуск программ-особей на выполнение.

В каждой клетке пространства искусственного мира функционировали процессы-генераторы данных, которые можно рассматривать как цифровые

организмы вида с^ . В дальнейшем при идентификации видов цифровых организмов и типов пассивных данных будем использовать верхний индекс для обозначения уровня в иерархии, а нижний индекс будет служить указанием на тип выполняемой функции в составе иерархии сообщества программ.

Длительность эксперимента составляла пять часов. В течение первого,

третьего и пятого часа эксперимента процессы вида с^ генерировали файлы

данных а с интервалом в одну секунду, во время второго и четвертого часа пауза увеличивалась в три раза. Так создавались стрессовые условия, способные вызвать процесс образования новых видов на основе популяции ср , что

и являлось конечной целью эксперимента.

2

В задачу особей вида ср входила обработка и уничтожение файлов вида а0. За обработку каждого файла и его уничтожение цифровому организму начислялось десять баллов, что соответствовало «питанию». Если организм набирал более 200 баллов, он прекращал «питаться» и мог приступить к воспроизводству.

В модели имитировалось размножение от двух разнополых родителей с использованием «личиночной стадии». Особи пола щ сохраняли свою генетическую информацию в служебных файлах, игравших роль «личинок», из которых особи пола Пр с использованием своей генетической информации формировали новые особи, равновероятно принадлежащие полу щ или Пр . Каждый из родителей терял при воспроизводстве по десять баллов, которые передавались потомку. Перемещение особи на одну клетку пространства приводило к потере одного балла. Особь, имеющая нулевое количество баллов, «умирала», т.е. прекращалось выполнение соответствующей программы.

Особь, запас внутренней энергии которой был менее десяти баллов, с вероятностью р = 0,1 могла перейти на следующий уровень иерархии и стать хищником по отношению к своим прежним сородичам, за что начислялось десять баллов дополнительно. При этом равновероятно особь могла выбрать одну из двух стратегий хищничества:

- уничтожение взрослых особей с присвоением себе набранных ими баллов, т.е. запаса внутренней энергии;

- уничтожение «личинок» с начислением десяти баллов за каждую уничтоженную личинку.

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

В начальный момент времени в модель были введены две разнополые родительские особи вида ср. В результате эксперимента была построена

восьмиуровневая иерархия видов (рис. 1). Нижние индексы для обозначения образовавшихся в ходе экспериментов новых видов были получены путем дописывания к строковым нижним индексам родительских видов суффикс-ных символов из множества {р, е}, служащих указанием на реализуемую данным видом стратегию хищничества. При этом символ р соответствовал первой стратегии, символ е - второй.

Уровень 8 ^ , с8 рреерер

Уровень 7 ' 7 с рреере

Уровень 6  6 н н 6 , , с рреер , с ррерр

Уровень 5 5 ; с ррее , 5  , с ррер

Уровень 4 1 Ї 4   с рре

Уровень 3 с3 ре Г }  с3 рр

Уровень 2 у с2 р

Уровень 1 с' г

Уровень 0 й0

^----- Отношение «употреблять в пищу»

---- Отношение «производить»

Рис. 1 Иерархия видов, распределенных по трофическим уровням

3. Анализ результатов эксперимента

Результаты эксперимента (рис. 2, 3) отражают несколько «экологических катастроф», произошедших в искусственном мире и сопровождавшихся гибелью некоторых видов. Например, наблюдаются периоды полного исчез-

3 3

новения цифровых организмов видов Сре и Срр , несмотря на достаточное

2

количество особей вида жертвы Ср. Причиной этих катастроф стало допол-

нительное ограничение, накладываемое на предельно допустимое количество цифровых организмов, находящихся в одной клетке. Если клетка оказывается перенаселенной, сервера Раёше уничтожают лишние особи. Похожие ограничения вводятся и в других моделях теории искусственной жизни [6, 7]. По-33

скольку виды Сре и Срр малочисленны, вероятность гибели в результате перенаселения для них выше.

Рис. 2 Численности файлов ресурсов и процессов второго и третьего уровней

Рис. 3 Численности процессов уровней с третьего по восьмой уровни

Наиболее крупной стала «экологическая катастрофа», произошедшая в конце четвертого часа эксперимента и фактически его прекратившая. Эта катастрофа привела к гибели популяции cp в результате ее полного выедания

особями cpe и cpp . Начавшийся затем процесс образования новых уровней

иерархии с четвертого по восьмой уже не мог спасти положения, и все сообщество цифровых организмов вымерло.

Тем не менее, в модели наблюдаются периоды сосуществования особей 2 3 3

видов ср и cpe, Cpp . В данном эксперименте не ставилась задача получения

устойчивого многовидового сообщества. Однако необходимо отметить, что задачи исследования динамики популяций многовидовых сообществ отлича-

ются сложностью и в настоящее время в общем случае не решаются в аналитическом виде.

Динамика численности популяций в многовидовых экологических сообществах аналитически может быть описана системой нелинейных дифференциальных уравнений в частных производных вольтерровского типа [8-10]. При этом каждая исследуемая половозрастная группа, входящая в состав некоторого вида, описывается как самостоятельный вид.

Использование моделей вольтерровского типа имеет следующие недостатки и ограничения:

- модель чувствительна к начальным условиям;

- отсутствует фундаментальное решение для систем из трех и более уравнений;

- сложно учитывать перемещения особей в пространстве.

Второе ограничение является наиболее существенным. Как правило, задачи исследования динамики популяций решаются не аналитически, а с использованием компьютерного моделирования, в том числе имитационного, на основе результатов многолетних наблюдений за природными сообществами. Задача проектирования устойчивого сообщества искусственных организмов обладает не меньшей сложностью и также может решаться с помощью многочисленных вычислительных экспериментов.

Имитационное моделирование позволит учесть такие факторы, влияющие на устойчивость существования многовидовых сообществ с отношениями «хищник-жертва», как соотношение размеров особей и площади занимаемого ареала, наличие убежищ для жертв, возможность притока особей из других ареалов или, напротив, оттока в другие ареалы, а также периоды прерывания контактов между популяциями хищников и жертв [11].

Возвращаясь к результатам описанного эксперимента, необходимо отметить, что одновременно с видообразованием в модели происходил рост

приспособленности особей вида ср по сравнению с отмеченным в начале

эксперимента (рис. 4). Этому способствовали процессы внутрисистемной самоорганизации, в частности естественный отбор особей с оптимальным для данных условий алгоритмом перемещения (рис. 5).

Рис. 4 Среднее значение запаса внутренней энергии для особи вида ср

& 90

Вреия

Рис. 5 Преобладающие генотипы для с 2

Заключение

Результаты проведенного эксперимента подтверждают возможность генерации иерархически организованных многоуровневых саморазвиваю-щихся программных систем на основе не более двух эволюционирующих программ, построенных в соответствии с принципами, изложенными в [1]. Задание несложных правил позволяет инициировать в программной системе процессы, сходные с видообразованием в живой природе. При этом образующиеся вышележащие уровни иерархии могут выполнять роль управляющих по отношению к нижележащим, в частности осуществлять контроль численности выполняющихся процессов нижележащих уровней.

Список литературы

1. Кольчугина, Е. А. Модель эволюционирующего программного обеспечения / Е. А. Кольчугина // Известия высших учебных заведений. Поволжский регион. -2006. - № 6 (27). - С. 78-86. - (Технические науки).

2. Кольчугина, Е. А. Программные системы как аналог биоценозов живой природы / Е. А. Кольчугина // Новые информационные технологии и системы : труды VII Международной научно-технической конференции (г. Пенза, 29-30 ноября 2006). - Пенза : ПГУ, 2006. - С. 19-26.

3. Эйген, М. Гиперцикл: принципы самоорганизации молекул / М. Эйген, П. Шустер. - М. : Мир, 1982. - 272 с.

4. Ackley, D. H. Interaction between learning and evolution / D. H. Ackley, Littman M. L. // Artificial Life II: Santa Fe Institute Studies in the Sciences of Complexity. -Addison-Wesley, Redwood City: CA, 1991. - P. 487-509.

5. Yaeger, L. Computational Genetics, Physiology, Metabolism, Neural Systems, Learning, Vision and Behavior or Poly World: Life in a New Context / L. Yaeger // Proccedings of Artificial Life III. Ed. Langton C.G. - V. XVII. - Redwood City, CA: Addison-Wesley,1994. - P. 263-298.

6. Thearling, K. Evolving Multi-Cellular Artificial Life / K. Thearling, T. S. Ray // Artificial Life IV Conference Proceedings. - Cambridge : The MIT Press, 1994. -P. 283-288.

7. Adami, C. Evolutionary Learning in the 2d Artificial Life System “Avida” / C. Ad-ami, T. Brown // Artificial Life IV, Proceedings of the Forth International Workshop on Synthesis and Simulation of Living Systems / Eds. R.A. Brooks, P. Maes. - Cambrige, MA: MIT Press, 1994. - P. 377-381.

8. Вольтерра, В. Математическая теория борьбы за существование / В. Вольтер-ра. - М. ; Ижевск : Институт компьютерных исследований, 2004. - 288 с.

9. Резниченко, Г. Ю. Математические модели в биофизике и экологии / Г. Ю. Резниченко. - М. ; Ижевск : Институт компьютерных исследований, 2003. -184 с.

10. Малинецкий, Г. Г. Математические основы синергетики. Хаос, структуры, вычислительный эксперимент / Г. Г. Малинецкий. - Изд. 4-е, сущ. перераб. и доп. -М. : КомКнига, 2005. - 312 с.

11. Г аузе, Г. Ф. Борьба за существование / Г. Ф. Гаузе. - М. ; Ижевск : Институт компьютерных исследований, 2002. - 160 с.