Jump to content

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

(Перенаправлено с ГАТТО )

Антенна космического корабля НАСА ST5 2006 года . Эта сложная форма была найдена программой эволюционного компьютерного проектирования для создания наилучшей диаграммы направленности. Она известна как развитая антенна .

В информатике и исследовании операций генетический алгоритм ( ГА ) — это метаэвристика, вдохновленная процессом естественного отбора и принадлежащая к более широкому классу эволюционных алгоритмов (ЭА). Генетические алгоритмы обычно используются для генерации высококачественных решений задач оптимизации и поиска, полагаясь на биологически обусловленные операторы, такие как мутация , скрещивание и отбор . [1] Некоторые примеры приложений GA включают оптимизацию деревьев решений для повышения производительности, решение головоломок судоку , [2] оптимизация гиперпараметров , причинный вывод , [3] и т. д.

Методология

[ редактировать ]

Проблемы оптимизации

[ редактировать ]

В генетическом алгоритме совокупность вариантов решения (называемых особями, существами, организмами или фенотипами ) задачи оптимизации эволюционирует в сторону лучших решений. Каждое решение-кандидат имеет набор свойств ( хромосомы или генотип ), которые можно мутировать и изменять; традиционно решения представляются в двоичном виде в виде строк из 0 и 1, но возможны и другие кодировки. [4]

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

Типичный генетический алгоритм требует:

  1. генетическое представление области решения,
  2. функция приспособленности для оценки области решения.

Стандартное представление каждого возможного решения представляет собой массив битов (также называемый набором битов или битовой строкой ). [4] Массивы других типов и структур можно использовать по существу таким же образом. Основное свойство, делающее эти генетические представления удобными, заключается в том, что их части легко выравниваются благодаря фиксированному размеру, что облегчает простые скрещивания операции . Также можно использовать представления переменной длины, но реализация кроссовера в этом случае более сложна. Древовидные представления исследуются в генетическом программировании , а представления в виде графов исследуются в эволюционном программировании ; исследуется сочетание как линейных хромосом, так и деревьев В программировании экспрессии генов .

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

Инициализация

[ редактировать ]

Размер популяции зависит от характера проблемы, но обычно содержит сотни или тысячи возможных решений. Часто начальная популяция генерируется случайным образом, позволяя использовать весь диапазон возможных решений ( пространство поиска ). Иногда решения могут быть «засеяны» в областях, где оптимальные решения могут быть найдены, или распределение вероятности выборки может быть настроено так, чтобы сосредоточиться на тех областях, которые представляют больший интерес. [5]

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

Функция приспособленности определяется по генетическому представлению и измеряет качество представленного решения. Функция приспособленности всегда зависит от проблемы. Например, в задаче о рюкзаке требуется максимизировать общую ценность объектов, которые можно поместить в рюкзак некоторой фиксированной вместимости. Представлением решения может быть массив битов, где каждый бит представляет отдельный объект, а значение бита (0 или 1) показывает, находится ли объект в рюкзаке или нет. Не каждое такое представление допустимо, так как размер предметов может превышать вместимость рюкзака. Пригодность . решения равна сумме значений всех объектов в рюкзаке, если представление верно, или 0 в противном случае

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

Генетические операторы

[ редактировать ]

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

Для каждого нового раствора, который будет получен, для разведения выбирается пара «родительских» решений из пула, выбранного ранее. Создавая «дочернее» решение с использованием описанных выше методов скрещивания и мутации, создается новое решение, которое обычно имеет многие характеристики своих «родителей». Для каждого нового ребенка выбираются новые родители, и процесс продолжается до тех пор, пока не будет создана новая совокупность решений соответствующего размера. Хотя методы размножения, основанные на использовании двух родителей, более «вдохновлены биологией», некоторые исследования [6] [7] предполагает, что более двух «родителей» производят хромосомы более высокого качества.

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

Мнения относительно важности скрещивания и мутации разделились. (2006) есть много ссылок В Fogel , подтверждающих важность поиска на основе мутаций.

Хотя скрещивание и мутация известны как основные генетические операторы, в генетических алгоритмах можно использовать и другие операторы, такие как перегруппировка, колонизация-вымирание или миграция. [ нужна ссылка ]

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

Эвристика

[ редактировать ]

В дополнение к основным операторам, указанным выше, можно использовать другие эвристики , чтобы сделать расчет быстрее или более надежным. Эвристика видообразования наказывает за пересечение между кандидатами, которые слишком похожи; это способствует разнообразию населения и помогает предотвратить преждевременный переход к менее оптимальному решению. [8] [9]

Прекращение действия

[ редактировать ]

Этот процесс генерации повторяется до тех пор, пока не будет достигнуто условие завершения. Общие условия завершения:

  • Найдено решение, удовлетворяющее минимальным критериям
  • Достигнуто фиксированное количество поколений
  • Выделенный бюджет (время вычислений/деньги) достигнут
  • Пригодность решения с самым высоким рейтингом достигает или достигла плато, так что последующие итерации больше не дают лучших результатов.
  • Ручной осмотр
  • Комбинации вышеперечисленного

Гипотеза строительных блоков

[ редактировать ]

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

  1. Описание эвристики, которая выполняет адаптацию путем идентификации и рекомбинации «строительных блоков», то есть схем низкого порядка, малой определяющей длины и пригодности выше средней.
  2. Гипотеза о том, что генетический алгоритм выполняет адаптацию, неявно и эффективно реализуя эту эвристику.

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

«Короткие схемы низкого порядка и схемы с высокой степенью соответствия отбираются, рекомбинируются [пересекаются] и повторно выбираются для формирования строк потенциально более высокой пригодности. В некотором смысле, работая с этими конкретными схемами [строительными блоками], мы уменьшили сложность нашей проблемы; вместо того, чтобы строить высокопроизводительные струны, пробуя все мыслимые комбинации, мы конструируем все лучшие и лучшие струны из лучших частичных решений прошлых выборок.
«Поскольку очень подходящие схемы малой определяющей длины и низкого порядка играют такую ​​важную роль в работе генетических алгоритмов, мы уже дали им специальное название: строительные блоки. Точно так же, как ребенок создает великолепные крепости, располагая простые блоки Так и генетический алгоритм стремится к почти оптимальной производительности за счет сопоставления коротких, высокопроизводительных схем низкого порядка или строительных блоков». [10]

Несмотря на отсутствие консенсуса относительно обоснованности гипотезы строительных блоков, она последовательно оценивалась и использовалась в качестве эталона на протяжении многих лет. многие алгоритмы оценки распределения были предложены в попытке создать среду, в которой гипотеза будет выполняться. Например, [11] [12] Хотя для некоторых классов задач были получены хорошие результаты, скептицизм относительно общности и/или практичности гипотезы строительных блоков как объяснения эффективности ГА все еще сохраняется. Действительно, существует значительный объем работы, в которой предпринимаются попытки понять его ограничения с точки зрения оценки алгоритмов распределения. [13] [14] [15]

Ограничения

[ редактировать ]

Практическое использование генетического алгоритма имеет ограничения, особенно по сравнению с альтернативными алгоритмами оптимизации:

  • Повторная оценка функции приспособленности для сложных задач часто является наиболее запретительным и ограничивающим сегментом искусственных эволюционных алгоритмов. Поиск оптимального решения сложных многомерных мультимодальных задач часто требует очень дорогостоящих оценок функции приспособленности . В реальных задачах, таких как задачи структурной оптимизации, оценка одной функции может потребовать от нескольких часов до нескольких дней полного моделирования. Типичные методы оптимизации не могут справиться с такими типами проблем. В этом случае может оказаться необходимым отказаться от точной оценки и использовать приближенную пригодность , которая является эффективной в вычислительном отношении. Очевидно, что объединение приближенных моделей может быть одним из наиболее многообещающих подходов к убедительному использованию ГА для решения сложных проблем реальной жизни. [ нужна ссылка ]
  • Генетические алгоритмы плохо масштабируются по мере увеличения сложности. То есть там, где количество элементов, подвергающихся мутациям, велико, часто происходит экспоненциальное увеличение размера пространства поиска. Это чрезвычайно затрудняет использование этой техники при решении таких задач, как проектирование двигателя, дома или самолета. [ нужна ссылка ] . Чтобы сделать такие проблемы доступными для эволюционного поиска, их необходимо разбить на простейшие возможные представления. Следовательно, мы обычно видим, как эволюционные алгоритмы кодируют конструкции лопастей вентилятора вместо двигателей, формы зданий вместо подробных планов строительства и аэродинамические профили вместо конструкций самолетов целиком. Вторая проблема сложности — это вопрос о том, как защитить части, которые развились и представляют собой хорошие решения, от дальнейших деструктивных мутаций, особенно когда оценка их пригодности требует, чтобы они хорошо сочетались с другими частями. [ нужна ссылка ]
  • «Лучшее» решение только по сравнению с другими решениями. В результате критерий остановки не во всех задачах ясен. [ нужна ссылка ]
  • Во многих задачах ГА имеют тенденцию сходиться к локальному оптимуму или даже произвольным точкам, а не к глобальному оптимуму задачи. Это означает, что он не «знает, как» пожертвовать краткосрочной приспособленностью ради достижения долгосрочной приспособленности. Вероятность этого зависит от формы ландшафта приспособленности : некоторые проблемы могут обеспечить легкий подъем к глобальному оптимуму, другие могут облегчить функции поиск локальных оптимумов. Эту проблему можно облегчить, используя другую функцию приспособленности, увеличивая скорость мутаций или используя методы отбора, которые поддерживают разнообразную популяцию решений. [16] хотя теорема об отсутствии бесплатных обедов [17] доказывает, что общего решения этой проблемы не существует. Распространенным методом поддержания разнообразия является введение «штрафа за нишу», при котором к любой группе особей, имеющих достаточное сходство (радиус ниши), добавляется штраф, который снизит представительство этой группы в последующих поколениях, позволяя другим (менее похожим) ) особи, подлежащие сохранению в популяции. Однако этот трюк может оказаться неэффективным, в зависимости от характера проблемы. Другой возможный метод — просто заменить часть популяции случайно сгенерированными особями, когда большая часть популяции слишком похожа друг на друга. Разнообразие важно в генетических алгоритмах (и генетическом программировании ), поскольку скрещивание однородной популяции не дает новых решений. В стратегиях эволюции и эволюционном программировании разнообразие не является существенным из-за большей зависимости от мутаций. [ нужна ссылка ]
  • Работать с наборами динамических данных сложно, поскольку геномы рано начинают сходиться к решениям, которые могут оказаться неприменимыми для более поздних данных. Было предложено несколько методов исправить это, каким-то образом увеличивая генетическое разнообразие и предотвращая раннюю конвергенцию, либо за счет увеличения вероятности мутации при падении качества решения (так называемая триггерная гипермутация ), либо путем периодического введения в генофонд совершенно новых, случайно сгенерированных элементов. (так называемые случайные иммигранты ). Опять же, стратегии эволюции и эволюционное программирование могут быть реализованы с помощью так называемой «стратегии запятой», при которой родители не поддерживаются, а новые родители выбираются только из потомства. Это может быть более эффективно при решении динамических задач. [ нужна ссылка ]
  • ГА не могут эффективно решать проблемы, в которых единственной мерой пригодности является двоичный результат «прошел/не прошел» (например, проблемы с решением ), поскольку нет способа прийти к решению (нет холма, на который нужно подняться). В этих случаях случайный поиск может найти решение так же быстро, как и ГА. Однако если ситуация допускает повторение испытания успеха/неуспеха с (возможно) разными результатами, то соотношение успехов и неудач обеспечивает подходящую меру пригодности. [ нужна ссылка ]
  • Для конкретных задач оптимизации и примеров проблем другие алгоритмы оптимизации могут быть более эффективными, чем генетические алгоритмы, с точки зрения скорости сходимости. Альтернативные и дополнительные алгоритмы включают в себя стратегии эволюции , эволюционное программирование , имитацию отжига , адаптацию по Гауссу , восхождение на холм и роевой интеллект (например, оптимизацию колонии муравьев , оптимизацию роя частиц ) и методы, основанные на целочисленном линейном программировании . Пригодность генетических алгоритмов зависит от объема знаний о проблеме; к хорошо известным проблемам часто применяются лучшие, более специализированные подходы. [ нужна ссылка ]

Варианты

[ редактировать ]

Представление хромосомы

[ редактировать ]

Самый простой алгоритм представляет каждую хромосому как битовую строку . Обычно числовые параметры могут быть представлены целыми числами , хотя можно использовать представления с плавающей запятой . Представление с плавающей запятой естественно для стратегий эволюции и эволюционного программирования . Было предложено понятие реальных генетических алгоритмов, но оно на самом деле является неправильным, поскольку на самом деле оно не отражает теорию строительных блоков, предложенную Джоном Генри Холландом в 1970-х годах. Однако эта теория не лишена поддержки, основанной на теоретических и экспериментальных результатах (см. ниже). Базовый алгоритм выполняет кроссовер и мутацию на битовом уровне. Другие варианты рассматривают хромосому как список чисел, которые являются индексами в таблице инструкций, узлами в связанном списке , хэшами , объектами или любой другой мыслимой структурой данных . Кроссовер и мутация выполняются с учетом границ элементов данных. Для большинства типов данных можно разработать специальные операторы вариаций. Различные типы хромосомных данных, похоже, работают лучше или хуже для разных конкретных проблемных областей.

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

Другие подходы включают использование массивов действительных чисел вместо битовых строк для представления хромосом. Результаты теории схем предполагают, что в целом, чем меньше алфавит, тем лучше производительность, но поначалу исследователей удивило, что хорошие результаты были получены при использовании вещественных хромосом. Это было объяснено тем, что набор реальных значений в конечной популяции хромосом образует виртуальный алфавит (когда доминируют отбор и рекомбинация) с гораздо меньшей мощностью, чем можно было бы ожидать от представления с плавающей запятой. [18] [19]

Расширение доступной проблемной области генетического алгоритма может быть получено за счет более сложного кодирования пулов решений путем объединения нескольких типов гетерогенно кодируемых генов в одну хромосому. [20] Этот конкретный подход позволяет решать задачи оптимизации, которые требуют совершенно разных областей определения параметров задачи. Например, в задачах каскадной настройки регулятора структура внутреннего контура регулятора может принадлежать обычному регулятору с тремя параметрами, тогда как внешний контур может реализовывать лингвистический регулятор (например, нечеткую систему), имеющий по своей сути другое описание. Эта конкретная форма кодирования требует специального механизма кроссовера, который рекомбинирует хромосому по секциям, и это полезный инструмент для моделирования и симуляции сложных адаптивных систем, особенно процессов эволюции.

Практический вариант общего процесса создания новой популяции состоит в том, чтобы позволить лучшему организму(ам) текущего поколения перейти к следующему без изменений. Эта стратегия известна как элитарный отбор и гарантирует, что качество решения, полученное с помощью ГА, не будет снижаться от одного поколения к другому. [21]

Параллельные реализации

[ редактировать ]

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

Адаптивные ГА

[ редактировать ]

Генетические алгоритмы с адаптивными параметрами (адаптивные генетические алгоритмы, AGA) — еще один важный и перспективный вариант генетических алгоритмов. Вероятности скрещивания (pc) и мутации (pm) во многом определяют степень точности решения и скорость сходимости, которую могут получить генетические алгоритмы. Исследователи проанализировали конвергенцию GA аналитически. [22] [23]

Вместо использования фиксированных значений pc и pm AGA используют информацию о популяции в каждом поколении и адаптивно корректируют pc и pm , чтобы поддерживать разнообразие популяции, а также поддерживать способность конвергенции. В AGA (адаптивный генетический алгоритм) [24] регулировка pc и pm зависит от значений приспособленности растворов. Есть и другие примеры вариантов AGA: метод последовательного масштабирования — ранний пример улучшения сходимости. [25] В CAGA (адаптивный генетический алгоритм на основе кластеризации) [26] Благодаря использованию кластерного анализа для оценки состояний оптимизации совокупности корректировка pc и pm зависит от этих состояний оптимизации. Последние подходы используют более абстрактные переменные для определения pc и pm . Примерами являются принципы доминирования и кодоминирования. [27] и LIGA (уровневый интерполяционный генетический алгоритм), который сочетает в себе гибкий ГА с модифицированным поиском A * для решения проблемы анизотропности пространства поиска. [28]

Комбинирование ГА с другими методами оптимизации может быть весьма эффективным. ГА, как правило, довольно хорош в поиске хороших глобальных решений, но совершенно неэффективен в поиске последних нескольких мутаций для поиска абсолютного оптимума. Другие методы (например, простое восхождение на холм ) весьма эффективны для поиска абсолютного оптимума в ограниченном регионе. Чередование общего подхода и подъема в гору может повысить эффективность общего подхода. [ нужна ссылка ] преодолевая при этом недостаток устойчивости при восхождении на холм.

Это означает, что в естественном случае правила генетической изменчивости могут иметь иное значение. Например, при условии, что шаги хранятся в последовательном порядке, кроссинговер может суммировать количество шагов материнской ДНК, добавляя количество шагов отцовской ДНК и так далее. Это похоже на добавление векторов, которые с большей вероятностью могут следовать за гребнем фенотипического ландшафта. Таким образом, эффективность процесса может быть увеличена на многие порядки. Более того, у оператора инверсии есть возможность размещать шаги последовательно или в любом другом подходящем порядке в пользу выживания или эффективности. [29]

Вариант, при котором развивается популяция в целом, а не ее отдельные члены, известен как рекомбинация генофонда.

Ряд вариантов был разработан, чтобы попытаться улучшить производительность ГА при решении задач с высокой степенью эпистаза пригодности, т.е. когда пригодность решения состоит из взаимодействующих подмножеств его переменных. Цель таких алгоритмов — изучить (прежде чем использовать) эти полезные фенотипические взаимодействия. По сути, они соответствуют гипотезе строительных блоков в адаптивном уменьшении разрушительной рекомбинации. Яркими примерами этого подхода являются mGA, [30] СОХРАНЯТЬ [31] и ЛЛГА. [32]

Проблемные области

[ редактировать ]

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

Как правило, генетические алгоритмы могут быть полезны в проблемных областях, которые имеют сложную среду приспособленности , поскольку смешивание, то есть мутация в сочетании со скрещиванием , предназначено для того, чтобы отодвинуть популяцию от локальных оптимумов , в которых традиционный алгоритм восхождения на гору может застрять. in. Обратите внимание, что обычно используемые операторы скрещивания не могут изменить какую-либо однородную совокупность. Сама по себе мутация может обеспечить эргодичность всего процесса генетического алгоритма (рассматриваемого как цепь Маркова ).

Примеры задач, решаемых с помощью генетических алгоритмов, включают: зеркала, предназначенные для направления солнечного света к солнечному коллектору, [34] антенны, предназначенные для улавливания радиосигналов в космосе, [35] способы ходьбы компьютерных фигурок, [36] оптимальная конструкция аэродинамических тел в сложных полях течения [37]

В своем «Руководстве по разработке алгоритмов» Скиена советует не использовать генетические алгоритмы для любых задач:

[Это] совершенно неестественно моделировать приложения с помощью генетических операторов, таких как мутация и кроссовер битовых строк. Псевдобиология добавляет еще один уровень сложности между вами и вашей проблемой. Во-вторых, генетические алгоритмы требуют очень много времени для решения нетривиальных задач. [...] [T] аналогия с эволюцией - где значительный прогресс требует [sic] миллионов лет - может быть вполне уместным.

[...]

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

Стивен Скиена [38] : 267 

В 1950 году Алан Тьюринг предложил «обучающуюся машину», которая будет соответствовать принципам эволюции. [39] Компьютерное моделирование эволюции началось еще в 1954 году с работы Нильса Аалла Барричелли , который использовал компьютер в Институте перспективных исследований в Принстоне, штат Нью-Джерси . [40] [41] Его публикация 1954 года не получила широкого внимания. Начиная с 1957 года, [42] Австралийский количественный генетик Алекс Фрейзер опубликовал серию статей по моделированию искусственного отбора организмов с множественными локусами, контролирующими измеримый признак. С этого момента компьютерное моделирование эволюции биологами стало более распространенным в начале 1960-х годов, а методы были описаны в книгах Фрейзера и Бернелла (1970). [43] и Кросби (1973). [44] Моделирование Фрейзера включало в себя все основные элементы современных генетических алгоритмов. Кроме того, Ханс-Иоахим Бремерманн опубликовал в 1960-х годах серию статей, в которых также была принята совокупность решений задач оптимизации, подвергающихся рекомбинации, мутациям и отбору. Исследования Бремермана также включали элементы современных генетических алгоритмов. [45] Среди других примечательных пионеров — Ричард Фридберг, Джордж Фридман и Майкл Конрад. Многие ранние статьи перепечатаны Фогелем (1998). [46]

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

Коммерческие продукты

[ редактировать ]

В конце 1980-х годов General Electric начала продавать первый в мире продукт для генетических алгоритмов — набор инструментов на базе мэйнфреймов, предназначенный для промышленных процессов. [52] [ циклическая ссылка ] В 1989 году компания Axcelis, Inc. выпустила Evolver , первый в мире коммерческий продукт GA для настольных компьютеров. Обозреватель New York Times, пишущий о технологиях Джон Маркофф, написал: [53] об Evolver в 1990 году, и до 1995 года он оставался единственным интерактивным коммерческим генетическим алгоритмом. [54] Evolver был продан Palisade в 1997 году, переведен на несколько языков и в настоящее время находится в шестой версии. [55] С 1990-х годов MATLAB построил три эвристических алгоритма оптимизации без производных (имитация отжига, оптимизация роя частиц, генетический алгоритм) и два алгоритма прямого поиска (симплексный поиск, поиск по шаблону). [56]

[ редактировать ]

Родительские поля

[ редактировать ]

Генетические алгоритмы - это подполе:

[ редактировать ]

Эволюционные алгоритмы

[ редактировать ]

Эволюционные алгоритмы — это подобласть эволюционных вычислений .

  • Стратегии эволюции (ЭС, см. Рехенберг, 1994) развивают особей посредством мутаций и промежуточной или дискретной рекомбинации. Алгоритмы ES разработаны специально для решения задач в области реальных значений. [57] Они используют самоадаптацию для настройки параметров управления поиском. Дерандомизация самоадаптации привела к созданию современной Стратегии эволюции адаптации на основе ковариационной матрицы ( CMA-ES ).
  • Эволюционное программирование (ЭП) включает в себя совокупность решений, в основном с мутацией, отбором и произвольными представлениями. Они используют самоадаптацию для настройки параметров и могут включать в себя другие операции изменения, такие как объединение информации от нескольких родителей.
  • Алгоритм оценки распределения (EDA) заменяет традиционные операторы воспроизводства операторами, управляемыми моделями. Такие модели изучаются на основе совокупности с использованием методов машинного обучения и представляются как вероятностные графические модели, из которых можно выбирать новые решения. [58] [59] или сгенерирован из управляемого кроссовера. [60]
  • Генетическое программирование (GP) — это родственный метод, популяризированный Джоном Коза , при котором оптимизируются компьютерные программы, а не параметры функций. Генетическое программирование часто использует древовидные внутренние структуры данных для представления компьютерных программ для адаптации вместо списковых структур, типичных для генетических алгоритмов. Существует множество вариантов генетического программирования, включая декартово генетическое программирование , программирование экспрессии генов , [61] грамматическая эволюция , линейное генетическое программирование , программирование с несколькими выражениями и т. д.
  • Генетический алгоритм группировки (GGA) — это эволюция ГА, в которой фокус смещается с отдельных элементов, как в классических ГА, на группы или подмножества элементов. [62] Идея этой эволюции ГА, предложенная Эмануэлем Фалькенауэром, заключается в том, что решение некоторых сложных проблем, таких как проблемы кластеризации или разделения , когда набор элементов должен быть оптимальным образом разделен на непересекающиеся группы элементов, лучше достигать путем создания характеристик групп. предметов, эквивалентных генам. К такого рода проблемам относятся упаковка контейнеров , балансировка строк, кластеризация по мере расстояния, равные стопки и т. д., на которых классические ГА показали себя плохо. Чтобы сделать гены эквивалентными группам, необходимо использовать хромосомы, которые, как правило, имеют переменную длину, а также специальные генетические операторы, которые манипулируют целыми группами элементов. В частности, для упаковки контейнеров лучшим методом на сегодняшний день является GGA, гибридизированный с критерием доминирования Мартелло и Тота.
  • Интерактивные эволюционные алгоритмы — это эволюционные алгоритмы, использующие человеческую оценку. Они обычно применяются в областях, где сложно разработать функцию вычислительной пригодности, например, при разработке изображений, музыки, художественных проектов и форм в соответствии с эстетическими предпочтениями пользователей.

Роевой интеллект

[ редактировать ]

Роевой интеллект — это подобласть эволюционных вычислений .

  • Оптимизация колонии муравьев ( ACO ) использует множество муравьев (или агентов), оснащенных моделью феромонов, для перемещения по пространству решений и поиска локально продуктивных областей.
  • Хотя это и считается алгоритмом оценки распределения , [63] Оптимизация роя частиц (PSO) — это вычислительный метод многопараметрической оптимизации, который также использует популяционный подход. Популяция (рой) решений-кандидатов (частиц) перемещается в пространстве поиска, и на движение частиц влияет как их собственное наиболее известное положение, так и глобальное наиболее известное положение роя. Как и генетические алгоритмы, метод PSO зависит от обмена информацией между членами популяции. В некоторых задачах PSO часто более эффективен в вычислительном отношении, чем GA, особенно в задачах без ограничений с непрерывными переменными. [64]

Другие эволюционные вычислительные алгоритмы

[ редактировать ]

Эволюционные вычисления - это подобласть метаэвристических методов.

  • Меметический алгоритм (МА), часто называемый, среди прочего, гибридным генетическим алгоритмом , представляет собой популяционный метод, в котором решения также подлежат локальным этапам улучшения. Идея меметических алгоритмов исходит от мемов , которые, в отличие от генов, могут адаптироваться. Показано, что в некоторых проблемных областях они более эффективны, чем традиционные эволюционные алгоритмы.
  • Бактериологические алгоритмы (БА), вдохновленные эволюционной экологией и, в частности, бактериологической адаптацией. Эволюционная экология — это изучение живых организмов в контексте их окружающей среды с целью выяснить, как они адаптируются. Его основная концепция заключается в том, что в гетерогенной среде не существует ни одного человека, подходящего для всей среды. Значит, нужно рассуждать на уровне населения. Также считается, что БА можно успешно применять для решения сложных задач позиционирования (антенны для сотовых телефонов, городское планирование и т. д.) или интеллектуального анализа данных. [65]
  • Культурный алгоритм (КА) состоит из популяционного компонента, почти идентичного компоненту генетического алгоритма, и, кроме того, компонента знаний, называемого пространством убеждений.
  • Дифференциальная эволюция (ДЭ), вдохновленная миграцией суперорганизмов. [66]
  • Гауссова адаптация (нормальная или естественная адаптация, сокращенно NA, чтобы избежать путаницы с GA) предназначена для максимизации производительности производства систем обработки сигналов. Его также можно использовать для обычной параметрической оптимизации. Он опирается на определенную теорему, справедливую для всех областей приемлемости и всех гауссовских распределений. Эффективность NA опирается на теорию информации и определенную теорему эффективности. Его эффективность определяется как количество информации, разделенное на работу, необходимую для ее получения. [67] Поскольку NA максимизирует среднюю приспособленность, а не приспособленность индивидуума, ландшафт сглаживается так, что провалы между пиками могут исчезнуть. Поэтому у него есть определенное «амбиция» избегать локальных пиков фитнес-ландшафта. NA также хорошо справляется с преодолением острых гребней за счет адаптации матрицы моментов, поскольку NA может максимизировать беспорядок ( среднюю информацию ) гауссианы, одновременно сохраняя постоянную среднюю приспособленность .

Другие метаэвристические методы

[ редактировать ]

Метаэвристические методы в целом относятся к методам стохастической оптимизации.

  • Имитированный отжиг (SA) — это родственный метод глобальной оптимизации, который пересекает пространство поиска путем проверки случайных мутаций на отдельном решении. Мутация, повышающая приспособленность, всегда допускается. Мутация, снижающая приспособленность, принимается вероятностно на основе разницы в приспособленности и уменьшения температурного параметра. На языке ЮАР говорят о поиске наименьшей энергии вместо максимальной физической формы. SA также можно использовать в стандартном алгоритме GA, начиная с относительно высокой скорости мутаций и уменьшая ее с течением времени по заданному графику.
  • Поиск с табу (TS) аналогичен моделируемому отжигу в том, что оба метода пересекают пространство решений, проверяя мутации отдельного решения. В то время как имитация отжига генерирует только одно мутированное решение, поиск с табу генерирует множество мутировавших решений и переходит к решению с наименьшей энергией из сгенерированных. Чтобы предотвратить циклическое движение и стимулировать более активное движение по пространству решений, поддерживается запретный список частичных или полных решений. Запрещен переход к решению, содержащему элементы списка табу, который обновляется по мере прохождения решения по пространству решений.
  • Экстремальная оптимизация (EO). В отличие от ГА, которые работают с совокупностью возможных решений, EO разрабатывает одно решение и вносит локальные изменения в худшие компоненты. Для этого необходимо выбрать подходящее представление, позволяющее присвоить отдельным компонентам решения меру качества («пригодность»). Руководящим принципом этого алгоритма является принцип внезапного улучшения путем выборочного удаления некачественных компонентов и замены их случайно выбранным компонентом. Это явно противоречит ГА, который выбирает хорошие решения в попытке найти лучшие решения.

Другие методы стохастической оптимизации

[ редактировать ]
  • Метод перекрестной энтропии (CE) генерирует возможные решения с помощью параметризованного распределения вероятностей. Параметры обновляются посредством минимизации перекрестной энтропии, чтобы на следующей итерации генерировать более качественные выборки.
  • Реактивная поисковая оптимизация (RSO) выступает за интеграцию субсимвольных методов машинного обучения в эвристику поиска для решения сложных задач оптимизации. Слово «реактивный» намекает на готовую реакцию на события во время поиска через внутреннюю онлайн-петлю обратной связи для самонастройки критически важных параметров. Методологии, представляющие интерес для Реактивного поиска, включают машинное обучение и статистику, в частности обучение с подкреплением , активное обучение или обучение по запросам , нейронные сети и метаэвристику .

См. также

[ редактировать ]
  1. ^ Митчелл 1996 , с. 2.
  2. ^ Гергес, Фирас; Зуэн, Жермен; Азар, Даниэль (12 марта 2018 г.). «Генетические алгоритмы с обработкой локальных оптимумов для решения головоломок судоку» . Материалы Международной конференции по вычислительной технике и искусственному интеллекту 2018 года . ICCAI 2018. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 19–22. дои : 10.1145/3194452.3194463 . ISBN  978-1-4503-6419-5 . S2CID   44152535 .
  3. ^ Беркхарт, Майкл С.; Руис, Габриэль (2023). «Нейроэволюционные представления для изучения эффектов гетерогенного лечения» . Журнал вычислительной науки . 71 : 102054. doi : 10.1016/j.jocs.2023.102054 . S2CID   258752823 .
  4. ^ Jump up to: а б Уитли 1994 , с. 66.
  5. ^ Луке-Родригес, Мария; Молина-Баэна, Хосе; Хименес-Вильчес, Альфонсо; Араузо-Азофра, Антонио (2022). «Инициализация поиска по выбору признаков для классификации (раздел 3)» . Журнал исследований искусственного интеллекта . 75 : 953–983. дои : 10.1613/jair.1.14015 .
  6. ^ Эйбен, AE и др. (1994). «Генетические алгоритмы с многородительской рекомбинацией». PPSN III: Материалы Международной конференции по эволюционным вычислениям. Третья конференция по параллельному решению проблем природы: 78–87. ISBN   3-540-58484-6 .
  7. ^ Тинг, Чуан-Кан (2005). «О среднем времени сходимости многородительских генетических алгоритмов без отбора». Достижения в области искусственной жизни: 403–412. ISBN   978-3-540-28848-0 .
  8. ^ Деб, Калянмой; Спирс, Уильям М. (1997). «C6.2: Методы видообразования». Справочник по эволюционным вычислениям . Институт физического издательства. S2CID   3547258 .
  9. ^ Шир, Офер М. (2012). «Ниши в эволюционных алгоритмах». В Розенберге, Гжегоже; Бек, Томас; Кок, Йост Н. (ред.). Справочник по естественным вычислениям . Шпрингер Берлин Гейдельберг. стр. 1035–1069. дои : 10.1007/978-3-540-92910-9_32 . ISBN  9783540929093 .
  10. ^ Гольдберг 1989 , с. 41.
  11. ^ Харик, Жорж Р.; Лобо, Фернандо Г.; Састри, Кумара (1 января 2006 г.). «Обучение связи посредством вероятностного моделирования в расширенном компактном генетическом алгоритме (ECGA)». Масштабируемая оптимизация посредством вероятностного моделирования . Исследования в области вычислительного интеллекта. Том. 33. С. 39–61. дои : 10.1007/978-3-540-34954-9_3 . ISBN  978-3-540-34953-2 .
  12. ^ Пеликан, Мартин; Голдберг, Дэвид Э.; Канту-Пис, Эрик (1 января 1999 г.). BOA: Байесовский алгоритм оптимизации . Гекко'99. стр. 100-1 525–532. ISBN  9781558606111 . {{cite book}}: |journal= игнорируется ( помогите )
  13. ^ Гроб, Дэвид; Смит, Роберт Э. (1 января 2008 г.). «Обучение связям в оценке алгоритмов распределения». Связь в эволюционных вычислениях . Исследования в области вычислительного интеллекта. Том. 157. стр. 141–156. дои : 10.1007/978-3-540-85068-7_7 . ISBN  978-3-540-85067-0 .
  14. ^ Эчегоен, Карлос; Мендибуру, Александр; Сантана, Роберто; Лозано, Хосе А. (8 ноября 2012 г.). «О таксономии задач оптимизации при оценке алгоритмов распределения». Эволюционные вычисления . 21 (3): 471–495. дои : 10.1162/EVCO_a_00095 . ISSN   1063-6560 . ПМИД   23136917 . S2CID   26585053 .
  15. ^ Садовский, Кшиштоф Л.; Босман, Питер А.Н.; Тиеренс, Дирк (1 января 2013 г.). «О полезности обработки связей для решения MAX-SAT». Материалы 15-й ежегодной конференции по генетическим и эволюционным вычислениям . Гекко '13. стр. 853–860. дои : 10.1145/2463372.2463474 . hdl : 1874/290291 . ISBN  9781450319638 . S2CID   9986768 .
  16. ^ Тахерданку, Мохаммед; Пазиреш, Махса; Язди, Мехран; Багери, Мохаммад Хади (19 ноября 2012 г.). «Эффективный алгоритм оптимизации функций: модифицированный алгоритм стволовых клеток» . Центральноевропейский инженерный журнал . 3 (1): 36–50. дои : 10.2478/s13531-012-0047-8 .
  17. ^ Вулперт, Д.Х., Макриди, WG, 1995. Теоремы об отсутствии бесплатного обеда для оптимизации. Институт Санта-Фе, SFI-TR-05-010, Санта-Фе.
  18. ^ Голдберг, Дэвид Э. (1991). «Теория виртуальных алфавитов». Параллельное решение проблем из природы . Конспекты лекций по информатике. Том. 496. стр. 13–22. дои : 10.1007/BFb0029726 . ISBN  978-3-540-54148-6 . {{cite book}}: |journal= игнорируется ( помогите )
  19. ^ Яников, Чехия; Михалевич, З. (1991). «Экспериментальное сравнение двоичных представлений и представлений с плавающей запятой в генетических алгоритмах» (PDF) . Материалы четвертой международной конференции по генетическим алгоритмам : 31–36. Архивировано (PDF) из оригинала 9 октября 2022 года . Проверено 2 июля 2013 г.
  20. ^ Патраску, М.; Станку, А.Ф.; Поп, Ф. (2014). «HELGA: реалистичный генетический алгоритм с гетерогенным кодированием для моделирования и моделирования эволюции популяции». Мягкие вычисления . 18 (12): 2565–2576. дои : 10.1007/s00500-014-1401-y . S2CID   29821873 .
  21. ^ Балуджа, Шумит; Каруана, Рич (1995). Удаление генетики из стандартного генетического алгоритма (PDF) . ИКМЛ . Архивировано (PDF) из оригинала 9 октября 2022 года.
  22. ^ Станнат, В. (2004). «О сходимости генетических алгоритмов – вариационный подход» . Вероятно. Теория Отн. Поля . 129 : 113–132. дои : 10.1007/s00440-003-0330-y . S2CID   121086772 .
  23. ^ Шарапов Р.Р.; Лапшин, А.В. (2006). «Конвергенция генетических алгоритмов». Распознавание образов. Изображение Анал . 16 (3): 392–397. дои : 10.1134/S1054661806030084 . S2CID   22890010 .
  24. ^ Шринивас, М.; Патнаик, Л. (1994). «Адаптивные вероятности скрещивания и мутации в генетических алгоритмах» (PDF) . Транзакции IEEE по системам, человеку и кибернетике . 24 (4): 656–667. дои : 10.1109/21.286385 . Архивировано (PDF) из оригинала 9 октября 2022 года.
  25. ^ Квон, Ю.Д.; Квон, SB; Джин, С.Б.; Ким, JY (2003). «Генетический алгоритм с улучшенной сходимостью и методом последовательного масштабирования для решения задач непрерывной оптимизации». Компьютеры и конструкции . 81 (17): 1715–1725. дои : 10.1016/S0045-7949(03)00183-4 .
  26. ^ Чжан, Дж.; Чанг, Х.; Ло, WL (2007). «Адаптивное скрещивание на основе кластеризации и вероятности мутаций для генетических алгоритмов». Транзакции IEEE в эволюционных вычислениях . 11 (3): 326–335. дои : 10.1109/TEVC.2006.880727 . S2CID   2625150 .
  27. ^ Паваи, Г.; Гита, ТВ (2019). «Новые операторы кроссовера, использующие принципы доминирования и кодоминирования для более быстрой сходимости генетических алгоритмов». Мягкий компьютер . 23 (11): 3661–3686. дои : 10.1007/s00500-018-3016-1 . S2CID   254028984 .
  28. ^ Ли, JCF; Циммерле, Д.; Янг, П. (2022). «Гибкая сетевая электрификация сельской местности с использованием выравниваемого интерполяционного генетического алгоритма» . Энергетика и искусственный интеллект . 10 : 100186. Бибкод : 2022EneAI..1000186L . дои : 10.1016/j.egyai.2022.100186 . S2CID   250972466 .
  29. ^ См., например, «Эволюция в двух словах». Архивировано 15 апреля 2016 г. на Wayback Machine или пример задачи коммивояжера , в частности использование оператора рекомбинации ребер .
  30. ^ Гольдберг, Делавэр; Корб, Б.; Деб, К. (1989). «Грязные генетические алгоритмы: анализ мотивации и первые результаты» . Сложные системы . 5 (3): 493–530.
  31. ^ Экспрессия генов: недостающее звено в эволюционных вычислениях.
  32. ^ Харик, Г. (1997). Обучение связям для эффективного решения задач ограниченной сложности с использованием генетических алгоритмов (доктор философии). Кафедра компьютерных наук, Мичиганский университет, Анн-Арбур.
  33. ^ Томойагэ Б., Чиндрис М., Сампер А., Судрия-Андреу А., Виллафафила-Роблес Р. Оптимальная по Парето реконфигурация систем распределения электроэнергии с использованием генетического алгоритма на основе NSGA-II. Энергии. 2013 г.; 6(3):1439-1455.
  34. ^ Гросс, Билл (2 февраля 2009 г.). «Солнечная энергетическая система, которая отслеживает солнце» . ТЭД . Проверено 20 ноября 2013 г.
  35. ^ Хорнби, Г.С.; Линден, Д.С.; Лон, доктор медицинских наук, Автоматизированное проектирование антенн с помощью эволюционных алгоритмов (PDF)
  36. ^ «Гибкое передвижение двуногих существ с помощью мышц» .
  37. ^ Эванс, Б.; Уолтон, СП (декабрь 2017 г.). «Аэродинамическая оптимизация гиперзвукового возвращаемого аппарата на основе решения уравнения Больцмана – БГК и эволюционной оптимизации» . Прикладное математическое моделирование . 52 : 215–240. дои : 10.1016/j.apm.2017.07.024 . ISSN   0307-904X .
  38. ^ Скиена, Стивен (2010). Руководство по разработке алгоритмов (2-е изд.). Springer Science+Business Media . ISBN  978-1-849-96720-4 .
  39. ^ Тьюринг, Алан М. (октябрь 1950 г.). «Вычислительная техника и интеллект». Разум . ЛИКС (238): 433–460. дои : 10.1093/mind/LIX.236.433 .
  40. ^ Барричелли, Нильс Аалл (1954). «Численные примеры эволюционных процессов». Методы : 45–68.
  41. ^ Барричелли, Нильс Аалл (1957). «Процессы симбиогенной эволюции, реализуемые искусственными методами». Методы : 143–182.
  42. ^ Фрейзер, Алекс (1957). «Моделирование генетических систем на автоматических цифровых вычислительных машинах. I. Введение» . Ауст. Ж. Биол. Наука . 10 (4): 484–491. дои : 10.1071/BI9570484 .
  43. ^ Фрейзер, Алекс ; Бернелл, Дональд (1970). Компьютерные модели в генетике . Нью-Йорк: МакГроу-Хилл. ISBN  978-0-07-021904-5 .
  44. ^ Кросби, Джек Л. (1973). Компьютерное моделирование в генетике . Лондон: Джон Уайли и сыновья. ISBN  978-0-471-18880-3 .
  45. ^ 27 февраля 1996 г. - Ганс Бремерманн из Калифорнийского университета в Беркли, почетный профессор и пионер математической биологии, умер в возрасте 69 лет.
  46. ^ Фогель, Дэвид Б., изд. (1998). Эволюционные вычисления: летопись окаменелостей . Нью-Йорк: IEEE Press. ISBN  978-0-7803-3481-6 .
  47. ^ Барричелли, Нильс Аалл (1963). «Численная проверка теорий эволюции. Часть II. Предварительные испытания работоспособности, симбиогенеза и земной жизни». Acta Biotheoretica . 16 (3–4): 99–126. дои : 10.1007/BF01556602 . S2CID   86717105 .
  48. ^ Речехберг, Инго (1973). Стратегия эволюции . Штутгарт: Хольцманн-Фробуг. ISBN  978-3-7728-0373-4 .
  49. ^ Сера, Ханс-Поль (1974). Численная оптимизация компьютерных моделей (кандидатская диссертация) .
  50. ^ Сера, Ханс-Поль (1977). Численная оптимизация компьютерных моделей с использованием эволюционной стратегии: со сравнительным введением в стратегию восхождения на холм и случайные стратегии . Базель; Штутгарт: Биркхойзер. ISBN  978-3-7643-0876-6 .
  51. ^ Сера, Ханс-Поль (1981). Численная оптимизация компьютерных моделей (Перевод 1977 г. «Численная оптимизация компьютерных моделей с использованием эволюционной стратегии» . Чичестер; Нью-Йорк: Wiley. ISBN).  978-0-471-09988-8 .
  52. ^ Алдавуди, Намир (2008). Подход к проектированию автопилота беспилотного вертолета с использованием генетических алгоритмов и моделирования отжига . п. 99. ИСБН  978-0549773498 – через Google Книги.
  53. ^ Маркофф, Джон (29 августа 1990 г.). «Какой ответ лучший? Это выживает сильнейший» . Нью-Йорк Таймс . Проверено 13 июля 2016 г.
  54. ^ Руджеро, Мюррей А.. (1 августа 2009 г.) Пятнадцать лет и продолжается. Архивировано 30 января 2016 г. в Wayback Machine . Futuresmag.com. Проверено 7 августа 2013 г.
  55. ^ Evolver: Сложная оптимизация для электронных таблиц . Частокол. Проверено 7 августа 2013 г.
  56. ^ Ли, Лин; Салдивар, Альфредо Алан Флорес; Бай, Юн; Чен, Йи; Лю, Цюньфэн; Ли, Юн (2019). «Эталоны для оценки алгоритмов оптимизации и бенчмаркинга оптимизаторов MATLAB без производных для быстрого доступа практикующих специалистов» . Доступ IEEE . 7 : 79657–79670. Бибкод : 2019IEEA...779657L . дои : 10.1109/ACCESS.2019.2923092 . S2CID   195774435 .
  57. ^ Кохун, Дж; и др. (2002). Эволюционные алгоритмы физического проектирования схем СБИС (PDF) . Спрингер, стр. 683–712, 2003. ISBN.  978-3-540-43330-9 . Архивировано (PDF) из оригинала 9 октября 2022 года. {{cite book}}: |journal= игнорируется ( помогите )
  58. ^ Пеликан, Мартин; Голдберг, Дэвид Э.; Канту-Пис, Эрик (1 января 1999 г.). BOA: Байесовский алгоритм оптимизации . Гекко'99. стр. 100-1 525–532. ISBN  9781558606111 . {{cite book}}: |journal= игнорируется ( помогите )
  59. ^ Пеликан, Мартин (2005). Иерархический алгоритм байесовской оптимизации: к новому поколению эволюционных алгоритмов (1-е изд.). Берлин [ua]: Шпрингер. ISBN  978-3-540-23774-7 .
  60. ^ Тиренс, Дирк (11 сентября 2010 г.). «Генетический алгоритм дерева связей». Параллельное решение проблем из природы, PPSN XI . стр. 264–273. дои : 10.1007/978-3-642-15844-5_27 . ISBN  978-3-642-15843-8 .
  61. ^ Феррейра, К. (2001). «Программирование экспрессии генов: новый адаптивный алгоритм решения проблем» (PDF) . Сложные системы . 13 (2): 87–129. arXiv : cs/0102027 . Бибкод : 2001cs........2027F . Архивировано (PDF) из оригинала 9 октября 2022 года.
  62. ^ Фалькенауэр, Эмануэль (1997). Генетические алгоритмы и проблемы группировки . Чичестер, Англия: ISBN John Wiley & Sons Ltd.  978-0-471-97150-4 .
  63. ^ Злочин, Марк; Бираттари, Мауро; Мело, Николя; Дориго, Марко (1 октября 2004 г.). «Модельный поиск для комбинаторной оптимизации: критический обзор». Анналы исследования операций . 131 (1–4): 373–395. CiteSeerX   10.1.1.3.427 . doi : 10.1023/B:ANOR.0000039526.52305.af . ISSN   0254-5330 . S2CID   63137 .
  64. ^ Рания Хасан, Бабак Коэним, Оливье де Век, Герхард Венте r (2005) Сравнение оптимизации роя частиц и генетического алгоритма.
  65. ^ Бодри, Бенуа; Франк Флери; Жан-Марк Жезекель ; Ив Ле Траон (март – апрель 2005 г.). «Автоматическая оптимизация тестовых примеров: бактериологический алгоритм» (PDF) . Программное обеспечение IEEE . 22 (2): 76–82. дои : 10.1109/MS.2005.30 . S2CID   3559602 . Архивировано (PDF) из оригинала 9 октября 2022 года . Проверено 9 августа 2009 г.
  66. ^ Чивичиоглу, П. (2012). «Преобразование геоцентрических декартовых координат в геодезические координаты с использованием алгоритма дифференциального поиска». Компьютеры и геологические науки . 46 : 229–247. Бибкод : 2012CG.....46..229C . дои : 10.1016/j.cageo.2011.12.011 .
  67. ^ Кьельстрем, Г. (декабрь 1991 г.). «Об эффективности гауссовой адаптации». Журнал теории оптимизации и приложений . 71 (3): 589–597. дои : 10.1007/BF00941405 . S2CID   116847975 .

Библиография

[ редактировать ]
[ редактировать ]

Учебники

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b5230022a6e01679fd8be68a5012e5db__1722020640
URL1:https://arc.ask3.ru/arc/aa/b5/db/b5230022a6e01679fd8be68a5012e5db.html
Заголовок, (Title) документа по адресу, URL1:
Genetic algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)