Драконы. Часть 1. Эволюционная Модель Многоагентной Системы На Основе Нейронной Сети. Введение



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

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

Еще интереснее придумать их самостоятельно.

То же и с теорией эволюции, после знакомства с основными понятиями мне захотелось опробовать их на модельной системе.

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

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

В этом направлении разрабатывается множество различных моделей.

Существуют даже методы эволюционного моделирования для решения прикладных задач.

А в этих видео популярное изложение основных аспектов эволюции:

Хотелось бы создать имитационную модель с несколько более сложной механикой и соответственно с более широким спектром возможностей развития и сложности.

Основные особенности разработанной модели:

  1. Моделируется эволюция популяции агентов – Д ракош , представляющие собой искусственные нейронные сети, структура и параметры которых определяются хромосомами агента;
  2. Агенты могут перемещаться и взаимодействовать в двумерном пространстве в форме тора (противоположные стороны квадрата замкнуты друг на друге).

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

  3. Время в мире Д ракош дискретно;
  4. Ограниченный ресурс распределен в пространстве неравномерно – торт , который служит источником энергии для агентов.

  5. Агенты могут выполнять действия ( движение, питание, размножение, атака ), в этом случае расходуется ранее накопленная энергия;
  6. Решение о следующем действии является результатом работы нейронной сети.

    Входные сигналы поступают от трех типов рецепторов: «глаза» для наблюдения за пищей в окрестностях агента, «глаза» для наблюдения за другими агентами, «рецептор» для оставшегося запаса энергии;

  7. В популяции возбудителей происходит половое размножение с кроссинговером хромосом и их мутациями.

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

  8. Агенты, запас энергии которых стал меньше минимума, необходимого для выживания, погибают. Оставшаяся энергия, которой обладал агент на момент смерти, попадает в космическую ячейку в виде «лепешек».

Агенты получают информацию из небольшого окружения вокруг себя, а также информацию о своем внутреннем состоянии (запасе энергии).

Эта информация через индивидуальную нейронную сеть влияет на поведение агентов.

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

В первая часть Я опишу строение и механику Вселенной Д rakosh и расскажу какие потенциальные возможности есть у агентов.

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

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

Это оказалось нетривиальной и интересной задачей, по крайней мере для меня.

Третья часть будет посвящен анализу упрощенной, стохастической модели Вселенной Д ракош.

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

В этом случае распределение вероятностей действий агента определяется одной хромосомой.

Результаты такой модели позволят нам в дальнейшем замечать проявления «сознательного» и, будем надеяться, сложного поведения агентов.

Однако не путайте его с проявлениями самоорганизующихся эффектов.

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

Затем опишите результаты моделирования Вселенной Д ракош.



Вселенная Д ракош

Агенты живут в двумерном пространстве, которое свернуто в тор так, что оно не имеет ребер и агенты всегда могут перемещаться, не натыкаясь на препятствия (рис.

1).



Драконы.
</p><p>
 Часть 1. Эволюционная модель многоагентной системы на основе нейронной сети.
</p><p>
 Введение

Рисунок 1. Тор.

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

Все доступное агентам пространство разделено на шестиугольные ячейки (рис.

2).

Их мир похож на соты.

При моделировании я использовал мир размером 100х100 ячеек (общая площадь 10 000 ячеек).

В одной ячейке одновременно может находиться не более двух агентов.

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

Помимо агентов, клетки содержат питательный ресурс – торт , который могут съесть агенты.

Питание генерируется в клетках по особому алгоритму.



Еда для Д ракош

Каждая ячейка может содержать произвольное количество целых чисел торт (рис.

2).

За один временной шаг агент может съесть один торт , это пополнит его запасы энергии на 50 Дж – энергетическая емкость продуктов питания.

УПД 1 : Во время экспериментов с стохастическая модель Энергоёмкость агента увеличена до 75 Дж .



Драконы.
</p><p>
 Часть 1. Эволюционная модель многоагентной системы на основе нейронной сети.
</p><p>
 Введение

Фигура 2. Пример расположения порции еды в космосе.

Серые клетки не содержат пищи, темно-синие клетки содержат 1 торт , желтый – 15 торт .

Количество еды в космосе постоянно меняется.

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

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

Количество пищи меняется за счет следующих процессов:

  • уменьшается при поедании агентами;
  • уменьшается из-за деградации детали торт ;
  • увеличивается в результате «распространения»;
  • увеличивается, когда агенты умирают;
  • увеличивается при успешных атаках одних агентов на других, в результате чего они попадают в космос торт .

Среднее общее количество еды в пространстве зависит от плотности населения агентов.

При плотности заполнения пространства агентами менее одного агента на ячейку (1 Доктор/сотовый ), то стационарная плотность пищи в космосе равна 20 торт/ячейка (или 1000 Дж/клетка в энергетических единицах).

Но если на клетку приходится более одного агента, стационарное количество пищи в космосе, которое можно сохранить в космосе, уменьшится.

А когда агенты полностью заполняют пространство (2 Доктор/сотовый ) стационарное количество пищи становится равным нулю (рис.

3).



Драконы.
</p><p>
 Часть 1. Эволюционная модель многоагентной системы на основе нейронной сети.
</p><p>
 Введение

Рисунок 3. Зависимость стационарного количества еды от плотности агентов в космосе УПД 1 : Во время экспериментов со стохастической моделью был изменен .

Если количество еды станет меньше заданного стационарного значения, то в конце текущего временного шага 50% текущего дефицита еды будет сгенерировано в космосе.

Необходимое количество еды генерируется порциями в случайном месте, случайного объёма (но не менее 250 торт ).

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

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

Группа состоит из 19 клеток (рис.

4).

Количество таких групп подобрано таким образом, чтобы избыток пищи сократился на 10%.

Это можно интерпретировать как неспособность хранить излишки пищи в помещении, что приводит к их разложению.

Со временем количество еды в космосе будет стремиться к заданному стационарному значению.

Этот алгоритм производства еды помогает предотвратить «перенаселение».



Устройство Д ракош

Все агенты имеют одинаковую структуру.

Разница лишь в значениях параметров их нейросети.

В этой модели каждый агент представлен следующим набором характеристик:

  • имя агента, уникальное на протяжении всей симуляции, натуральное число;
  • запас энергии агента, который выражается целым числом Дж ;
  • номер ячейки, в которой находится агент;
  • возраст агента — натуральное число, которое увеличивается на единицу в конце каждого временного шага;
  • поколение агентов, натуральное число.

    При рождении агента этот параметр устанавливается на единицу больше, чем поколение одного из родителей (из двух выбирается родитель с этой характеристикой больше);

Каждый агент имеет три хромосомы, две из которых определяют параметры его нейронной сети:
  1. хромосома ВЕС – весовая матрица нейронов скрытого слоя;
  2. хромосома ПРЕДВЗЯТОСТЬ – вектор смещений нейронов скрытого слоя;
  3. хромосома ЦВЕТ – задает три компонента цвета агента – красный, зеленый, синий.

    Эти три хромосомы наследуются во время размножения.

Агенты имеют четыре группы рецепторы , которые передают информацию из внешней и внутренней среды на входные слои нейронной сети агентов.

  • наличие пищи в соседних клетках (19 рецепторов) – позволяют агенту получать информацию о количестве еды рядом с ним (рис.

    4);

  • наличие агентов в соседних клетках (19 рецепторов) – позволяют агенту получать информацию о количестве других агентов рядом с ним (рис.

    4);

  • цвета соседнего агента (3 рецептора) и свой цвет (3 рецептора) – позволяют агенту получать информацию о цвете второго агента в клетке, если он есть, и о своем собственном цвете;
  • текущий энергетический запас агента (1 рецептор);


Драконы.
</p><p>
 Часть 1. Эволюционная модель многоагентной системы на основе нейронной сети.
</p><p>
 Введение

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

Агент может сделать шаг в каждую из этих ячеек.

С 1-го по 6-й – длина шага равна одной ячейке.

С 7 по 18 – шаг длиной в две клетки.

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

Агенты могут выполнить одно из шести действий: проходить , шаг 1 , шаг 2 , есть , атака , секс .

Проходить – бездействие – агент не совершает никаких действий, оставаясь на месте.

Это действие всегда оказывается успешным.

Шаг 1 , Шаг 2 – агент пытается войти в одну из 18 соседних ячеек (рис.

4).

Шаг 1 – шаг длиной в одну клетку.

Шаг 2 – шаг длиной в две клетки.

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

Есть – попытка съесть еду в текущей ячейке.

Если в клетке есть еда, действие успешно и агент съедает 1 торт и увеличивает запас энергии на 50 Дж .

Атака – попытка ударить агента в текущей ячейке.

Если в ячейке с агентом находится второй агент, то действие успешное и соседний агент теряет 150 Дж и в ячейке появится цифра 3 торт .

Секс – агент пытается спариться с агентом в текущей ячейке.

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

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

табл.

1).

Новорожденный агент получает 1/3 своего запаса энергии от каждого родителя.

Акция будет успешной, если новорожденный получит достаточно энергии для выживания – более 500 Дж , иначе он сразу умрет. Третье условие успеха акции Секс — это выбор родительским агентом (обеспечившим большую часть энергии — самкой) соседней клетки со свободным пространством для размещения новорожденного агента.

Если в этой ячейке нет свободного места, то действие Секс считается неудачным и новорожденный умирает. Если новорожденный умирает, его энергетический запас преобразуется в пищу и помещается в клетку к родителям.

Совершая каждое из перечисленных действий, агенты теряют определенное количество энергии.

В таблице 1 показаны затраты энергии на каждое действие.

Таблица 1. Ээнергетическая стоимость действий агентов

Действие Успех Изменение запаса энергии агента, Дж
Проходить + е 0
Шаг 1 + е 0 9
Шаг 2 + е 0 24
Шаг 1/2 - е 0 4
Есть + + 50 е 0 3
Есть - е 0 3
Атака е 0 49
Секс + / - е 0 34
Самым дешевым с точки зрения энергопотребления является действие Проходить .

Количество энергии, потраченное на бездействие ( е 0 ) определяется размером нейронной сети агента.

Чем больше нейронов в скрытом слое, тем больше расход энергии на функционирование нейронной сети.

Эти потери энергии происходят и при любом другом выбранном действии.

Зависимость фоновых энергетических затрат от количества нейронов ограничит рост вычислительных затрат без заметного повышения приспособленности агентов.

Когда уровень энергии агента становится меньше 500 Дж – агент погибает, а остаток его энергии высвобождается в занимаемую им клетку.

УПД 1 : Во время экспериментов со стохастической моделью энергетические значения были изменены .



энергетическая модель Вселенной Д ракош

Модель Д Ракош открыта, в ней есть поток энергии, служащий движущей силой процессов во Вселенной.

Д ракош.

Он попадает в космос в виде пищи, которую поедают агенты.

Агенты выполняют действия, используя энергию.

На рис.

Рисунок 5 представлена схема потоков энергии в модели.

Д ракош.



Драконы.
</p><p>
 Часть 1. Эволюционная модель многоагентной системы на основе нейронной сети.
</p><p>
 Введение

Рисунок 5. Схема потоков энергии в модели Д ракош Пища поступает в пространство извне системы с потоком еда в .

Также существуют два внутренних потока, пополняющих запасы продовольствия в космосе: вред , мертвый .

Первый из них связан с потерями энергии агентами, атакованными соседним агентом.

Энергия, которую они теряют, выпадает в виде эквивалентного количества торт в клетке с агентом-жертвой.

Второй поток — это пища, появляющаяся в клетке после гибели агента, количество которой эквивалентно оставшейся энергии агента перед смертью.

Еду из космоса потребляют агенты, успешно завершившие действие.

Есть - поток принимать пищу .

Энергия, затрачиваемая на совершение действий, покидает систему – поток использовал .

Второй путь выхода энергии из системы — это поток.

испорченная еда , что связано с деградирующим избытком пищи в космосе.



Естественный отбор

Во Вселенной Д работает естественный отбор.

Чтобы существовать, агентам необходимо потреблять пищу для восполнения энергии, которая постоянно расходуется.

Те агенты, которые питаются более эффективно, могут выжить дольше и, следовательно, оставить больше потомства.

Ээффективность размножения определяется частотой действия Секс и количество энергии, которую родители передают своему потомству.

Действия агентов определяются, помимо получаемой ими информации, параметрами их нейронной сети.

Которые передаются по наследству при размножении, при этом они подвержены случайным изменениям – мутациям.

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

Теги: #искусственный интеллект #нейронные сети #matlab #искусственная жизнь #эволюционное моделирование #многоагентные системы

Вместе с данным постом часто просматривают: