В модели Д. Экли и М. Литтмана агенты «живут» в двумерном мире, разбитом на клетки. В клетках могут располагаться сами агенты, трава, хищники, деревья, камни. Трава служит пищей для агентов. Хищники и другие агенты могут драться с данным агентом, угрожая его здоровью. Залезая на деревья, агенты становятся недоступными для хищников. Деревья вырастают и погибают. Если дерево погибает, и при этом на дереве сидел агент, то агент также умирает. Камни являются препятствиями для агентов: если агент сталкивается с камнем, то он теряет при этом часть своего «здоровья». Агенты могут скрещиваться, давая потомков. Агенты погибают от голода (недостатка энергоресурсов) или теряя здоровье. Погибшие агенты служат пищей для других агентов и хищников.
Популяция агентов эволюционирует: при скрещивании рождаются потомки агентов, которые, вообще говоря, отличаются от своих родителей. Агенты могут обучаться: их действия определяются нейронной сетью, которая может совершенствоваться в течение жизни агента. Популяция хищников стабильна и не эволюционирует: все хищники одинаковы и не способны к обучению, их действия в любой ситуации однозначно определены.
Поведение агентов управляется их нейронной сетью. Входами нейронной сети являются видимая картина мира и внутреннее состояние агентов (количество энергии и уровень здоровья). Агенты видят мир вокруг себя на расстоянии до четырех клеток в четырех направлениях. Поведение агентов определяется выходами нейронной сети. Мир развивается в дискретном времени. В каждый такт времени нейронная сеть определяет выбор действий агента, который очень прост: выбрать одно из четырех направлений движения. После выбора действия «собственная судьба» агента в следующий такт времени будет однозначно определена – она зависит только от того, что есть в целевой клетке (клетке по направлению движения). Например, агент может просто переместиться в целевую клетку (если эта клетка пустая), съесть в клетке траву (если она там есть), залезть на дерево (если в целевой клетке есть дерево, и на нем нет агента), удариться о камень, получить удар от другого агента или хищника и т.д.
Структура простой нейронной сети агента состоит из двух блоков:
- блок поведения, т.е. блок, определяющий действия агента;
- блок оценки действий, т. е. блок, формирующий цели поведения.
Блок поведения состоит из двух нейронов, выходы которых определяют направление движения агента (два бита информации – четыре возможных направления). Блок оценки действий определяет обучающий сигнал. Последний имеет простой смысл: он показывает, улучшилось или ухудшилось (с точки зрения блока оценки) состояние агента в данный такт времени по сравнению с предыдущим тактом в результате выполненного действия.
Нейронная сеть изменяется как в ходе эволюции, так и в индивидуальном процессе обучения. Геном агента содержит весовые коэффициенты синапсов блока оценки действий и начальные веса синапсов блока поведения. Эти весовые коэффициенты изменяются в ходе эволюции. В частности, изменение весов синапсов блока поведения как раз характеризует обучение, которое происходит под контролем блока оценки поведения. Веса синапсов блока оценки не меняются в течение жизни агента. Блок оценки играет роль «учителя» для блока поведения, причем сам учитель оптимизируется в процессе эволюции.
Для обучения блока поведения применялся вариант алгоритма обратного распространения ошибки, названный «комплементарным методом обратного распространения ошибки». Ошибка на выходе каждого нейрона блока поведения определяется по выходу данного нейрона и сигналу обучения от блока оценки действий. Этот сигнал обучения может быть как положительным (если блок оценки решает, что команда с блока поведения улучшает жизнь агента), так и отрицательным (в противном случае). В соответствии с ошибками на выходах нейронов корректируются веса синапсов нейронов, аналогично тому, как это происходит в обычном методе обратного распространения ошибок.
В результате моделирования было показано, что одна эволюция без обучения плохо обеспечивает адаптацию популяции агентов. Обучение приводит к лучшей адаптации, но наиболее эффективная адаптация наблюдается в случае совместной работы эволюции и обучения. В последнем случае находились агенты, которые не вымирали на протяжении миллиона тактов жизни агентов.