Эволюционное моделирование — Википедия
Эволюционное моделирование (англ. Evolutionary computation) использует признаки теории Дарвина для построения интеллектуальных систем (методы группового учёта, генетические алгоритмы). Является частью более обширной области искусственного интеллекта — вычислительного интеллекта.
Эволюционное моделирование это уже достаточно сложившаяся область, в которой можно выделить:
- модели возникновения молекулярно-генетических информационных систем;
- моделирование общих закономерностей эволюции (Эволюционные алгоритмы). Это системы, которые используют только эволюционные принципы. Они успешно использовались для задач типа функциональной оптимизации и могут легко быть описаны на математическом языке. К ним относятся эволюционные алгоритмы, такие как Эволюционное программирование, Генетические алгоритмы, Эволюционные стратегии, Генетическое программирование;
- эволюционные модели. Это системы, которые являются биологически более реалистичными, чем эволюционные алгоритмы, но которые не оказались полезными в прикладном смысле. Они больше похожи на биологические системы и менее направлены на решение технических задач. Они обладают сложным и интересным поведением, и, видимо, вскоре получат практическое применение. К этим системам относят так называемую искусственную жизнь.
- прикладное эволюционное моделирование.
История
[править | править код]Использование принципов дарвинизма для автоматизированного решения проблем началось в 1950-х. К 1960-му году три различные интерпретации этой идеи разрабатывались в трех разных местах. Эволюционное программирование было введено Лоуренсом Дж. Фогелем в США, в то время как Джон Генри Холланд назвал свой метод генетическим алгоритмом. В Германии Инго Rechenberg и Ханс-Пол Schwefel представили подход эволюционной стратегии. Эти области разрабатывались отдельно в течение примерно 15 лет. С начала девяностых годов они были унифицированы как «диалекты» одной технологии, называемой эволюционные вычисления. Кроме того, в начале девяностых годов появился четвертый поток — генетическое программирование. С 1990-х эволюционные вычисления во многом стали связаны с идеей роевого интеллекта и вдохновленные природой алгоритмы становятся все более значительной частью этого направления.
Таким образом, термины «эволюционное программирование», «эволюционные стратегии», «генетические алгоритмы» и «генетическое программирование» рассматриваются как частные случаи общего термина «эволюционные вычисления» или «эволюционное моделирование».
Моделирование эволюции с использованием идей эволюционных алгоритмов и искусственной жизни началось с работы Нильса Aall Barricelli в 1960-х, и было продлено Алексом Фрейзером, который опубликовал ряд работ по моделированию искусственного отбора.[1] Эволюционные алгоритмы стали общепризнанным методом оптимизации в результате работ Инго Rechenberg в 1960-х и начале 1970-х, который использовал их для решения сложных инженерных задач.[2] Генетические алгоритмы стали особенно популярны благодаря работам Джона Холланда.[3] Вместе с ростом академического интереса, резкое увеличение мощности компьютеров позволило практические применения, в том числе автоматическую эволюцию компьютерных программ.[4] Эволюционные алгоритмы в настоящее время используются для решения многомерных задач более эффективно, чем программное обеспечение, разрабатываемое человеком.[5]
Общая идея
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Schema_simple_algorithme_genetique_ru.png/239px-Schema_simple_algorithme_genetique_ru.png)
На рисунке изображена схема работы одной из разновидностей эволюционных вычислений — генетического алгоритма (ГА), но по ней можно понять общую идею подхода.
Под начальной популяцией понимается некоторое количество получаемых, обычно, случайным путём, объектов. В ГА такими объектами выступают вектора («генотипы») генов, где каждый ген может быть битом, числом или неким другим объектом. Эволюционная стратегия (ЭС) оперирует векторами действительных чисел. В генетическом (ГП) и эволюционном (ЭП) программировании роль объектов играют программы, всё лучше и лучше (в соответствии с определенной функцией приспособленности) решающие поставленную вычислительную задачу.
Мутации и скрещивания
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Genetic_Program_Tree.png/220px-Genetic_Program_Tree.png)
Мутация — это случайное изменение «генотипа». В ГА и ЭС оператор мутации может быть реализован простым добавлением нормально распределенной случайной величины к каждой компоненте вектора. В ГП и ЭП эта операция сильно зависит от способа кодирования выращиваемых программ. Например, при древовидном кодировании (см. рисунок) она может быть осуществлена случайным изменением информации в узле или добавлением, удалением узла или целого поддерева.
Оператор «скрещивания» производит рекомбинацию решений-кандидатов, роль которой аналогична роли скрещивания в живой природе. Размножение в эволюционных вычислениях обычно половое — чтобы произвести потомка, нужны несколько родителей, обычно два. Размножение в разных алгоритмах определяется по-разному — оно, конечно, зависит от представления данных. Главное требование к размножению — чтобы потомок или потомки имели возможность унаследовать черты обоих родителей, «смешав» их каким-либо способом.
Отбор (селекция)
[править | править код]На этапе отбора нужно из всей популяции выбрать определённую её долю, которая останется «в живых» на этом этапе эволюции. Есть разные способы проводить отбор. Вероятность выживания особи h должна зависеть от значения так называемой функции приспособленности Fitness(h). Эта функция должна быть задана так, чтобы по её значению на данном генотипе (векторе генов, результатам работы выращиваемой программы) можно было судить о степени успешности данного генотипа. Сама доля выживших s обычно является параметром генетического алгоритма, и её просто задают заранее. По итогам отбора из N особей популяции H должны остаться sN особей, которые войдут в итоговую популяцию H'. Остальные особи погибают.
Модели возникновения молекулярно-генетических информационных систем
[править | править код]В начале 70-х годов лауреат Нобелевской премии М.Эйген совершил впечатляющую попытку построения моделей возникновения в ранней биосфере Земли молекулярно генетических систем обработки информации[6]. Наиболее известная из них — модель «квазивидов», описывающая простую эволюцию полинуклеотидных (информационных) последовательностей. Вслед за Эйгеном в 1980 г. новосибирскими учеными В.Ратнером и В.Шаминым была предложена модель «сайзеров»[7].
В модели квазивидов рассматривается поэтапная эволюция популяции информационных последовательностей (векторов), компоненты которых приобретают небольшое число дискретных значений. Приспособленность «особей» в моделях задается как функции векторов. На каждом этапе происходит отбор особей в популяции следующего поколения с вероятностями, пропорциональными их приспособленности, а также мутации особей — случайные равновероятные замены компонентов векторов.
Модель сайзера в простейшем случае рассматривает систему из трех типов макромолекул: полинуклеотидной матрицы и ферментов трансляции и репликации, кодированных этой матрицей. Полинуклеотидная матрица — это как бы запоминающее устройство, в котором хранится информация о функциональных единицах сайзера — ферментах. Фермент трансляции обеспечивает «изготовление» произвольного фермента по записанной в матрице информации. Фермент репликации обеспечивает копирование полинуклеотидной матрицы. Сайзеры достаточны для самовоспроизведения. Включая в схему сайзера дополнительные ферменты, кодируемые полинуклеотидной матрицей, можно обеспечить сайзер любыми свойствами, например свойством регулирования синтеза определенных ферментов и адаптации к изменениям внешней среды.[8]
Применение в задачах функциональной оптимизации
[править | править код]Эволюционные вычисления (ЭВ) часто используются для организации стохастического поиска, особенно в случае многомодальных задач, когда детерминированные методы оптимизации или более простые стохастические методы не позволяют исследовать поведение целевой функции вне областей локальных оптимумов. Методы ЭВ не гарантируют обнаружения глобального оптимума за полиномиальное время. Практический интерес к ним объясняется тем, что эти методы, как показывает практика, позволяют найти более хорошие (или «достаточно хорошие») решения очень трудных задач поиска за меньшее время, чем другие, обычно применяемые в этих случаях, методы. Типичное ограничение на их применение заключается в необходимости (для построения хорошего решения) многократного вычисления целевой функции (под словом «многократно» обычно подразумеваются числа от сотен до миллионов). Тем не менее, методы ЭВ оказались достаточно эффективными для решения ряда реальных задач инженерного проектирования, планирования, маршрутизации и размещения, управления портфелями ценных бумаг, поиска оптимальных энергетических состояний химических и молекулярных структур, а также во многих других областях, допускающих подходящий набор представлений, операторов, объемов и структур популяций и т. д.
Эволюционное моделирование как исследовательский метод в информатике
[править | править код]Поскольку эволюция, по-видимому, и представляет собой основу механизма обработки информации в естественных системах, исследователи стремятся построить теоретические и компьютерные модели, реально объясняющие принципы работы этого механизма (см. «Естественная информатика»). Для исследований этого направления характерно понимание, что модели должны содержать не только рождение и смерть популяций, но и что-то между ними. Чаще всего привлекаются следующие концепции.
Роевой интеллект (англ. Swarm intelligence) описывает коллективное поведение децентрализованной самоорганизующейся системы. Рассматривается в теории искусственного интеллекта как метод оптимизации. Термин был введен Херардо Бени и Ван Цзином в 1989 году, в контексте системы клеточных роботов[9]. Системы роевого интеллекта, как правило, состоят из множества агентов (Многоагентная система) локально взаимодействующих между собой и с окружающей средой. Сами агенты обычно довольно просты, но все вместе, локально взаимодействуя, создают так называемый роевой интеллект. Примером в природе может служить колония муравьёв, рой пчёл, стая птиц, рыб…
Коллективный интеллект — термин, который появился в середине 1980-х годов в социологии при изучении процесса коллективного принятия решений. Исследователи из NJIT определили коллективный интеллект как способность группы находить решения задач более эффективные, чем лучшее индивидуальное решение в этой группе.
Социологическое направление — поскольку человеческое общество представляет собой реальный, к тому же хорошо поддающийся наблюдению и задокументировнный (в отличие от человеческого мозга), инструмент обработки информации, социологические метафоры и реминисценции присутствуют в работах по кибернетике и смежным направлениям с самого их возникновения. Если роевой интеллект ориентирован на получение сложного поведения в системе из простых элементов, этот подход, наоборот, исследует построение простых и специальных объектов на базе сложных и универсальных: «государство глупее, чем большинство его членов»[10]. Для этого направления характерно стремление дать социологическим понятиям определения из области информатики. Так в[11] элита определяется как носитель определенной частной модели реального мира, а базис (то есть народ) играет роль арбитра между элитами. Эволюционный процесс заключается в порождении и гибели элит. Базис не в состоянии разобраться в сути идей и моделей, представляемых элитами, и не ставит перед собой такой задачи. Однако, именно в силу своей невовлеченности сохраняет способность к ясной эмоциональной оценке, позволяющей ему легко отличать харизматические элиты от загнивающих, пытающихся сохранить свои привилегии, понимая, что их идея или модель не подтвердилась.
Основные конференции
[править | править код]- International Conference on Evolutionary Computation Theory and Applications (ECTA, 20-22.09.2013 Vilamoura, Portugal)[12]
- IEEE Congress on Evolutionary Computation (CEC)
- Genetic and Evolutionary Computation Conference (GECCO)[13]
- International Conference on Parallel Problem Solving From Nature (PPSN)[14]
Примечания
[править | править код]- ↑ Fraser A.S. Monte Carlo analyses of genetic models (англ.) // Nature. — 1958. — Vol. 181, no. 4603. — P. 208—209. — doi:10.1038/181208a0. — PMID 13504138.
- ↑ Rechenberg, Ingo. Evolutionsstrategie – Optimierung technischer Systeme nach Prinzipien der biologischen Evolution (PhD thesis) (нем.). — Fromman-Holzboog, 1973.
- ↑ Holland, John H. Adaptation in Natural and Artificial Systems (англ.). — University of Michigan Press, 1975. — ISBN 0-262-58111-6.
- ↑ Koza, John R. Genetic Programming (неопр.). — MIT Press, 1992. — ISBN 0-262-11170-5.
- ↑ Jamshidi M. Tools for intelligent control: fuzzy controllers, neural networks and genetic algorithms (англ.) // Philosophical transactions. Series A, Mathematical, physical, and engineering sciences[англ.] : journal. — 2003. — Vol. 361, no. 1809. — P. 1781—1808. — doi:10.1098/rsta.2003.1225. — PMID 12952685.
- ↑ Эйген М., Шустер П. Гиперцикл. Принципы организации макромолекул / Пер. с англ. под ред. М. В. Волькенштейна и Д. С. Чернавского. — М.: Мир, 1982. — 270 с.
- ↑ Ратнер В. А., Шамин В. Сайзеры: моделирование фундаментальных особенностей молекулярно-биологической организации. Соответствие общих свойств и конструктивных особенностей коллективов макромолекул // Журн. общ. биологии. — 1983. — Т.44. №. 1. — c.51-61.
- ↑ Аруцев А. А., Ермолаев Б. В., Кутателадзе И. О., Слуцкий М. С. Концепции современного естествознания. Учебное пособие. — М., 2007.
- ↑ Beni, G., Wang, J. Swarm Intelligence in Cellular Robotic Systems, Proceed. NATO Advanced Workshop on Robots and Biological Systems, Tuscany, Italy, June 26-30 (1989)
- ↑ Винер Н. Кибернетика, или Управление и связь в животном и машине. / Пер. с англ. И. В. Соловьева и Г. Н. Поварова; Под ред. Г. Н. Поварова. — 2-е издание. — М.: Наука; Главная редакция изданий для зарубежных стран, 1983. — 344 с.
- ↑ Игорь Вайсбанд. 5000 лет информатики. М.- «Черная белка», 2010
- ↑ International Conference on Evolutionary Computation Theory and Applications . ECTA. Дата обращения: 29 апреля 2013. Архивировано из оригинала 10 мая 2013 года.
- ↑ Special Interest Group on Genetic and Evolutionary Computation . SIGEVO. Дата обращения: 29 апреля 2013. Архивировано из оригинала 15 июля 2012 года.
- ↑ Parallel Problem Solving from Nature . Дата обращения: 6 марта 2012. Архивировано из оригинала 4 мая 2012 года.
Литература
[править | править код]- Емельянов В. В., Курейчик В. В., Курейчик В. М. Теория и практика эволюционного моделирования. — М.: Физматлит, 2003. — 432 с. — ISBN 5-9221-0337-7.
- Курейчик В. М., Лебедев Б. К., Лебедев О. К. Поисковая адаптация: теория и практика. — М.: Физматлит, 2006. — 272 с. — ISBN 5-9221-0749-6.
- Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы: Учебное пособие. — 2-е изд.. — М.: Физматлит, 2006. — 320 с. — ISBN 5-9221-0510-8.
- Гладков Л. А., Курейчик В. В, Курейчик В. М. и др. Биоинспирированные методы в оптимизации: монография. — М.: Физматлит, 2009. — 384 с. — ISBN 978-5-9221-1101-0.
- Рутковский Л. Методы и технологии искусственного интеллекта. — М.: Горячая линия-Телеком, 2010. — 520 с. — ISBN 5-9912-0105-6.
- Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы = Sieci neuronowe, algorytmy genetyczne i systemy rozmyte. — 2-е изд.. — М.: Горячая линия-Телеком, 2008. — 452 с. — ISBN 5-93517-103-1.