
Курсовая работа
"Моделирование механизмов роевого
интеллекта в Net Logo".
Тема: "Модель возникновения и распространения
лесных пожаров".
Выполнил студент группы
3-САУ-238: Солодкий В.В.
Руководитель:
Филимонов А.Б.
МАТИ 2014
Оглавление:
Часть 1. Введение.
История.
Общие принципы.
Роевой интеллект.
Примеры нескольких алгоритмов.
Часть 2. Муравьиный алгоритм.
Часть 3. Модель возникновения и распространения лесного пожара.
Исходный код.
Список используемых ресурсов.
Часть 1. Введение.
Эволюционное моделирование (англ. Evolutionary computation) использует признаки теории Дарвина для построения интеллектуальных систем (методы группового учёта, генетические алгоритмы). Является частью более обширной области искусственного интеллекта — вычислительного интеллекта.
Эволюционное моделирование это уже достаточно сложившаяся область, в которой можно выделить:
1). Модели возникновения молекулярно-генетических информационных систем;
2). Моделирование общих закономерностей эволюции (Эволюционные алгоритмы). Это системы, которые используют только эволюционные принципы. Они успешно использовались для задач типа функциональной оптимизации и могут легко быть описаны на математическом языке. К ним относятся эволюционные алгоритмы, такие как Эволюционное программирование, Генетические алгоритмы, Эволюционные стратегии, Генетическое программирование;
3). Эволюционные модели. Это системы, которые являются биологически более реалистичными, чем эволюционные алгоритмы, но которые не оказались полезными в прикладном смысле. Они больше похожи на биологические системы и менее направлены на решение технических задач. Они обладают сложным и интересным поведением, и, видимо, вскоре получат практическое применение. К этим системам относят так называемую искусственную жизнь.
4). Прикладное эволюционное моделирование.
История.
Использование принципов дарвинизма для автоматизированного решения проблем началось в 1950-х. К 1960-му году три различные интерпретации этой идеи разрабатывались в трех разных местах. Эволюционное программирование было введено Лоуренсом Дж. Фогелем в США, в то время как Джон Генри Холланд назвал свой метод генетическим алгоритмом. В Германии Инго Rechenberg и Ханс-Пол Schwefel представили подход эволюционной стратегии. Эти области разрабатывались отдельно в течение примерно 15 лет. С начала девяностых годов они были унифицированы как "диалекты" одной технологии, называемой эволюционные вычисления. Кроме того, в начале девяностых годов появился четвертый поток – генетическое программирование. С 1990-х эволюционные вычисления во многом стали связаны с идеейроевого интеллекта и вдохновленные природой алгоритмы становятся все более значительной частью этого направления.
Таким образом, термины «эволюционное программирование», «эволюционные стратегии», «генетические алгоритмы» и «генетическое программирование» рассматриваются как частные случаи общего термина «эволюционные вычисления» или «эволюционное моделирование».
Моделирование эволюции с использованием идей эволюционных алгоритмов и искусственной жизни началось с работы Нильса Aall Barricelli в 1960-х, и было продлено Алексом Фрейзером, который опубликовал ряд работ по моделированию искусственного отбора. Эволюционные алгоритмы стали общепризнанным методом оптимизации в результате работ Инго Rechenberg в 1960-х и начале 1970-х, который использовал их для решения сложных инженерных задач. Генетические алгоритмы стали особенно популярны благодаря работам Джона Холланда. Вместе с ростом академического интереса, резкое увеличение мощности компьютеров позволило практические применения, в том числе автоматическую эволюцию компьютерных программ. Эволюционные алгоритмы в настоящее время используются для решения многомерных задач более эффективно, чем программное обеспечение, разрабатываемое человеком.
Общие принципы.
На рисунке изображена схема работы одной из разновидностей эволюционных вычислений - генетического алгоритма (ГА), но по ней можно понять общую идею подхода.
Под начальной популяцией понимается некоторое количество получаемых, обычно, случайным путем, объектов. В ГА такими объектами выступают вектора («генотипы») генов, где каждый ген может быть битом, числом или неким другим объектом. Эволюционная стратегия (ЭС) оперирует векторами действительных чисел. В генетическом (ГП) и эволюционном (ЭП) программировании роль объектов играют программы, всё лучше и лучше (в соответствии с определенной функцией приспособленности) решающие поставленную вычислительную задачу.
Мутации и скрещивания:
Мутация - это случайное изменение "генотипа". В ГА и ЭС оператор мутации может быть реализован простым добавлением нормально распределенной случайной величины к каждой компоненте вектора. В ГП и ЭП эта операция сильно зависит от способа кодирования выращиваемых программ. Например, при древовидном кодировании (см. рисунок) она может быть осуществлена случайным изменением информации в узле или добавлением, удалением узла или целого поддерева.
Оператор «скрещивания» производит рекомбинацию решений-кандидатов, роль которой аналогична роли скрещивания в живой природе. Размножение в эволюционных вычислениях обычно половое — чтобы произвести потомка, нужны несколько родителей, обычно два. Размножение в разных алгоритмах определяется по-разному — оно, конечно, зависит от представления данных. Главное требование к размножению — чтобы потомок или потомки имели возможность унаследовать черты обоих родителей, «смешав» их каким-либо способом.
Отбор (селекция)
На этапе отбора нужно из всей популяции выбрать определённую её долю, которая останется «в живых» на этом этапе эволюции. Есть разные способы проводить отбор. Вероятность выживания особи h должна зависеть от значения так называемой функции приспособленности Fitness(h). Эта функция должна быть задана так, чтобы по ее значению на данном генотипе (векторе генов, результатам работы выращиваемой программы) можно было судить о степени успешности данного генотипа. Сама доля выживших s обычно является параметром генетического алгоритма, и её просто задают заранее. По итогам отбора из N особей популяции H должны остаться sN особей, которые войдут в итоговую популяцию H'. Остальные особи погибают.
Роевой интеллект.
Роевой интеллект (РИ) (англ. Swarm intelligence) описывает коллективное поведение децентрализованной самоорганизующейся системы. Рассматривается в теории искусственного интеллекта как метод оптимизации. Термин был введен Херардо Бени и Ван Цзином в 1989 году, в контексте системы клеточных роботов.
Системы роевого интеллекта, как правило, состоят из множества агентов (боидов) локально взаимодействующих между собой и с окружающей средой. Идеи поведения, как правило, исходят от природы, а в особенности, от биологических систем. Каждый боид следует очень простым правилам и, несмотря на то, что нет какой-то централизованной системы управления поведения, которая бы указывала каждому из них на то, что ему следует делать, локальные и, в некоторой степени, случайные взаимодействия приводят к возникновению интеллектуального глобального поведения, неконтролируемого отдельными боидами. Точное определение роевого интеллекта всё еще не сформулировано. В целом, РИ должен представлять собой многоагентную систему, которая была бы обладала самоорганизующимся поведением, которое, суммарно, должно проявлять некоторое разумное поведение.
Применение роевых принципов в робототехнике называют групповой робототехникой, в то время как понятие «роевой интеллект» относится к более общему набору алгоритмов. «Роевое прогнозирование» применяется в решении некоторых задач прогнозирования.
Примеры нескольких алгоритмов:
Метод роя частиц
Метод роя частиц, МРЧ (англ. Particle Swarm Optimization, PSO) — метод численного оптимизации, для использования которого не нужно знать точного градиента оптимизированной функции. МРЧ был доведен Кеннеди, Эберхарта и Шии, изначально предназначался для имитации социального поведения . Алгоритм был упрощен, и было отмечено, что он пригоден для выполнения оптимизации. Книга Кеннеди и Эберхарта описывает много философских аспектов МРЧ и так называемого роевого интеллекта. Большое исследование приложений МРЧ сделано Поле. МРЧ оптимизирует функцию, поддерживая популяцию возможных решений, называемых частицами, и перемещая эти частицы в пространстве решений согласно простой формуле. Перемещение подчиняются принципу наилучшего найденного в этом пространстве положение, постоянно изменяется при нахождении частицами выгодных положений.
Алгоритм капель воды
Алгоритм интеллектуальных капель воды (англ. IWD) — алгоритм роя на основе алгоритма оптимизации, который использует методы естественных рек и как они находят почти оптимальные пути к месту назначения. Он находит оптимальные или близкие к оптимальным пути, вытекающие из реакции, протекающие между каплями воды, когда вода течет руслом реки. В IWD алгоритм, несколько искусственных капель воды, зависят друг от друга способны изменять свое окружение таким образом, что находят оптимальный путь на пути наименьшего сопротивления. Итак, IWD алгоритм это конструктивный популяционно-ориентированный алгоритм оптимизации.
Алгоритм гравитационного поиска
Алгоритм гравитационного поиска (англ. Gravitational Search Algorithm, GSA) — алгоритм поиска, основанный на законе всемирного тяготения и понятиях массового взаимодействия. Алгоритм основывается на гравитационных теориях по физике Ньютона и в качестве поисковых агентов использует гравитационные массы. В последние годы были разработаны различные эвристические методы оптимизации. Многие из этих методов основаны на аналогичных явлениях в природе. Если сравнивать алгоритм гравитационного поиска с другими алгоритмами, то данный метод с одним из самых эффективных в решении различных задач оптимизации нелинейных функций.
Искусственная иммунная система
Искусственная иммунная система (ШИС) — это адаптивная вычислительная система, использующая модели, принципы, механизмы и функции, описанные в теоретической иммунологии, которые применяются для решения прикладных задач. Несмотря на то, что природные иммунные системы изучены далеко не полностью, на сегодня существуют по меньшей мере три теории, объясняющие функционирование иммунной системы и описывают взаимодействие ее элементов, а именно: теория отрицательного отбора, теория клональной селекции и теория иммунной сети . Они легли в основу создания трех алгоритмов функционирования ШИС.