Википедия

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

Генети́ческий алгори́тм (англ. genetic algorithm) — эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, аналогичных естественному отбору в природе. Является разновидностью эволюционных вычислений, с помощью которых решаются оптимизационные задачи с использованием методов естественной эволюции, таких как наследование, мутации, отбор и кроссинговер. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.

История

Первые работы по имитационному моделированию эволюции были проведены в 1954 году Нильсом Баричелли на компьютере, установленном в Институте перспективных исследований Принстонского университета, опубликованная в том же году работа привлекла широкое внимание. С 1957 года австралийский генетик [англ.] опубликовал серию работ по имитационному моделированию искусственного отбора среди организмов с множественным контролем измеримых характеристик. Положенное начало позволило реализовать имитационные модели эволюционных процессов по методам, описанным в книгах Фразера и Барнелла (1970) и Кросби (1973). Имитационные модели Фразера включали все важнейшие элементы современных генетических алгоритмов. Вдобавок к этому, [англ.] в 1960-х годах опубликовал серию работ, которые также принимали подход использования популяции решений, подвергаемой рекомбинации, мутации и отбору, в проблемах оптимизации. Исследования Бремермана также включали элементы современных генетических алгоритмов. Среди прочих ранних исследователей — [англ.], Джордж Фридман и [англ.]. Множество ранних работ были переизданы Давидом Фогелем (1998).

Хотя [англ.] в работе 1963 года имитировал способности машины играть в простую игру, стала общепризнанным методом оптимизации после работы [англ.] и [англ.] в 1960-х и начале 1970-х годов двадцатого века — группа Рехенберга смогла решить сложные инженерные проблемы согласно стратегиям эволюции. Другим подходом была техника эволюционного программирования [англ.], которая была предложена для создания искусственного интеллекта. Эволюционное программирование первоначально использовало конечные автоматы для предсказания обстоятельств и разнообразие и отбор для оптимизации логики предсказания. Генетические алгоритмы стали особенно популярны благодаря работе Джона Холланда в начале 70-х годов и его книге «Адаптация в естественных и искусственных системах» (1975). Исследование Фогеля основывалось на экспериментах Холланда с клеточными автоматами и его (Холланда) трудах, написанных в университете Мичигана. Холланд ввел формализованный подход для предсказывания качества следующего поколения, известный как Теорема схем. Исследования в области генетических алгоритмов оставались в основном теоретическими до середины 80-х годов, когда была, наконец, проведена Первая международная конференция по генетическим алгоритмам в Питтсбурге, Пенсильвания (США).

С ростом исследовательского интереса существенно выросла и вычислительная мощь настольных компьютеров, это позволило использовать новую вычислительную технику на практике. В конце 80-х, компания General Electric начала продажу первого в мире продукта, работавшего с использованием генетического алгоритма. Им стал набор промышленных вычислительных средств. В 1989, другая компания Axcelis, Inc. выпустила  — первый в мире коммерческий продукт на генетическом алгоритме для настольных компьютеров. Журналист The New York Times в технологической сфере писал об Evolver в 1990 году.

Описание алгоритма

image
Схема работы генетического алгоритма

Задача формализуется таким образом, чтобы её решение могло быть закодировано в виде векторагенотипа») генов, где каждый ген может быть битом, числом или неким другим объектом. В классических реализациях генетического алгоритма (ГА) предполагается, что генотип имеет фиксированную длину. Однако существуют вариации ГА, свободные от этого ограничения.

Некоторым, обычно случайным, образом создаётся множество генотипов начальной популяции. Они оцениваются с использованием «функции приспособленности», в результате чего с каждым генотипом ассоциируется определённое значение («приспособленность»), которое определяет насколько хорошо фенотип, им описываемый, решает поставленную задачу.

При выборе «функции приспособленности» (или fitness function в англоязычной литературе) важно следить, чтобы её «рельеф» был «гладким».

Из полученного множества решений («поколения») с учётом значения «приспособленности» выбираются решения (обычно лучшие особи имеют большую вероятность быть выбранными), к которым применяются «генетические операторы» (в большинстве случаев «скрещивание» — crossover и «мутация» — mutation), результатом чего является получение новых решений. Для них также вычисляется значение приспособленности, и затем производится отбор («селекция») лучших решений в следующее поколение.

Этот набор действий повторяется итеративно, так моделируется «эволюционный процесс», продолжающийся несколько жизненных циклов (поколений), пока не будет выполнен критерий остановки алгоритма. Таким критерием может быть:

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

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

Таким образом, можно выделить следующие этапы генетического алгоритма:

  1. Задать целевую функцию (приспособленности) для особей популяции
  2. Создать начальную популяцию
  • (Начало цикла)
  1. Размножение (скрещивание)
  2. Мутирование
  3. Вычислить значение целевой функции для всех особей
  4. Формирование нового поколения (селекция)
  5. Если выполняются условия остановки, то (конец цикла), иначе (начало цикла).

Создание начальной популяции

Перед первым шагом нужно случайным образом создать начальную популяцию; даже если она окажется совершенно неконкурентоспособной, вероятно, что генетический алгоритм всё равно достаточно быстро переведёт её в жизнеспособную популяцию. Таким образом, на первом шаге можно особенно не стараться сделать слишком уж приспособленных особей, достаточно, чтобы они соответствовали формату особей популяции, и на них можно было подсчитать функцию приспособленности (Fitness). Итогом первого шага является популяция H, состоящая из N особей.

Отбор (селекция)

На этапе отбора нужно из всей популяции выбрать определённую её долю, которая останется «в живых» на этом этапе эволюции. Есть разные способы проводить отбор. Вероятность выживания особи h должна зависеть от значения функции приспособленности Fitness(h). Сама доля выживших s обычно является параметром генетического алгоритма, и её просто задают заранее. По итогам отбора из N особей популяции H должны остаться sN особей, которые войдут в итоговую популяцию H'. Остальные особи погибают.

  • Турнирная селекция — сначала случайно выбирается установленное количество особей (обычно две), а затем из них выбирается особь с лучшим значением функции приспособленности
  • Метод рулетки — вероятность выбора особи тем вероятнее, чем лучше её значение функции приспособленности image, где image — вероятность выбора i особи, image — значение функции приспособленности для i особи, image — количество особей в популяции
  • Метод ранжирования — вероятность выбора зависит от места в списке особей отсортированном по значению функции приспособленности image, где image, image, image — порядковый номер особи в списке особей отсортированном по значению функции приспособленности (то есть image — если мы минимизируем значение функции приспособленности)
  • Равномерное ранжирование — вероятность выбора особи определяется выражением: image, где image параметр метода
  • Сигма-отсечение — для предотвращения преждевременной сходимости генетического алгоритма используются методы, масштабирующие значение целевой функции. Вероятность выбора особи тем больше, чем оптимальнее значение масштабируемой целевой функции image, где image, image — среднее значение целевой функции для всей популяции, σ — среднеквадратичное отклонение значения целевой функции.

Выбор родителей

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

Можно выделить несколько операторов выбора родителей:

  1. Панмиксия — оба родителя выбираются случайно, каждая особь популяции имеет равные шансы быть выбранной
  2. Инбридинг — первый родитель выбирается случайно, а вторым выбирается такой, который наиболее похож на первого родителя
  3. Аутбридинг — первый родитель выбирается случайно, а вторым выбирается такой, который наименее похож на первого родителя

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

Размножение (скрещивание)

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

Почему особи для размножения обычно выбираются из всей популяции H, а не из выживших на первом шаге элементов H' (хотя последний вариант тоже имеет право на существование)? Дело в том, что главный недостаток многих генетических алгоритмов — отсутствие разнообразия (diversity) в особях. Достаточно быстро выделяется один-единственный генотип, который представляет собой локальный максимум, а затем все элементы популяции проигрывают ему отбор, и вся популяция «забивается» копиями этой особи. Есть разные способы борьбы с таким нежелательным эффектом; один из них — выбор для размножения не самых приспособленных, но вообще всех особей. Однако такой подход вынуждает хранить всех существовавших ранее особей, что увеличивает вычислительную сложность задачи. Поэтому часто применяют методы отбора особей для скрещивания таким образом, чтобы «размножались» не только самые приспособленные, но и другие особи, обладающие плохой приспособленностью. При таком подходе для разнообразия генотипа возрастает роль мутаций.

Мутации

К мутациям относится все то же самое, что и к размножению: есть некоторая доля мутантов m, являющаяся параметром генетического алгоритма, и на шаге мутаций нужно выбрать mN особей, а затем изменить их в соответствии с заранее определёнными операциями мутации.

Критика

Существует несколько поводов для критики насчёт использования генетического алгоритма по сравнению с другими методами оптимизации:

  • Повторная оценка функции приспособленности (фитнесс-функции) для сложных проблем часто является фактором, ограничивающим использование алгоритмов искусственной эволюции. Поиск оптимального решения для сложной задачи высокой размерности зачастую требует очень затратной оценки функции приспособленности. В реальных задачах, таких как задачи структурной оптимизации, единственный запуск функциональной оценки требует от нескольких часов до нескольких дней для произведения необходимых вычислений. Стандартные методы оптимизации не могут справиться с проблемами такого рода. В таком случае, может быть необходимо пренебречь точной оценкой и использовать , которая способна быть вычислена эффективно. Очевидно, что применение аппроксимации пригодности может стать одним из наиболее многообещающих подходов, позволяющих обоснованно решать сложные задачи реальной жизни с помощью генетических алгоритмов.
  • Генетические алгоритмы плохо масштабируемы под сложность решаемой проблемы. Это значит, что число подверженных мутации элементов будет очень велико, если велик размер области поиска решений. Это делает использование данной вычислительной техники чрезвычайно сложным при решении таких проблем, как, например, проектирование двигателя, дома или самолёта. Для того чтобы сделать так, чтобы такие проблемы поддавались эволюционным алгоритмам, они должны быть разделены на простейшие представления данных проблем. Таким образом, эволюционные вычисления используются, например, при разработке формы лопастей, вместо всего двигателя, формы здания, вместо подробного строительного проекта и формы фюзеляжа, вместо разработки вида всего самолёта. Вторая проблема, связанная со сложностью, кроется в вопросе защиты частей, эволюционировавших в высокопригодные решения, от дальнейшей разрушительной мутации: в частности когда от них требуется хорошая совместимость с другими частями для оценки пригодности. Некоторыми разработчиками было предложено, что подход, предполагающий развитие пригодности эволюционирующих решений, смог бы преодолеть ряд проблем с защитой, но данный вопрос всё ещё остаётся открытым для исследования.
  • Решение является более пригодным лишь по сравнению с другими решениями. В результате условие остановки алгоритма неясно для каждой проблемы.
  • Во многих задачах генетические алгоритмы имеют тенденцию сходиться к локальному оптимуму или даже к произвольной точке, а не к глобальному оптимуму для данной задачи. Это значит, что они «не знают», каким образом пожертвовать кратковременной высокой пригодностью для достижения долгосрочной пригодности. Вероятность этого зависит от формы : отдельные проблемы могут иметь выраженное направление к глобальному минимуму, в то время как остальные могут указывать направление для фитнесс-функции на локальный оптимум. Эту проблему можно решить использованием иной фитнесс-функции, увеличением вероятности мутаций, или использованием методов отбора, которые поддерживают разнообразие решений в популяции, хотя доказывает, что не существует общего решения данной проблемы. Общепринятым методом поддержания популяционного разнообразия является установка уровневого ограничения на численность элементов с высоким сродством, которое снизит число представителей сходных решений в последующих поколениях, позволяя другим, менее сходным элементам оставаться в популяции. Данный приём, тем не менее, может не увенчаться успехом в зависимости от ландшафта конкретной проблемы. Другим возможным методом может служить простое замещение части популяции случайно сгенерированными элементами в момент, когда элементы популяции становятся слишком сходны между собой. Разнообразие важно для генетических алгоритмов (и генетического программирования), потому что перекрёст генов в гомогенной популяции не несёт новых решений. В эволюционных алгоритмах и эволюционном программировании разнообразие не является необходимостью, так как большая роль в них отведена мутации.

Имеется много скептиков относительно целесообразности применения генетических алгоритмов. Например, Стивен С. Скиена, профессор кафедры вычислительной техники университета Стоуни—Брук, известный исследователь алгоритмов, лауреат премии института IEEE, пишет:

Я лично никогда не сталкивался ни с одной задачей, для решения которой генетические алгоритмы оказались бы самым подходящим средством. Более того, я никогда не встречал никаких результатов вычислений, полученных посредством генетических алгоритмов, которые производили бы на меня положительное впечатление.

Применение генетических алгоритмов

Генетические алгоритмы применяются для решения следующих задач:

  1. Оптимизация функций
  2. Оптимизация запросов в базах данных
  3. Разнообразные задачи на графах (задача коммивояжера, раскраска, нахождение паросочетаний)
  4. Настройка и обучение искусственной нейронной сети
  5. Задачи компоновки
  6. Составление расписаний
  7. Игровые стратегии
  8. Теория приближений
  9. Искусственная жизнь
  10. Биоинформатика (фолдинг белков)
  11. Синтез конечных автоматов
  12. Настройка ПИД регуляторов
  13. Черный ящик
  14. Обработка сигналов

Пример простой реализации на C++

Поиск в одномерном пространстве, без скрещивания.

#include <cstdlib> #include <ctime> #include <algorithm> #include <iostream> #include <numeric>   int main() {  srand((unsigned int)time(NULL));  const size_t N = 1000;  int a[N] = { 0 };  for ( ; ; )  {  //мутация в случайную сторону каждого элемента:  for (size_t i = 0; i < N; ++i)  a[i] += ((rand() % 2 == 1) ? 1 : -1);   //теперь выбираем лучших, отсортировав по возрастанию  std::sort(a, a + N);  //и тогда лучшие окажутся во второй половине массива.  //скопируем лучших в первую половину, куда они оставили потомство, а первые умерли:  std::copy(a + N / 2, a + N, a);  //теперь посмотрим на среднее состояние популяции. Как видим, оно всё лучше и лучше.  std::cout << std::accumulate(a, a + N, 0) / N << std::endl;  } } 

В культуре

  • В фильме 1995 года «Виртуозность» мозг главного злодея выращен генетическим алгоритмом с использованием воспоминаний и поведенческих черт преступников.

Примечания

  1. [англ.]. Esempi numerici di processi di evoluzione (неопр.) // Methodos. — 1954. — С. 45—68.
  2. [англ.]. Symbiogenetic evolution processes realized by artificial methods (англ.) // Methodos : journal. — 1957. — P. 143—182.
  3. [англ.]. Simulation of genetic systems by automatic digital computers. I. Introduction (англ.) // Aust. J. Biol. Sci. : journal. — 1957. — Vol. 10. — P. 484—491.
  4. [англ.]; Donald Burnell. Computer Models in Genetics (англ.). — New York: McGraw-Hill Education, 1970. — ISBN 0-07-021904-4.
  5. Crosby, Jack L. Computer Simulation in Genetics (англ.). — London: John Wiley & Sons, 1973. — ISBN 0-471-18880-8.
  6. 02.27.96 — UC Berkeley’s Hans Bremermann, professor emeritus and pioneer in mathematical biology, has died at 69. Дата обращения: 17 мая 2012. Архивировано 23 марта 2012 года.
  7. Fogel, David B. (editor). Evolutionary Computation: The Fossil Record (англ.). — New York: Institute of Electrical and Electronics Engineers, 1998. — ISBN 0-7803-3481-7.
  8. Barricelli, Nils Aall. Numerical testing of evolution theories. Part II. Preliminary tests of performance, symbiogenesis and terrestrial life (англ.) // [англ.] : journal. — 1963. — No. 16. — P. 99—126.
  9. Rechenberg, Ingo. Evolutionsstrategie (неопр.). — Stuttgart: Holzmann-Froboog, 1973. — ISBN 3-7728-0373-3.
  10. Schwefel, Hans-Paul. Numerische Optimierung von Computer-Modellen (PhD thesis) (нем.). — 1974.
  11. Schwefel, Hans-Paul. Numerische Optimierung von Computor-Modellen mittels der Evolutionsstrategie : mit einer vergleichenden Einführung in die Hill-Climbing- und Zufallsstrategie (нем.). — Basel; Stuttgart: [англ.], 1977. — ISBN 3-7643-0876-1.
  12. Schwefel, Hans-Paul. Numerical optimization of computer models (Translation of 1977 Numerische Optimierung von Computor-Modellen mittels der Evolutionsstrategie (англ.). — Chichester ; New York: Wiley, 1981. — ISBN 0-471-09988-0.
  13. J. H. Holland. Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, 1975.
  14. Markoff, John (1990-08-29). What's the Best Answer? It's Survival of the Fittest. New York Times. Архивировано 2010-12-02. Дата обращения: 2009-08-09. {{cite news}}: Проверьте значение даты: |year= / |date= mismatch (справка)
  15. Melanie Mitchell. An Introduction to Genetic Algorithms. — MIT Press, 1998. — С. 167. — 226 с. — ISBN 9780262631853. Архивировано 1 ноября 2018 года.
  16. Wolpert, D.H., Macready, W.G., 1995. No Free Lunch Theorems for Optimisation. Santa Fe Institute, SFI-TR-05-010, Santa Fe.
  17. Steven S. Skiena. The Algorithm Design Manual. Second Edition. Springer, 2008.

Литература

  • Саймон Д. Алгоритмы эволюционной оптимизации. — М.: ДМК Пресс, 2020. — 940 с. — ISBN 978-5-97060-812-8.
  • Емельянов В. В., Курейчик В. В., Курейчик В. М. Теория и практика эволюционного моделирования. — М.: Физматлит, 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.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы = Sieci neuronowe, algorytmy genetyczne i systemy rozmyte. — 2-е изд. — М.: Горячая линия-Телеком, 2008. — 452 с. — ISBN 5-93517-103-1.
  • Скобцов Ю. А. Основы эволюционных вычислений. — Донецк: ДонНТУ, 2008. — 326 с. — ISBN 978-966-377-056-6.

Ссылки

  • Эволюционные вычисления
  • Использование генетических алгоритмов в проблеме автоматического написания программ
  • Реализация генетических алгоритмов в среде MATLAB v6.12
  • Сергей Николенко. Генетические алгоритмы (слайды) — лекция № 4 из курса «Самообучающиеся системы»
  • geneticprogramming.us
  • Генерирование автоматов состояний с помощью ГА
  • Субботін С. О., Олійник А. О., Олійник О. О. Неітеративні, еволюційні та мультиагентні методи синтезу нечіткологічних і нейромережних моделей: Монографія / Під заг. ред. С. О. Субботіна. — Запоріжжя: ЗНТУ, 2009. — 375 с. (укр.)
  • Poli, R., Langdon, W. B., McPhee, N. F. A Field Guide to Genetic Programming (неопр.). — Lulu.com, freely available from the internet, 2008. — ISBN 978-1-4092-0073-4.
  • Подборка статей по использованию генетических алгоритмов в задачах многокритериальной оптимизации (англ.)
  • Lakhmi C. Jain; N.M. Martin Fusion of Neural Networks, Fuzzy Systems and Genetic Algorithms: Industrial Applications. — CRC Press, CRC Press LLC, 1998
  • Лекция по генетическим алгоритмам

Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Генетический алгоритм, Что такое Генетический алгоритм? Что означает Генетический алгоритм?

Geneti cheskij algori tm angl genetic algorithm evristicheskij algoritm poiska ispolzuemyj dlya resheniya zadach optimizacii i modelirovaniya putyom sluchajnogo podbora kombinirovaniya i variacii iskomyh parametrov s ispolzovaniem mehanizmov analogichnyh estestvennomu otboru v prirode Yavlyaetsya raznovidnostyu evolyucionnyh vychislenij s pomoshyu kotoryh reshayutsya optimizacionnye zadachi s ispolzovaniem metodov estestvennoj evolyucii takih kak nasledovanie mutacii otbor i krossingover Otlichitelnoj osobennostyu geneticheskogo algoritma yavlyaetsya akcent na ispolzovanie operatora skreshivaniya kotoryj proizvodit operaciyu rekombinacii reshenij kandidatov rol kotoroj analogichna roli skreshivaniya v zhivoj prirode IstoriyaPervye raboty po imitacionnomu modelirovaniyu evolyucii byli provedeny v 1954 godu Nilsom Barichelli na kompyutere ustanovlennom v Institute perspektivnyh issledovanij Prinstonskogo universiteta opublikovannaya v tom zhe godu rabota privlekla shirokoe vnimanie S 1957 goda avstralijskij genetik angl opublikoval seriyu rabot po imitacionnomu modelirovaniyu iskusstvennogo otbora sredi organizmov s mnozhestvennym kontrolem izmerimyh harakteristik Polozhennoe nachalo pozvolilo realizovat imitacionnye modeli evolyucionnyh processov po metodam opisannym v knigah Frazera i Barnella 1970 i Krosbi 1973 Imitacionnye modeli Frazera vklyuchali vse vazhnejshie elementy sovremennyh geneticheskih algoritmov Vdobavok k etomu angl v 1960 h godah opublikoval seriyu rabot kotorye takzhe prinimali podhod ispolzovaniya populyacii reshenij podvergaemoj rekombinacii mutacii i otboru v problemah optimizacii Issledovaniya Bremermana takzhe vklyuchali elementy sovremennyh geneticheskih algoritmov Sredi prochih rannih issledovatelej angl Dzhordzh Fridman i angl Mnozhestvo rannih rabot byli pereizdany Davidom Fogelem 1998 Hotya angl v rabote 1963 goda imitiroval sposobnosti mashiny igrat v prostuyu igru stala obshepriznannym metodom optimizacii posle raboty angl i angl v 1960 h i nachale 1970 h godov dvadcatogo veka gruppa Rehenberga smogla reshit slozhnye inzhenernye problemy soglasno strategiyam evolyucii Drugim podhodom byla tehnika evolyucionnogo programmirovaniya angl kotoraya byla predlozhena dlya sozdaniya iskusstvennogo intellekta Evolyucionnoe programmirovanie pervonachalno ispolzovalo konechnye avtomaty dlya predskazaniya obstoyatelstv i raznoobrazie i otbor dlya optimizacii logiki predskazaniya Geneticheskie algoritmy stali osobenno populyarny blagodarya rabote Dzhona Hollanda v nachale 70 h godov i ego knige Adaptaciya v estestvennyh i iskusstvennyh sistemah 1975 Issledovanie Fogelya osnovyvalos na eksperimentah Hollanda s kletochnymi avtomatami i ego Hollanda trudah napisannyh v universitete Michigana Holland vvel formalizovannyj podhod dlya predskazyvaniya kachestva sleduyushego pokoleniya izvestnyj kak Teorema shem Issledovaniya v oblasti geneticheskih algoritmov ostavalis v osnovnom teoreticheskimi do serediny 80 h godov kogda byla nakonec provedena Pervaya mezhdunarodnaya konferenciya po geneticheskim algoritmam v Pittsburge Pensilvaniya SShA S rostom issledovatelskogo interesa sushestvenno vyrosla i vychislitelnaya mosh nastolnyh kompyuterov eto pozvolilo ispolzovat novuyu vychislitelnuyu tehniku na praktike V konce 80 h kompaniya General Electric nachala prodazhu pervogo v mire produkta rabotavshego s ispolzovaniem geneticheskogo algoritma Im stal nabor promyshlennyh vychislitelnyh sredstv V 1989 drugaya kompaniya Axcelis Inc vypustila pervyj v mire kommercheskij produkt na geneticheskom algoritme dlya nastolnyh kompyuterov Zhurnalist The New York Times v tehnologicheskoj sfere pisal ob Evolver v 1990 godu Opisanie algoritmaShema raboty geneticheskogo algoritma Zadacha formalizuetsya takim obrazom chtoby eyo reshenie moglo byt zakodirovano v vide vektora genotipa genov gde kazhdyj gen mozhet byt bitom chislom ili nekim drugim obektom V klassicheskih realizaciyah geneticheskogo algoritma GA predpolagaetsya chto genotip imeet fiksirovannuyu dlinu Odnako sushestvuyut variacii GA svobodnye ot etogo ogranicheniya Nekotorym obychno sluchajnym obrazom sozdayotsya mnozhestvo genotipov nachalnoj populyacii Oni ocenivayutsya s ispolzovaniem funkcii prisposoblennosti v rezultate chego s kazhdym genotipom associiruetsya opredelyonnoe znachenie prisposoblennost kotoroe opredelyaet naskolko horosho fenotip im opisyvaemyj reshaet postavlennuyu zadachu Pri vybore funkcii prisposoblennosti ili fitness function v angloyazychnoj literature vazhno sledit chtoby eyo relef byl gladkim Iz poluchennogo mnozhestva reshenij pokoleniya s uchyotom znacheniya prisposoblennosti vybirayutsya resheniya obychno luchshie osobi imeyut bolshuyu veroyatnost byt vybrannymi k kotorym primenyayutsya geneticheskie operatory v bolshinstve sluchaev skreshivanie crossover i mutaciya mutation rezultatom chego yavlyaetsya poluchenie novyh reshenij Dlya nih takzhe vychislyaetsya znachenie prisposoblennosti i zatem proizvoditsya otbor selekciya luchshih reshenij v sleduyushee pokolenie Etot nabor dejstvij povtoryaetsya iterativno tak modeliruetsya evolyucionnyj process prodolzhayushijsya neskolko zhiznennyh ciklov pokolenij poka ne budet vypolnen kriterij ostanovki algoritma Takim kriteriem mozhet byt nahozhdenie globalnogo libo suboptimalnogo resheniya ischerpanie chisla pokolenij otpushennyh na evolyuciyu ischerpanie vremeni otpushennogo na evolyuciyu Geneticheskie algoritmy sluzhat glavnym obrazom dlya poiska reshenij v mnogomernyh prostranstvah poiska Takim obrazom mozhno vydelit sleduyushie etapy geneticheskogo algoritma Zadat celevuyu funkciyu prisposoblennosti dlya osobej populyacii Sozdat nachalnuyu populyaciyu Nachalo cikla Razmnozhenie skreshivanie Mutirovanie Vychislit znachenie celevoj funkcii dlya vseh osobej Formirovanie novogo pokoleniya selekciya Esli vypolnyayutsya usloviya ostanovki to konec cikla inache nachalo cikla Sozdanie nachalnoj populyacii Pered pervym shagom nuzhno sluchajnym obrazom sozdat nachalnuyu populyaciyu dazhe esli ona okazhetsya sovershenno nekonkurentosposobnoj veroyatno chto geneticheskij algoritm vsyo ravno dostatochno bystro perevedyot eyo v zhiznesposobnuyu populyaciyu Takim obrazom na pervom shage mozhno osobenno ne staratsya sdelat slishkom uzh prisposoblennyh osobej dostatochno chtoby oni sootvetstvovali formatu osobej populyacii i na nih mozhno bylo podschitat funkciyu prisposoblennosti Fitness Itogom pervogo shaga yavlyaetsya populyaciya H sostoyashaya iz N osobej Otbor selekciya Na etape otbora nuzhno iz vsej populyacii vybrat opredelyonnuyu eyo dolyu kotoraya ostanetsya v zhivyh na etom etape evolyucii Est raznye sposoby provodit otbor Veroyatnost vyzhivaniya osobi h dolzhna zaviset ot znacheniya funkcii prisposoblennosti Fitness h Sama dolya vyzhivshih s obychno yavlyaetsya parametrom geneticheskogo algoritma i eyo prosto zadayut zaranee Po itogam otbora iz N osobej populyacii H dolzhny ostatsya sN osobej kotorye vojdut v itogovuyu populyaciyu H Ostalnye osobi pogibayut Turnirnaya selekciya snachala sluchajno vybiraetsya ustanovlennoe kolichestvo osobej obychno dve a zatem iz nih vybiraetsya osob s luchshim znacheniem funkcii prisposoblennosti Metod ruletki veroyatnost vybora osobi tem veroyatnee chem luchshe eyo znachenie funkcii prisposoblennosti pi fi i 1Nfi displaystyle p i frac f i sum i 1 N f i gde pi displaystyle p i veroyatnost vybora i osobi fi displaystyle f i znachenie funkcii prisposoblennosti dlya i osobi N displaystyle N kolichestvo osobej v populyacii Metod ranzhirovaniya veroyatnost vybora zavisit ot mesta v spiske osobej otsortirovannom po znacheniyu funkcii prisposoblennosti pi 1N a a b i 1N 1 displaystyle p i frac 1 N a a b frac i 1 N 1 gde a 1 2 displaystyle a in 1 2 b 2 a displaystyle b 2 a i displaystyle i poryadkovyj nomer osobi v spiske osobej otsortirovannom po znacheniyu funkcii prisposoblennosti to est i j gt i fi fj displaystyle forall text i text forall text j gt i text text f i leq f j esli my minimiziruem znachenie funkcii prisposoblennosti Ravnomernoe ranzhirovanie veroyatnost vybora osobi opredelyaetsya vyrazheniem pi 1m if 1 i m0 if m lt i N displaystyle p i begin cases frac 1 mu amp mbox if 1 leq i leq mu 0 amp mbox if mu lt i leq N end cases gde m N displaystyle mu leq N parametr metoda Sigma otsechenie dlya predotvrasheniya prezhdevremennoj shodimosti geneticheskogo algoritma ispolzuyutsya metody masshtabiruyushie znachenie celevoj funkcii Veroyatnost vybora osobi tem bolshe chem optimalnee znachenie masshtabiruemoj celevoj funkcii pi Fi i 1NFi displaystyle p i frac F i sum i 1 N F i gde Fi 1 fi favg2s displaystyle F i 1 frac f i f avg 2 sigma favg displaystyle f avg srednee znachenie celevoj funkcii dlya vsej populyacii s srednekvadratichnoe otklonenie znacheniya celevoj funkcii Vybor roditelej Razmnozhenie v geneticheskih algoritmah trebuet dlya proizvodstva potomka neskolkih roditelej obychno dvuh Mozhno vydelit neskolko operatorov vybora roditelej Panmiksiya oba roditelya vybirayutsya sluchajno kazhdaya osob populyacii imeet ravnye shansy byt vybrannoj Inbriding pervyj roditel vybiraetsya sluchajno a vtorym vybiraetsya takoj kotoryj naibolee pohozh na pervogo roditelya Autbriding pervyj roditel vybiraetsya sluchajno a vtorym vybiraetsya takoj kotoryj naimenee pohozh na pervogo roditelya Inbriding i autbriding byvayut v dvuh formah fenotipnoj i genotipnoj V sluchae fenotipnoj formy pohozhest izmeryaetsya v zavisimosti ot znacheniya funkcii prisposoblennosti chem blizhe znacheniya celevoj funkcii tem osobi bolee pohozhi a v sluchae genotipnoj formy pohozhest izmeryaetsya v zavisimosti ot predstavleniya genotipa chem menshe otlichij mezhdu genotipami osobej tem osobi pohozhee Razmnozhenie skreshivanie Razmnozhenie v raznyh algoritmah opredelyaetsya po raznomu ono konechno zavisit ot predstavleniya dannyh Glavnoe trebovanie k razmnozheniyu chtoby potomok ili potomki imeli vozmozhnost unasledovat cherty oboih roditelej smeshav ih kakim libo sposobom Pochemu osobi dlya razmnozheniya obychno vybirayutsya iz vsej populyacii H a ne iz vyzhivshih na pervom shage elementov H hotya poslednij variant tozhe imeet pravo na sushestvovanie Delo v tom chto glavnyj nedostatok mnogih geneticheskih algoritmov otsutstvie raznoobraziya diversity v osobyah Dostatochno bystro vydelyaetsya odin edinstvennyj genotip kotoryj predstavlyaet soboj lokalnyj maksimum a zatem vse elementy populyacii proigryvayut emu otbor i vsya populyaciya zabivaetsya kopiyami etoj osobi Est raznye sposoby borby s takim nezhelatelnym effektom odin iz nih vybor dlya razmnozheniya ne samyh prisposoblennyh no voobshe vseh osobej Odnako takoj podhod vynuzhdaet hranit vseh sushestvovavshih ranee osobej chto uvelichivaet vychislitelnuyu slozhnost zadachi Poetomu chasto primenyayut metody otbora osobej dlya skreshivaniya takim obrazom chtoby razmnozhalis ne tolko samye prisposoblennye no i drugie osobi obladayushie plohoj prisposoblennostyu Pri takom podhode dlya raznoobraziya genotipa vozrastaet rol mutacij Mutacii K mutaciyam otnositsya vse to zhe samoe chto i k razmnozheniyu est nekotoraya dolya mutantov m yavlyayushayasya parametrom geneticheskogo algoritma i na shage mutacij nuzhno vybrat mN osobej a zatem izmenit ih v sootvetstvii s zaranee opredelyonnymi operaciyami mutacii KritikaV razdele ne hvataet ssylok na istochniki sm rekomendacii po poisku Informaciya dolzhna byt proveryaema inache ona mozhet byt udalena Vy mozhete otredaktirovat statyu dobaviv ssylki na avtoritetnye istochniki v vide snosok 10 sentyabrya 2024 Sushestvuet neskolko povodov dlya kritiki naschyot ispolzovaniya geneticheskogo algoritma po sravneniyu s drugimi metodami optimizacii Povtornaya ocenka funkcii prisposoblennosti fitness funkcii dlya slozhnyh problem chasto yavlyaetsya faktorom ogranichivayushim ispolzovanie algoritmov iskusstvennoj evolyucii Poisk optimalnogo resheniya dlya slozhnoj zadachi vysokoj razmernosti zachastuyu trebuet ochen zatratnoj ocenki funkcii prisposoblennosti V realnyh zadachah takih kak zadachi strukturnoj optimizacii edinstvennyj zapusk funkcionalnoj ocenki trebuet ot neskolkih chasov do neskolkih dnej dlya proizvedeniya neobhodimyh vychislenij Standartnye metody optimizacii ne mogut spravitsya s problemami takogo roda V takom sluchae mozhet byt neobhodimo prenebrech tochnoj ocenkoj i ispolzovat kotoraya sposobna byt vychislena effektivno Ochevidno chto primenenie approksimacii prigodnosti mozhet stat odnim iz naibolee mnogoobeshayushih podhodov pozvolyayushih obosnovanno reshat slozhnye zadachi realnoj zhizni s pomoshyu geneticheskih algoritmov Geneticheskie algoritmy ploho masshtabiruemy pod slozhnost reshaemoj problemy Eto znachit chto chislo podverzhennyh mutacii elementov budet ochen veliko esli velik razmer oblasti poiska reshenij Eto delaet ispolzovanie dannoj vychislitelnoj tehniki chrezvychajno slozhnym pri reshenii takih problem kak naprimer proektirovanie dvigatelya doma ili samolyota Dlya togo chtoby sdelat tak chtoby takie problemy poddavalis evolyucionnym algoritmam oni dolzhny byt razdeleny na prostejshie predstavleniya dannyh problem Takim obrazom evolyucionnye vychisleniya ispolzuyutsya naprimer pri razrabotke formy lopastej vmesto vsego dvigatelya formy zdaniya vmesto podrobnogo stroitelnogo proekta i formy fyuzelyazha vmesto razrabotki vida vsego samolyota Vtoraya problema svyazannaya so slozhnostyu kroetsya v voprose zashity chastej evolyucionirovavshih v vysokoprigodnye resheniya ot dalnejshej razrushitelnoj mutacii v chastnosti kogda ot nih trebuetsya horoshaya sovmestimost s drugimi chastyami dlya ocenki prigodnosti Nekotorymi razrabotchikami bylo predlozheno chto podhod predpolagayushij razvitie prigodnosti evolyucioniruyushih reshenij smog by preodolet ryad problem s zashitoj no dannyj vopros vsyo eshyo ostayotsya otkrytym dlya issledovaniya Reshenie yavlyaetsya bolee prigodnym lish po sravneniyu s drugimi resheniyami V rezultate uslovie ostanovki algoritma neyasno dlya kazhdoj problemy Vo mnogih zadachah geneticheskie algoritmy imeyut tendenciyu shoditsya k lokalnomu optimumu ili dazhe k proizvolnoj tochke a ne k globalnomu optimumu dlya dannoj zadachi Eto znachit chto oni ne znayut kakim obrazom pozhertvovat kratkovremennoj vysokoj prigodnostyu dlya dostizheniya dolgosrochnoj prigodnosti Veroyatnost etogo zavisit ot formy otdelnye problemy mogut imet vyrazhennoe napravlenie k globalnomu minimumu v to vremya kak ostalnye mogut ukazyvat napravlenie dlya fitness funkcii na lokalnyj optimum Etu problemu mozhno reshit ispolzovaniem inoj fitness funkcii uvelicheniem veroyatnosti mutacij ili ispolzovaniem metodov otbora kotorye podderzhivayut raznoobrazie reshenij v populyacii hotya dokazyvaet chto ne sushestvuet obshego resheniya dannoj problemy Obsheprinyatym metodom podderzhaniya populyacionnogo raznoobraziya yavlyaetsya ustanovka urovnevogo ogranicheniya na chislennost elementov s vysokim srodstvom kotoroe snizit chislo predstavitelej shodnyh reshenij v posleduyushih pokoleniyah pozvolyaya drugim menee shodnym elementam ostavatsya v populyacii Dannyj priyom tem ne menee mozhet ne uvenchatsya uspehom v zavisimosti ot landshafta konkretnoj problemy Drugim vozmozhnym metodom mozhet sluzhit prostoe zameshenie chasti populyacii sluchajno sgenerirovannymi elementami v moment kogda elementy populyacii stanovyatsya slishkom shodny mezhdu soboj Raznoobrazie vazhno dlya geneticheskih algoritmov i geneticheskogo programmirovaniya potomu chto perekryost genov v gomogennoj populyacii ne nesyot novyh reshenij V evolyucionnyh algoritmah i evolyucionnom programmirovanii raznoobrazie ne yavlyaetsya neobhodimostyu tak kak bolshaya rol v nih otvedena mutacii Imeetsya mnogo skeptikov otnositelno celesoobraznosti primeneniya geneticheskih algoritmov Naprimer Stiven S Skiena professor kafedry vychislitelnoj tehniki universiteta Stouni Bruk izvestnyj issledovatel algoritmov laureat premii instituta IEEE pishet Ya lichno nikogda ne stalkivalsya ni s odnoj zadachej dlya resheniya kotoroj geneticheskie algoritmy okazalis by samym podhodyashim sredstvom Bolee togo ya nikogda ne vstrechal nikakih rezultatov vychislenij poluchennyh posredstvom geneticheskih algoritmov kotorye proizvodili by na menya polozhitelnoe vpechatlenie Primenenie geneticheskih algoritmovV razdele ne hvataet ssylok na istochniki sm rekomendacii po poisku Informaciya dolzhna byt proveryaema inache ona mozhet byt udalena Vy mozhete otredaktirovat statyu dobaviv ssylki na avtoritetnye istochniki v vide snosok 10 sentyabrya 2024 Geneticheskie algoritmy primenyayutsya dlya resheniya sleduyushih zadach Optimizaciya funkcij Optimizaciya zaprosov v bazah dannyh Raznoobraznye zadachi na grafah zadacha kommivoyazhera raskraska nahozhdenie parosochetanij Nastrojka i obuchenie iskusstvennoj nejronnoj seti Zadachi komponovki Sostavlenie raspisanij Igrovye strategii Teoriya priblizhenij Iskusstvennaya zhizn Bioinformatika folding belkov Sintez konechnyh avtomatov Nastrojka PID regulyatorov Chernyj yashik Obrabotka signalovPrimer prostoj realizacii na C V razdele ne hvataet ssylok na istochniki sm rekomendacii po poisku Informaciya dolzhna byt proveryaema inache ona mozhet byt udalena Vy mozhete otredaktirovat statyu dobaviv ssylki na avtoritetnye istochniki v vide snosok 10 sentyabrya 2024 Poisk v odnomernom prostranstve bez skreshivaniya include lt cstdlib gt include lt ctime gt include lt algorithm gt include lt iostream gt include lt numeric gt int main srand unsigned int time NULL const size t N 1000 int a N 0 for mutaciya v sluchajnuyu storonu kazhdogo elementa for size t i 0 i lt N i a i rand 2 1 1 1 teper vybiraem luchshih otsortirovav po vozrastaniyu std sort a a N i togda luchshie okazhutsya vo vtoroj polovine massiva skopiruem luchshih v pervuyu polovinu kuda oni ostavili potomstvo a pervye umerli std copy a N 2 a N a teper posmotrim na srednee sostoyanie populyacii Kak vidim ono vsyo luchshe i luchshe std cout lt lt std accumulate a a N 0 N lt lt std endl V kultureV filme 1995 goda Virtuoznost mozg glavnogo zlodeya vyrashen geneticheskim algoritmom s ispolzovaniem vospominanij i povedencheskih chert prestupnikov Primechaniya angl Esempi numerici di processi di evoluzione neopr Methodos 1954 S 45 68 angl Symbiogenetic evolution processes realized by artificial methods angl Methodos journal 1957 P 143 182 angl Simulation of genetic systems by automatic digital computers I Introduction angl Aust J Biol Sci journal 1957 Vol 10 P 484 491 angl Donald Burnell Computer Models in Genetics angl New York McGraw Hill Education 1970 ISBN 0 07 021904 4 Crosby Jack L Computer Simulation in Genetics angl London John Wiley amp Sons 1973 ISBN 0 471 18880 8 02 27 96 UC Berkeley s Hans Bremermann professor emeritus and pioneer in mathematical biology has died at 69 neopr Data obrasheniya 17 maya 2012 Arhivirovano 23 marta 2012 goda Fogel David B editor Evolutionary Computation The Fossil Record angl New York Institute of Electrical and Electronics Engineers 1998 ISBN 0 7803 3481 7 Barricelli Nils Aall Numerical testing of evolution theories Part II Preliminary tests of performance symbiogenesis and terrestrial life angl angl journal 1963 No 16 P 99 126 Rechenberg Ingo Evolutionsstrategie neopr Stuttgart Holzmann Froboog 1973 ISBN 3 7728 0373 3 Schwefel Hans Paul Numerische Optimierung von Computer Modellen PhD thesis nem 1974 Schwefel Hans Paul Numerische Optimierung von Computor Modellen mittels der Evolutionsstrategie mit einer vergleichenden Einfuhrung in die Hill Climbing und Zufallsstrategie nem Basel Stuttgart angl 1977 ISBN 3 7643 0876 1 Schwefel Hans Paul Numerical optimization of computer models Translation of 1977 Numerische Optimierung von Computor Modellen mittels der Evolutionsstrategie angl Chichester New York Wiley 1981 ISBN 0 471 09988 0 J H Holland Adaptation in natural and artificial systems University of Michigan Press Ann Arbor 1975 Markoff John 1990 08 29 What s the Best Answer It s Survival of the Fittest New York Times Arhivirovano 2010 12 02 Data obrasheniya 2009 08 09 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite news title Shablon Cite news cite news a Proverte znachenie daty year date mismatch spravka Melanie Mitchell An Introduction to Genetic Algorithms MIT Press 1998 S 167 226 s ISBN 9780262631853 Arhivirovano 1 noyabrya 2018 goda Wolpert D H Macready W G 1995 No Free Lunch Theorems for Optimisation Santa Fe Institute SFI TR 05 010 Santa Fe Steven S Skiena The Algorithm Design Manual Second Edition Springer 2008 LiteraturaSajmon D Algoritmy evolyucionnoj optimizacii M DMK Press 2020 940 s ISBN 978 5 97060 812 8 Emelyanov V V Kurejchik V V Kurejchik V M Teoriya i praktika evolyucionnogo modelirovaniya M Fizmatlit 2003 432 s ISBN 5 9221 0337 7 Kurejchik V M Lebedev B K Lebedev O K Poiskovaya adaptaciya teoriya i praktika M Fizmatlit 2006 272 s ISBN 5 9221 0749 6 Gladkov L A Kurejchik V V Kurejchik V M Geneticheskie algoritmy Uchebnoe posobie 2 e izd M Fizmatlit 2006 320 s ISBN 5 9221 0510 8 Gladkov L A Kurejchik V V Kurejchik V M i dr Bioinspirirovannye metody v optimizacii monografiya M Fizmatlit 2009 384 s ISBN 978 5 9221 1101 0 Rutkovskaya D Pilinskij M Rutkovskij L Nejronnye seti geneticheskie algoritmy i nechetkie sistemy Sieci neuronowe algorytmy genetyczne i systemy rozmyte 2 e izd M Goryachaya liniya Telekom 2008 452 s ISBN 5 93517 103 1 Skobcov Yu A Osnovy evolyucionnyh vychislenij Doneck DonNTU 2008 326 s ISBN 978 966 377 056 6 SsylkiEvolyucionnye vychisleniya Ispolzovanie geneticheskih algoritmov v probleme avtomaticheskogo napisaniya programm Realizaciya geneticheskih algoritmov v srede MATLAB v6 12 Sergej Nikolenko Geneticheskie algoritmy slajdy lekciya 4 iz kursa Samoobuchayushiesya sistemy geneticprogramming us Generirovanie avtomatov sostoyanij s pomoshyu GA Subbotin S O Olijnik A O Olijnik O O Neiterativni evolyucijni ta multiagentni metodi sintezu nechitkologichnih i nejromerezhnih modelej Monografiya Pid zag red S O Subbotina Zaporizhzhya ZNTU 2009 375 s ukr Poli R Langdon W B McPhee N F A Field Guide to Genetic Programming neopr Lulu com freely available from the internet 2008 ISBN 978 1 4092 0073 4 Podborka statej po ispolzovaniyu geneticheskih algoritmov v zadachah mnogokriterialnoj optimizacii angl Lakhmi C Jain N M Martin Fusion of Neural Networks Fuzzy Systems and Genetic Algorithms Industrial Applications CRC Press CRC Press LLC 1998 Lekciya po geneticheskim algoritmamU etoj stati est neskolko problem pomogite ih ispravit Stil etoj stati neenciklopedichen ili narushaet normy literaturnogo russkogo yazyka Statyu sleduet ispravit soglasno stilisticheskim pravilam Vikipedii 4 dekabrya 2022 Dostovernost etoj stati postavlena pod somnenie Neobhodimo proverit tochnost faktov i dostovernost svedenij izlozhennyh v etoj state Sootvetstvuyushuyu diskussiyu mozhno najti na stranice obsuzhdeniya 4 dekabrya 2022 V etoj state est formuly kotorye neobhodimo oformit Pozhalujsta pomogite uluchshit ih otobrazhenie 4 dekabrya 2022 Pozhalujsta posle ispravleniya problemy isklyuchite eyo iz spiska parametrov Posle ustraneniya vseh nedostatkov etot shablon mozhet byt udalyon lyubym uchastnikom

NiNa.Az

NiNa.Az - Абсолютно бесплатная система, которая делится для вас информацией и контентом 24 часа в сутки.
Взгляните
Закрыто