Описание модели.
Модель формирования адаптивного поведения автономных агентов
Каждый такт времени агент выполняет одно из следующих семи действий: деление, питание, перемещение на одну клетку вперед, поворот направо или налево, нанесение удара по агенту, находящемуся впереди данного, отдых. Система управления агента основана на классифицирующих системах, представляющих собой набор логических правил, формируемых как в процессе эволюции популяции, так и путем самообучения… Читать ещё >
Описание модели. Модель формирования адаптивного поведения автономных агентов (реферат, курсовая, диплом, контрольная)
В модели предполагается, что популяция, состоящая из n агентов, эволюционирует в двумерной клеточной среде (мире). В любой клетке мира может находиться только один агент. У каждого агента есть свое направление «вперед». В некоторых клетках, число которых фиксировано, имеется пища агентов, причем величина порции пищи в каждой из этих клеток тоже фиксирована. Агент обладает ресурсом R (t). Ресурс агента увеличивается при съедании им пищи и уменьшается при выполнении им действий. Если ресурс агента R (t) в результате его действий становится меньше определенного порога Rmin, то данный агент умирает. Агенты функционируют в дискретном времени, t = 0,1,…
Каждый такт времени агент выполняет одно из следующих семи действий: деление, питание, перемещение на одну клетку вперед, поворот направо или налево, нанесение удара по агенту, находящемуся впереди данного, отдых. Система управления агента основана на классифицирующих системах [3], представляющих собой набор логических правил, формируемых как в процессе эволюции популяции, так и путем самообучения агентов. Этот набор правил составляет геном агента.
Действие «деление» происходит следующим образом: в одной из соседних клеток, выбираемой случайно, рождается потомок агента; если все соседние клетки данного агента заняты, то потомок не рождается; геном рождающегося потомка отличается от генома родителя случайными мутациями.
При выполнении действия «питание» агент съедает всю порцию пищи в той клетке, в которой он находится. После этого новая порция пищи помещается в случайную клетку.
Если агент ударяет находящегося впереди него другого агента, то нападающий агент отнимает у ударяемого определенную величину ресурса. Если оба агента нападают друг на друга, то ресурс обоих уменьшается на величину, расходуемую на действие «ударить».
Размер двумерного мира равен NxNy клеток (координаты клеток равны x = 1,…, Nx; y = 1,…, Ny). Клеточный мир замкнут: если агент, находящийся в клетке с координатой x = Nx, движется вправо, т. е. пересекает «границу мира», то он перемещается в клетку с координатой x = 1, аналогично происходит движение агента при пересечении других границ мира.
компьютерный модель агент автономный Выбор действий агента обеспечивается имеющейся у него системой управления. Система управления агента представляет собой набор правил вида:
Sk(t) Ak(t), (1).
где Sk(t) — текущая ситуация, Ak(t) — действие, соответствующее этому правилу, k — номер правила. Каждое правило имеет свой вес Wk, веса правил модифицируются при обучении агента. Здесь Sk(t) есть вектор, компоненты которого принимают значения либо 0, либо 1. Значения 1 и 0 соответствуют наличию или отсутствию порции пищи или другого агента в определенной клетке в «поле зрения» агента. Поле зрения включает в себя четыре клетки: ту клетку, в которой агент находится, клетку впереди агента и клетки справа и слева от агента.
Каждый такт времени агент осуществляет выбор действия и обучается.
Обозначим через A* намечаемое к выполнению действие. Это действие может быть выбрано либо в соответствии с имеющимися у агента правилами, либо случайным образом. Выбор действия агентом осуществляется следующим образом. Определяется текущая ситуация S (t) и формируется множество выделенных правил {RS}, в это множество включаются те правила агента, для которых все компоненты вектора Sk(t) совпадают с компонентами вектора S (t), т. е. Sk(t) = S (t). Из правил, входящих в {RS}, выбирается правило, для которого вес правила Wk максимален, и с вероятностью 1-е намечается для выполнения действие A* = Ak(t), входящее в это правило, а с вероятностью е для выполнения намечается случайное действие A*. Если правил, для которых Sk(t) = S (t), у данного агента нет, т. е. множество {RS} в рассматриваемой ситуации оказывается пустым, то для выполнения намечается случайное действие A*. Если при случайном выборе действия у рассматриваемого агента правило S (t) A* отсутствует, то это новое правило добавляется к имеющимся, вес его полагается равным 0. В результате для выполнения намечается действие A* и формируется новое правило (если у агента не было правила, соответствующего текущей ситуации S (t) и намеченному действию A*). Далее намеченное действие A* выполняется.
При моделировании часто использовался «метод отжига»: на начальных тактах моделирования, когда логические правила агентов еще не сформированы. Полагалось е ~ 1, т. е. в любом случае была большая вероятность случайного выбора действий, а затем величина е постепенно уменьшалась до нуля, и выбор действия осуществлялся в соответствии с правилами и их весами.
При обучении веса правил Wk модифицировались методом обучения с подкреплением [2]. Сигналами поощрения или наказания служили изменения ресурса агента. Изменение весов Wk при обучении происходило следующим образом. Менялся вес того правила, которое использовал агент в предыдущий такт времени t-1; этот вес изменялся в соответствии с изменением ресурса агента при переходе к такту t и весом правила, применяемого в такт t. Пусть вес правила, примененного в такт t1, равен W (t1), вес правила, применяемого в такт t, равен W (t), ресурс агента в эти такты времени равен R (t-1) и R (t), соответственно. Тогда изменение веса W (t-1) равно [2]:
ДW (t1) = б [R (t) R (t1) + гW (t) W (t1)], (2).
где б — параметр скорости обучения, г — дисконтный фактор; 0< б <<1, 0 < г < 1, 1 г << 1. В результате обучения увеличивались веса правил, применение которых приводило к росту ресурса агента.
Процесс эволюции популяции агентов предполагает, что при делении агента ресурс родителя делится пополам между родителем и потомком. Логические правила потомка отличались от правил родителя малыми мутациями.