Генетические алгоритмы и их применение

Автор работы: Пользователь скрыл имя, 24 Декабря 2012 в 09:47, реферат

Краткое описание

Генетический алгоритм — это алгоритм, который позволяет найти удовлетворительное решение к аналитически неразрешимым или сложно-решаемым проблемам через последовательный подбор и комбинирование искомых параметров с использованием механизмов, напоминающих биологическую эволюцию.
Генетические алгоритмы являются частью более общей группы методов, называемой эволюционными вычислениями, которые объединяют различные варианты использования эволюционных принципов для достижения поставленной цели.

Содержание

1. Введение 2
1.1 Мягкие вычисления 2
1.2 Эволюционные вычисления 2
2. История 3
2.1 Несколько открытий в биологии 3
2.2 Ключевые работы 3
3. Классический ГА 4
3.1 Постановка задачи и функция приспособленности 4
3.2 Принцип работы ГА 5
3.3 Алгоритм работы 5
3.4 Отбор 6
3.5 Скрещивание 7
3.6 Мутация 7
3.7 Критерии останова 7
4. Теория 8
4.1 Шаблоны 8
4.2 Неявный параллелизм 9
4.3 Теорема шаблонов 9
5. Настройка ГА 10
6. Различные модификации ГА 11
6.1 Кодирование 11
6.2 Стратегии отбора 12
6.3 Кроссовер 12
6.4 Стратегии формирования нового поколения 12
7. Некоторые модели ГА 13
7.1 Genitor (Whitley) 13
7.2 CHC (Eshelman) 13
7.3 Hybrid algorithm (Davis) 13
7.4 Island Models 14
8. Факторы, создающие сложность для ГА 15
9. Выводы 16
10. Ссылки 17

Вложенные файлы: 1 файл

генетические_алгоритмы.docx

— 208.50 Кб (Скачать файл)

Исследования  показали, что поиск гиперплоскостей  происходит лучше, а сходимость быстрее, чем у классического ГА.

7.2 CHC (Eshelman)

CHC – это Cross generational elitist selection, Heterogenous recombination, Cataclysmic mutation.

Для нового поколения выбираются N лучших различных особей среди родителей и детей. Дублирование строк не допускается.

Для скрещивания все особи разбиваются  на пары, но скрещиваются только те пары, между которыми расстояние Хэмминга больше некоторого порогового (также  возможны ограничения на минимальное  расстояние между крайними различающимися битами).

При скрещивании используется так называемый HUX-оператор (Half Uniform Crossover), разновидность однородного кроссовера – каждому потомку переходит ровно половина битов каждого родителя.

Размер  популяции небольшой. Этим оправдано  использование однородного кроссовера.

Данный алгоритм довольно быстро сходится из-за того, что в нем нет мутаций. В этом случае CHC применяет cataclysmic mutation: все строки, кроме самой приспособленной, подвергаются сильной мутации (изменяется около трети битов). Таким образом, алгоритм перезапускается и далее продолжает работу, применяя только кроссовер.

7.3 Hybrid algorithm (Davis)

Использование гибридного алгоритма позволяет  объединить преимущества ГА с преимуществами классических методов.

Дело  в том, что ГА являются робастными алгоритмами, т.е. позволяют находить хорошее решение, но нахождение оптимального зачастую оказывается намного более трудной задачей в силу стохастичности принципов работы алгоритма. Поэтому возникла идея использовать ГА на начальном этапе для эффективного сужения пространства поиска вокруг глобального экстремума, а затем, взяв лучшую особь, применить один из "классических" методов оптимизации.

Однако  можно использовать "классические" методы (hill-climbing, например) и внутри самих ГА. На каждом поколении каждый полученный потомок оптимизируется этим методом, таким образом, каждая особь достигает локального максимума, вблизи которого она находится, после чего подвергается отбору, скрещиванию и мутации. Такой метод ухудшает способность алгоритма искать решение с помощью отбора гиперплоскостей, но зато возрастает вероятность того, что одна из особей попадет в область глобального максимума и после оптимизации окажется решением задачи.

7.4 Island Models

Островная модель (island model) — модель параллельного генетического алгоритма. Разобьем популяцию на несколько подпопуляций. Каждая их них будет развиваться отдельно с помощью некого генетического алгоритма. Таким образом, можно сказать, что мы расселили особи по нескольким изолированным островам.

Изредка (например, каждые 5 поколений) происходит миграция – острова обмениваются несколькими хорошими особями.

Так как населённость островов невелика, то подпопуляции будут склонны к преждевременной сходимости. Поэтому важно правильно установить частоту миграции:

  • чересчур частая миграция (или миграция слишком большого числа особей) приведет к смешению всех подпопуляций, и тогда островная модель будет несильно отличаться от обычного ГА
  • если миграция будет слишком редкой, то она не сможет предотвратить преждевременного схождения подпопуляций

Генетические  алгоритмы стохастичны, поэтому  при разных его запусках популяция  может сходиться к разным хорошим  решениям. Островная модель позволяет  запустить алгоритм сразу несколько раз и совместить «достижения» разных островов для получения наилучшего решения.

8. Факторы, создающие сложность для ГА

Свойства  функций приспособленности, создающие  сложность для ГА.

  • Многоэкстремальность: создается множество ложных аттракторов. Пример — функция Растригина:

 

На картинке изображен график функции  Растригина с одним аргументом.

  • Обманчивость (deception): функция построена так, что шаблоны малого порядка уводят популяцию к локальному экстремуму.

Пример: пусть  строка состоит из 10-ти четырехбитных  подстрок. Пусть  равно количеству единиц в i-той подстроке. Зададим функцию g(u) следующей таблицей:

u

0

1

2

3

4

g(u)

3

2

1

0

4


и пусть функция  приспособленности равна сумме g( ) по всем i = 1..10:

  • Изолированность («поиск иголки в стоге сена»): функция не предоставляет никакой информации, подсказывающей, в какой области искать максимум. Лишь случайное попадание особи в глобальный экстремум может решить задачу.

  • Дополнительный шум (noise): значения приспособленности шаблонов сильно разбросаны, поэтому часто даже хорошие гиперплоскости малого порядка не проходят отбор, что замедляет поиск решения.

9. Выводы

 

  • Генетические алгоритмы  являются универсальным методом  оптимизации многопараметрических функций, что позволяет решать широкий  спектр задач.
  • Генетические алгоритмы имеют множество модификаций и сильно зависят от параметров. Зачастую небольшое изменение одного из них может привести к неожиданному улучшению результата.
  • Следует помнить, что применение ГА полезно лишь в тех случаях, когда для данной задачи нет подходящего специального алгоритма решения.

 

10. Ссылки

 

  1. Авторский сайт Ю. Цоя (http://www.qai.narod.ru/).
  2. Исаев С.А. Популярно о генетических алгоритмах (http://algolist.manual.ru/ai/ga/ga1.php).
  3. http://www.gotai.net/ - сайт по ИИ.
  4. http://neuronet.alo.ru/
  5. http://www.neuroproject.ru/ – сайт компании, которая занимается разработкой программного обеспечения с использованием генетических алгоритмов и нейронных сетей.
  6. Вороновский Г.К., Махотило К.В., Петрашев С.Н., Сергеев С.А., Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности, Харьков, ОСНОВА, 1997. – 112с.
  7. Holland J. H. Adaptation in natural and artificial systems. An introductory analysis with application to biology, control, and artificial intelligence.— London: Bradford book edition, 1994 —211 p.
  8. De Jong K.A. An analysis of the behavior of a class of genetic adaptive systems. Unpublished PhD thesis. University of Michigan, Ann Arbor, 1975. (Also University Microfilms No. 76-9381).
  9. De Jong K.A., Spears W.M. An Analysis of the Interacting Roles of Population Size and Crossover // Proceedings of the International Workshop «Parallel Problems Solving from Nature» (PPSN’90), 1990.
  10. De Jong K.A., Spears W.M. A formal analysis of the role of multi-point crossover in genetic algorithms. // Annals of Mathematics and Artificial Intelligence, no. 5(1), 1992.
  11. Darrel Whitley "A Genetic Algorithm Tutorial", 1993.
  12. Darrel Whitley, A Genetic Algorithm Tutorial, Statistics and Computing (4), 1994.
  13. Darrel Whitley, An Overview of Evolutionary Algorithms: Practical Issues and Common Pitfalls, Journal of Information and Software Technology, 2001.
  14. Mitchell M. An Introduction to Genetic Algorithms. Cambridge, MA: The MIT Press, 1996.
  15. K. Deb, S. Agrawal, Understanding Interactions Among Genetic Algorithm Parameters, 1998.
  16. Robin Biesbroek "Genetic Algorithm Tutorial. 4.1 Mathematical foundations", 1999.
  17. Soraya Rana "Examining the Role of Local Optima and Schema Processing in Genetic Search", 1999.
  18. David E. Goldberg, Kumara Sastry "A Practical Schema Theorem for Genetic Algorithm Design and Tuning", 2001.
  19. Koza, John R. Genetic programming: on the programming of computers by means of natural selection, A Bradford book, The MIT Press, London, 1992.



Информация о работе Генетические алгоритмы и их применение