Моделирование поведения животных с использованией нейронных сетей
Курсовая работа
Выполнил студент 3 курса, 302-МАИ группы, Николаев Дмитрий
Оренбургский государственный педагогический университет
Оренбург 2010
Введение
Нейронная сеть в (теории искусственного интеллекта) — упрощённая модель биологической нейронной сети.
Нейронные сети возникли из исследований в области искусственного интеллекта, а именно, из попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга. Основной областью исследований по искусственному интеллекту в 60-е — 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не ухватывают некоторые ключевые аспекты человеческого интеллекта. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственных интеллект, необходимо построить систему с похожей архитектурой.
Cвою силу нейронные сети черпают, во-первых, из распараллеливания обработки информации и, во-вторых, из способности самообучаться, т.е. создавать обобщения. Под термином обобщение понимается способность получать обоснованный результат на основании данных, которые не встречались в процессе обучения. Эти свойства позволяют нейронным сетям решать сложные (масштабные) задачи, которые на сегодняшний день считаются трудноразрешимыми. Однако на практике при автономной работе нейронные сети не могут обеспечить готовые решения. Их необходимо интегрировать в сложные системы. В частности, комплексную задачу можно разбить на последовательность относительно простых, часть из которых может решаться нейронными сетями.
Некоторые преимущества и достоинства нейронных сетей перед традиционными вычислительными системами:
- решение задач при неизвестных закономерностях;
- устойчивость к шумам во входных данных;
- адаптирование к изменениям окружающей среды;
- потенциальное сверхвысокое быстродействие.
Зачастую нейронные сети используются для моделирования. К примеру, в такой науке, как искусственная жизнь.
Искусственная жизнь — это понятие, введенное Крисом Лангтоном для обозначения множества компьютерных механизмов, которые используются для моделирования естественных систем. Искусственная жизнь применяется для моделирования процессов в экономике, поведения животных и насекомых, а также взаимодействия различных объектов. В настоящий момент искусственная жизнь — это наука, занимающаяся изучением жизни, живых систем и их эволюции при помощи созданных человеком моделей.
Искусственная жизнь может быть описана как теория и практика моделирования биологических систем. Разработчики, которые ведут исследования в данной сфере, надеются, что путем моделирования биологических систем мы сможем лучше понять, почему и как они работают. С помощью моделей разработчики могут управлять созданной средой, проверять различные гипотезы и наблюдать, как системы и среда реагируют на изменения.
В своей курсовой работе я буду рассматривать одно из направлений искусственной жизни — синтетическую науку о поведении. Её очень чётко описывает Брюс МакЛеннан:
«Синтетическая наука о поведении — это подход к изучению поведения животных, при котором простые синтетические организмы определенным образом действуют в синтетическом мире. Так как и мир, и организмы являются синтетическими, они могут быть сконструированы для особых целей, а именно для проверки определенных гипотез»
Целью данной курсовой работы является создание модели искусственной жизни.
Для достижения этой цели я собираюсь создать простейшую модель пищевой цепочки, используя в качестве мозга агентов-животных нейронную сеть, построенную по принципу «победитель получает всё».
1. Модель пищевой цепочки
1.1 Общие сведения
Пищевая цепочка описывает иерархию живых организмов в экосистеме. Например, рассмотрим очень простую абстрактную пищевую цепочку, которая состоит из трех особей:
Хищник
- мигрирующие агенты, поедающие травоядных.
Травоядное
- мигрирующие агенты, поедающие растения.
Растение
- представляют собой неподвижный источник еды для травоядных животных.
В нижней части цепочки находятся растения. Они получают энергию из окружающей среды (дождя, почвы и солнца). Следующий уровень занимают травоядные животные, — для выживания они поедают растения. На верхней ступени находятся хищники. В этой модели хищники поедают травоядных животных, чтобы выжить. Мёртвые травоядные и хищники удаляться из модели.
Между особями существует четко выраженный баланс. Что произойдет, если вдруг в результате засухи или по другой причине исчезнут все растения? При этом нарушится баланс выживания травоядных животных в среде, что приведет к сокращению их популяции. Это отразится на всей цепочке и повлияет на популяцию хищников.
Данный баланс может моделироваться и изучаться в сфере искусственной жизни и науки о поведении.
Если какой-либо агент живет в среде определённое время и не получает еды, он сам погибает от голода. Когда агент поглощает достаточное количество пищи, он может размножаться. Таким образом, в среде создаётся новый агент определенного типа. Происходит эволюция, при которой мутирует мозг агента.
Следует отметить, что агенты изначально не знают, как нужно выживать в среде. Они не знают, что поедание пищи позволит им прожить дольше, что нужно избегать тех, кто их ест, что нужно охотиться, агенты должны познать всё это в процессе эволюции.
Чтобы смоделировать пищевую цепочку, необходимо определить некоторые параметры:
Окружающую среду (физическое пространство, в котором взаимодействуют агенты)
Самих агентов (а также их восприятие и поведение в среде)
Группу правил, которые определяют, как и когда происходит действие.
Травоядные животные являются мигрирующими агентами, которые определенным образом воспринимают окружающую среду и едят растения. Другими мигрирующими агентами в среде являются хищники, поедающие травоядных животных. Хищники могут есть только травоядных, а травоядные могут есть только растения. Если какой-либо агент живет в среде определённое время и не получает еды, он сам погибает от голода. Когда агент поглощает достаточное количество пищи, он может размножаться. Таким образом, в среде создается новый агент определенного типа. Происходит эволюция, при которой мутирует мозг агента (нейронная сеть).
1.2 Окружающий мир
Агенты живут в мире, построенным по принципу сетки, грани которой соединены, если агент перемещается за грань в определённом направлении, то проявляется на «противоположной» стороне.
Только растения занимают уникальные ячейки в среде, травоядные и хищники вполне могут занимать одну и ту же ячейку.
1.3 Анатомия агента
Агент является генетической особью, он может быть одновременно только одного типа (травоядным или хищником), но метод изучения окружающей среды и образ действий для всех агентов-животных одинаковы. Агента можно рассматривать как систему с набором входов (его ощущение мира), реакций на окружающий мир (его мозгом) и действий.
Агент состоит из трёх различных частей: сенсоры, ощущения (определение того, какое действие необходимо выбрать) и действия. Хочу обратить внимание на то, что модель агента реагирует только на окружающую среду, агенты не могут планировать, обучение происходит по принципу, называемому эволюцией Ламарка.
Суть принципа: вместо процесса естественного отбора процессом эволюции управляет наследственность.
При воспроизведении характеристики родителю будут передаваться потомку.
1.4 Сенсоры
Агенты могут чувствовать, что происходит вокруг них в среде. Однако агент не видит всей среды, он реагирует только на группу ячеек вокруг него.
Локальная среда, которую может чувствовать агент, разделена на четыре отдельные области. Самая ближняя называется областью близости, и эта та область, в которой агент может действовать (съесть другого агента, например). Область впереди агента называется «фронтом» и занимает 5 ячеек, а области слева и справа называются именуются «лево» и «право».
Фронт | Фронт | Фронт | Фронт | Фронт | ||
Слева | Близость | Близость | Близость | Справа | ||
Слева | Близость | Агент | Близость | Справа | ||
Агент может определить объект в поле видимости, поэтому для четырёх областей предполагаются три числа, которые позволяют определить тип имеющихся в этом поле объектов (растение, травоядное, хищник), то есть всего двенадцать входов.
1.5 Активаторы
Агент может выполнять ограниченное количество действий в среде: перейти на одну ячейку в заданном направлении, повернуть налево/направо или съесть объект, который находится в области близости. Действие, которое производит агент, определяется его мозгом при оценке входов, полученных на уровне сенсоров.
1.6 Энергия и метаболизм
Чтобы выжить в окружающей среде агентам нужна энергия. Если энергия агента становится равной нулю он умирает. Агенты создают энергию, съедая другие объекты в среде. Агент может съесть только тот объект, который допускается пищевой цепочкой. Хищники могут есть только травоядных, каждую единицу времени хищники поглощают, то есть для сохранения жизни травоядным нужно съедать в два раза больше, чем хищникам. Хотя хищникам не требуется так много еды, им её ещё нужно найти, травоядные в этом плане имеют преимущество, так как их пища не передвигается по среде. Тем не менее им всё равно нужно её отыскивать.