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


Deb K., Agrawal S. Understanding Interactions Among Genetic Algorithm Parameters. 1998.


На главную
Генетические алгоритмы
Статьи

Группа исследований эволюционных алгоритмов (ТПУ)
Дискуссионная группа по эволюционным вычислениям

Написать письмо

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

Ключевые слова: Выбор размера популяции, многоэкстремальные функции, обманчивые функции, ГА с кроссовером, ГА с мутациями.

Скачать статью (pdf, rar, 157 kb)

Скачать статью (pdf, 244 kb)


В работе рассматривается взаимодействие трех параметров: размер популяции, вероятность кроссовера и вероятность мутации - и их влияние на работу ГА. Используются запуски с фиксированным количеством вычислений целевой функции.

Экспериментальное исследование взаимодействия параметров ГА:

  • De Jong K. An analysis of the behavior of a class of genetic adaptive systems. - University of Michigan, 1975.
  • Eshelman L.J., Schaffer J.D. Crossover's niche. // Proceedings of the Fifth International Conference on Genetic Algorithms. - 1993 - P.9-14.
  • Schaffer J.D., Caruana R.A., Eshelman L.J., Das R. A study of control parameters affecting online performance of genetic algorithms for function optimization. // Proceedings of the Third International Conference on Genetic Algorithms. - 1989 - P.51-60.
  • Wu A., Lindsay R. K., Riolo R.L. Empirical observation on the roles of crossover and mutation. // Proceedings of the Seventh International Conference on Genetic Algorithms. - 1997. - P.362-369.

    Исследование динамики взаимодействия параметров ГА с использованием цепей Маркова:

  • Chakraborty U., Deb K., Chakraborty M. Analysis of selection algorithms: A Markov chain approach. // Evolutionary Computation. - 1996. - No.4(2) - P.132-167.
  • Nix A.E., Vose M.D. Modelling genetic algorithms with Markov chains. // Annals of Mathematics and Artificial Intelligence. Vol.5. - 1992 - P.79-88.
  • Suzuki J. A Markov chain analysis on a genetic algorithm. // Proceedings of the Fifth International Conference on Genetic Algorithms. - 1993 - P.146-153.
  • Vose M.D. Modeling simple genetic algorithms. // Foundations of genetic algorithms. Vol.2. - 1992 - P.63-74.

    Исследование размера популяции:

  • Goldberg D.E., Deb K., Clark J.H. Genetic algorithms, noise, and the sizing of populations. // Complex Systems. - 1992. - No.6 - P.333-362.
  • Harik G., Cantu-Paz E., Goldberg D.E., Miller B.L. The gambler's ruin problem, genetic algorithms, and the sizing of populations. // Proceedings of the 4th IEEE Conference on Evolutionary Computation. - IEEE Press, 1997. - P.7-12.

    Исследование изменения значений вероятностей операторов:

  • Goldberg D.E., Deb K., Thierens D. Toward a better understanding of mixing in genetic algorithms. // Journal of SICE. - 1992. - No.32(1) - P.10-16.
  • Thierens D., Goldberg D.E. Mixing in genetic algorithms. // Proceedings of the Fourth International Conference on Genetic Algorithms. - 1993 - P.38-45.

    В результате анализа литературы выделены следующие наблюдения:

  • Оптимальная вероятность мутации зависит от использованного варианта кодирования (Tate D.M., Smith E.A. Expected allele coverage and the role of mutation in genetic algorithms. // Proceedings of the Fifth International Conference on Genetic Algorithms. - 1993. - P.31-37). Аналогичные наблюдения сделаны и для оператора кроссовера (Battle D.L., Vose M.D. Isomorphisms of genetic algorithms. // Foundations of Genetic Algorithms. - 1990. - 242-251, Radcliffe N.J. Formal analysis and random respectful recombination. // Proceedings of the Fourth International Conference on Genetic Algorithms. - 1991. - P.222-229, Kargupta H., Deb K., Goldberg D.E. Ordering genetic algorithms and deception. // Parallel Problem Solving from Nature. Vol.2. - 1992 - P.47-56)
  • Эффекты применения кроссовера и мутации взаимозаменяемы, если найти подходящий способ преобразования генетического представления (Culberson J.C. Mutation-crossover isomorphisms and the construction of discriminating functions. // Evolutionary Computation. - 1994. - No.2(3) - P.279-311)
  • Кроссовер полезен там, где необходимо смешивание строительных блоков (Eshelman L.J., Schaffer J.D. Crossover's niche. // Proceedings of the Fifth International Conference on Genetic Algorithms. - 1993 - P.9-14., Goldberg Deb and Clark 1992, Spears W. Crossover or Mutation? // Foundation of Genetic Algorithms. Vol.2. 1993 - P.221-237). Использование мутации способно разрушить имеющиеся хорошие решения, поэтому предложено использовать ГА с высокой вероятностью кроссовера и низкой вероятностью мутации (Goldberg 1989, Schaffer J. D., Caruana R. A., Eshelman L.J., and Das R. A study of control parameters affecting online performance of genetic algorithms for function optimization. // Proceedings of the Third International Conference on Genetic Algorithms. - 1989 - P.51-60)

    Выделены факторы, создающие сложность для ГА (Goldberg D.E. Making genetic algorithms fly: A lesson from the Wright brothers. // Advanced Technology for Developers - 1993. - No.2.; Horn J., Goldberg D.E., Deb K. Long path problems. // Parallel Problem Solving from Nature. Vol.3. 1994. - P.149-158):

  • Многоэкстремальность
  • Обманчивость
  • Изолированность (напр., peak-проблемы)
  • Дополнительный шум

    Тестовые функции:

  • ONEMAX
  • Функция Химмельбло (Himmelblau) с двумя переменными (легкая - Deb K. Optimization for engineering design: Algorithms and examples. - New Delhi:Prentice-Hall, 1995.)
  • Функция Химмельбло (Himmelblau) с четырьмя переменными (сложная - Deb K. Optimization for engineering design: Algorithms and examples. - New Delhi:Prentice-Hall, 1995.)
  • Функция Растригина от 10 переменных
  • 4-битная обманчивая функция (не ugly) с 10 переменными

    Использован ГА с бинарным турнирным отбором, однородным кроссовером и clock-мутацией (Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. - Addison-Wesley, 1989.)

    Вводится коэффициент неиспользованности (Unuse Factor), показывающий, сколько вычислений целевой функции осталось после того, как алгоритм нашел решение.

    По результатам экспериментов сделаны следующие выводы:

  • Для одноэкстремальных задач и простых функций, алгоритмы использующие только мутацию справляются лучше, чем алгоритмы, использующие только кроссовер. Слишком большие и слишком малые размеры популяции использовать нецелесообразно (с учетом ограничений на количество вычислений целевой функции)
  • ГА с кроссовером и мутацией работали на простых функциях лучше, чем варианты ГА только с одним из операторов
  • "Рабочий" размер популяции для ГА с мутацией меньше, чем для ГА с кроссовером. При этом коэффициент неиспользованности в обоих случаях примерно одинаковый.
  • Для сложных функций ГА с мутацией работают плохо, в то время как ГА с кроссовером способны решить эти проблемы.
  • Наблюдается, что чтобы получить хорошие результаты необходимо выбрать правильный размер популяции. Для алгоритмов с кроссовером существуют оценки (Goldberg Deb and Clark 1992), а для алгоритмов с мутацией таких оценок нет. Однако результаты экспериментов показывают, что оптимальный размер популяции для ГА с мутацией существует. Но в любом случае размер популяции будет зависеть от проблемы.
  • Сделан вывод, что ГА с кроссовером с правильно выбранным размером популяции надежнее, чем ГА с мутацией.

    Хорошая, немаленькая такая статья про ГА и параметры. Большую часть из того, что в ней есть я уже расписал выше. Из интерсных моментов дополнительно хочется отметить, что эксперименты проводились при ограничении на количество вычислений целевой функции, что встречается достаточно редко. Это довольно удивительно, т.к. при таком подходе, если взять достаточно сложную проблему и откладывать по оси Х размер популяции, а по оси У -- полученную ошибку/приспособленность, то четко видно, что и слишком малая, и слишком большая популяции -- это зло. Конечно, не ВЕЛИКОЕ ЗЛО, но лишний раз можно убедиться, что лучше всего соблюдать разумный баланс между количеством особей и временем поиска, и тогда будет и неплохой результат, и приемлимые вычислительные затраты.

    Не так давно, бороздя просторы Рунета нашел работу, в которой автор в тексте упоминает данную статью, но делает неверный вывод о ее содержании. Лично у меня по прочтении сразу возникла куча вопросов (к примеру, что такое скорость кроссинговера и мутации? Откуда такие выводы, ведь в самой статье сказано другое? Какой алгоритм придумали Деб с Агравалом, для которого нужна большая популяция?) и среди них вопрос о компетентности автора. Это при том, что в списке источников есть статья этого же автора за 2001г. (!), а разбудившая во мне зверя публикация датируется 2004г. Т.е. как минимум 3 года человек занимается ГА (пусть даже и не "плотно") и такое головотяпство! Это при том, что статье явно не хватает ссылок на источники, и неправильно указана не только фамилия автора стратегии изменения размера подпопуляций (что в общем не так критично), но и, собственно, сам автор. В общем, разбушевался я не на шутку. Не то, чтобы разозлился, но просто обидно, ведь человек вроде бы публикуется, в большей или меньшей степени занимается наукой, и ладно бы если только себе во вред. Но ведь статью будут читать и другие люди, в том числе и начинающие, и у них могут появиться ошибки, а если он еще и руководит студентами, то, возможно, и они будут "грешить" подобным образом. И даже черт с ними, со студентами, большинство из них закончит ВУЗ и, дай Бог, не вспомнят о ГА, а те кто останется дальше, думаю, и сами разберутся. Просто эти недостатки вскрывают, по крайней мере, терминологическое дилетантство. Я допускаю, что такое бывает у начинающих (в работах 2-х летней давности и я бывало ерунду писал, чего уж греха таить, отдельные следы этого явления до сих пор можно найти и на этом сайте), но, трудно представить, что такое можно написать после трех лет работы. Хорошо хоть, что есть ссылки также и на иностранные публикации, а сам автор использует несколько функций для тестирования. Заодно, раз уж я так разошелся, хочется попенять на его научного руководителя и людей, принимавших статью на публикацию.

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

    P.S. Я прекрасно понимаю, что имею мало прав, чтобы вот так, в пух и прах, разносить человека, поэтому не привожу ни названия статьи, ни фамилии автора, ни цитат, ни даже сайт где я эту статью откопал. Но статья действительно существует, это не "показательная казнь" и не мистификация. Просто я действительно хочу, чтобы генетические алгоритмы в России развивались, а такие статьи "тянут команду вниз", как выражаются в одной передаче. Поэтому и продолжаю пополнять этот сайт, несмотря на то, что Diablo II мне все-таки интереснее ;-).

    [1 февраля 2005г.]


  • Made by Qai. Copyright © 2005.
    Hosted by uCoz