Генетический алгоритм
В информатике и исследовании операций генетический алгоритм ( ГА ) — это метаэвристика, вдохновленная процессом естественного отбора и принадлежащая к более широкому классу эволюционных алгоритмов (ЭА). Генетические алгоритмы обычно используются для генерации высококачественных решений задач оптимизации и поиска, полагаясь на биологически обусловленные операторы, такие как мутация , скрещивание и отбор . [1] Некоторые примеры приложений GA включают оптимизацию деревьев решений для повышения производительности, решение головоломок судоку , [2] оптимизация гиперпараметров , причинный вывод , [3] и т. д.
Методология
[ редактировать ]Проблемы оптимизации
[ редактировать ]В генетическом алгоритме совокупность вариантов решения (называемых особями, существами, организмами или фенотипами ) задачи оптимизации эволюционирует в сторону лучших решений. Каждое решение-кандидат имеет набор свойств ( хромосомы или генотип ), которые можно мутировать и изменять; традиционно решения представляются в двоичном виде в виде строк из 0 и 1, но возможны и другие кодировки. [4]
Эволюция обычно начинается с популяции случайно сгенерированных особей и представляет собой итеративный процесс , при этом популяция на каждой итерации называется поколением . В каждом поколении оценивается приспособленность каждой особи в популяции; приспособленность обычно представляет собой значение целевой функции в решаемой задаче оптимизации. выбираются более приспособленные особи Из текущей популяции случайным образом , и геном каждого индивидуума модифицируется ( рекомбинируется и, возможно, случайным образом мутирует) для формирования нового поколения. Новое поколение возможных решений затем используется в следующей итерации алгоритма . Обычно алгоритм завершает работу, когда создано максимальное количество поколений или достигнут удовлетворительный уровень приспособленности популяции.
Типичный генетический алгоритм требует:
- генетическое представление области решения,
- функция приспособленности для оценки области решения.
Стандартное представление каждого возможного решения представляет собой массив битов (также называемый набором битов или битовой строкой ). [4] Массивы других типов и структур можно использовать по существу таким же образом. Основное свойство, делающее эти генетические представления удобными, заключается в том, что их части легко выравниваются благодаря фиксированному размеру, что облегчает простые скрещивания операции . Также можно использовать представления переменной длины, но реализация кроссовера в этом случае более сложна. Древовидные представления исследуются в генетическом программировании , а представления в виде графов исследуются в эволюционном программировании ; исследуется сочетание как линейных хромосом, так и деревьев В программировании экспрессии генов .
После того, как генетическое представление и функция приспособленности определены, ГА приступает к инициализации совокупности решений, а затем улучшает ее посредством многократного применения операторов мутации, кроссовера, инверсии и выбора.
Инициализация
[ редактировать ]Размер популяции зависит от характера проблемы, но обычно содержит сотни или тысячи возможных решений. Часто начальная популяция генерируется случайным образом, позволяя использовать весь диапазон возможных решений ( пространство поиска ). Иногда решения могут быть «засеяны» в областях, где оптимальные решения могут быть найдены, или распределение вероятности выборки может быть настроено так, чтобы сосредоточиться на тех областях, которые представляют больший интерес. [5]
Выбор
[ редактировать ]В каждом последующем поколении часть существующей популяции отбирается для воспроизводства нового поколения. Отдельные решения выбираются посредством процесса, основанного на пригодности , при этом более вероятные решения (измеряемые функцией приспособленности ) обычно выбираются с большей вероятностью. Определенные методы отбора оценивают пригодность каждого решения и отбирают преимущественно лучшие решения. Другие методы оценивают только случайную выборку населения, поскольку первый процесс может занять очень много времени.
Функция приспособленности определяется по генетическому представлению и измеряет качество представленного решения. Функция приспособленности всегда зависит от проблемы. Например, в задаче о рюкзаке требуется максимизировать общую ценность объектов, которые можно поместить в рюкзак некоторой фиксированной вместимости. Представлением решения может быть массив битов, где каждый бит представляет отдельный объект, а значение бита (0 или 1) показывает, находится ли объект в рюкзаке или нет. Не каждое такое представление допустимо, так как размер предметов может превышать вместимость рюкзака. Пригодность . решения равна сумме значений всех объектов в рюкзаке, если представление верно, или 0 в противном случае
В некоторых задачах трудно или даже невозможно определить выражение приспособленности; в этих случаях моделирование может использоваться для определения значения функции приспособленности фенотипа ( например, вычислительная гидродинамика используется для определения сопротивления воздуха транспортного средства, форма которого кодируется как фенотип) или даже интерактивные генетические алгоритмы используются .
Генетические операторы
[ редактировать ]Следующим шагом является создание популяции решений второго поколения из выбранных с помощью комбинации генетических операторов : скрещивания (также называемого рекомбинацией) и мутации .
Для каждого нового раствора, который будет получен, для разведения выбирается пара «родительских» решений из пула, выбранного ранее. Создавая «дочернее» решение с использованием описанных выше методов скрещивания и мутации, создается новое решение, которое обычно имеет многие характеристики своих «родителей». Для каждого нового ребенка выбираются новые родители, и процесс продолжается до тех пор, пока не будет создана новая совокупность решений соответствующего размера. Хотя методы размножения, основанные на использовании двух родителей, более «вдохновлены биологией», некоторые исследования [6] [7] предполагает, что более двух «родителей» производят хромосомы более высокого качества.
Эти процессы в конечном итоге приводят к появлению популяции хромосом следующего поколения, которая отличается от исходного поколения. Как правило, благодаря этой процедуре средняя приспособленность популяции увеличивается, поскольку для размножения отбираются только лучшие организмы первого поколения, а также небольшая часть менее подходящих решений. Эти менее подходящие решения обеспечивают генетическое разнообразие в генетическом пуле родителей и, следовательно, обеспечивают генетическое разнообразие последующего поколения детей.
Мнения относительно важности скрещивания и мутации разделились. (2006) есть много ссылок В Fogel , подтверждающих важность поиска на основе мутаций.
Хотя скрещивание и мутация известны как основные генетические операторы, в генетических алгоритмах можно использовать и другие операторы, такие как перегруппировка, колонизация-вымирание или миграция. [ нужна ссылка ]
Стоит настроить такие параметры, как вероятность мутации , вероятность скрещивания и размер популяции, чтобы найти разумные настройки для класса проблем, над которым ведется работа. Очень небольшая частота мутаций может привести к генетическому дрейфу (который имеет неэргодическую природу ). Слишком высокая скорость рекомбинации может привести к преждевременной сходимости генетического алгоритма. Слишком высокая частота мутаций может привести к потере хороших решений, если не будет использован элитарный отбор . Адекватный размер популяции обеспечивает достаточное генетическое разнообразие для решения рассматриваемой проблемы, но может привести к пустой трате вычислительных ресурсов, если установить значение, превышающее требуемое.
Эвристика
[ редактировать ]В дополнение к основным операторам, указанным выше, можно использовать другие эвристики , чтобы сделать расчет быстрее или более надежным. Эвристика видообразования наказывает за пересечение между кандидатами, которые слишком похожи; это способствует разнообразию населения и помогает предотвратить преждевременный переход к менее оптимальному решению. [8] [9]
Прекращение действия
[ редактировать ]Этот процесс генерации повторяется до тех пор, пока не будет достигнуто условие завершения. Общие условия завершения:
- Найдено решение, удовлетворяющее минимальным критериям
- Достигнуто фиксированное количество поколений
- Выделенный бюджет (время вычислений/деньги) достигнут
- Пригодность решения с самым высоким рейтингом достигает или достигла плато, так что последующие итерации больше не дают лучших результатов.
- Ручной осмотр
- Комбинации вышеперечисленного
Гипотеза строительных блоков
[ редактировать ]Генетические алгоритмы просты в реализации, но их поведение сложно понять. В частности, трудно понять, почему эти алгоритмы часто позволяют генерировать решения с высокой пригодностью при применении к практическим задачам. Гипотеза строительных блоков (BBH) состоит из:
- Описание эвристики, которая выполняет адаптацию путем идентификации и рекомбинации «строительных блоков», то есть схем низкого порядка, малой определяющей длины и пригодности выше средней.
- Гипотеза о том, что генетический алгоритм выполняет адаптацию, неявно и эффективно реализуя эту эвристику.
Гольдберг описывает эвристику следующим образом:
- «Короткие схемы низкого порядка и схемы с высокой степенью соответствия отбираются, рекомбинируются [пересекаются] и повторно выбираются для формирования строк потенциально более высокой пригодности. В некотором смысле, работая с этими конкретными схемами [строительными блоками], мы уменьшили сложность нашей проблемы; вместо того, чтобы строить высокопроизводительные струны, пробуя все мыслимые комбинации, мы конструируем все лучшие и лучшие струны из лучших частичных решений прошлых выборок.
- «Поскольку очень подходящие схемы малой определяющей длины и низкого порядка играют такую важную роль в работе генетических алгоритмов, мы уже дали им специальное название: строительные блоки. Точно так же, как ребенок создает великолепные крепости, располагая простые блоки Так и генетический алгоритм стремится к почти оптимальной производительности за счет сопоставления коротких, высокопроизводительных схем низкого порядка или строительных блоков». [10]
Несмотря на отсутствие консенсуса относительно обоснованности гипотезы строительных блоков, она последовательно оценивалась и использовалась в качестве эталона на протяжении многих лет. многие алгоритмы оценки распределения были предложены в попытке создать среду, в которой гипотеза будет выполняться. Например, [11] [12] Хотя для некоторых классов задач были получены хорошие результаты, скептицизм относительно общности и/или практичности гипотезы строительных блоков как объяснения эффективности ГА все еще сохраняется. Действительно, существует значительный объем работы, в которой предпринимаются попытки понять его ограничения с точки зрения оценки алгоритмов распределения. [13] [14] [15]
Ограничения
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Март 2024 г. ) |
Практическое использование генетического алгоритма имеет ограничения, особенно по сравнению с альтернативными алгоритмами оптимизации:
- Повторная оценка функции приспособленности для сложных задач часто является наиболее запретительным и ограничивающим сегментом искусственных эволюционных алгоритмов. Поиск оптимального решения сложных многомерных мультимодальных задач часто требует очень дорогостоящих оценок функции приспособленности . В реальных задачах, таких как задачи структурной оптимизации, оценка одной функции может потребовать от нескольких часов до нескольких дней полного моделирования. Типичные методы оптимизации не могут справиться с такими типами проблем. В этом случае может оказаться необходимым отказаться от точной оценки и использовать приближенную пригодность , которая является эффективной в вычислительном отношении. Очевидно, что объединение приближенных моделей может быть одним из наиболее многообещающих подходов к убедительному использованию ГА для решения сложных проблем реальной жизни. [ нужна ссылка ]
- Генетические алгоритмы плохо масштабируются по мере увеличения сложности. То есть там, где количество элементов, подвергающихся мутациям, велико, часто происходит экспоненциальное увеличение размера пространства поиска. Это чрезвычайно затрудняет использование этой техники при решении таких задач, как проектирование двигателя, дома или самолета. [ нужна ссылка ] . Чтобы сделать такие проблемы доступными для эволюционного поиска, их необходимо разбить на простейшие возможные представления. Следовательно, мы обычно видим, как эволюционные алгоритмы кодируют конструкции лопастей вентилятора вместо двигателей, формы зданий вместо подробных планов строительства и аэродинамические профили вместо конструкций самолетов целиком. Вторая проблема сложности — это вопрос о том, как защитить части, которые развились и представляют собой хорошие решения, от дальнейших деструктивных мутаций, особенно когда оценка их пригодности требует, чтобы они хорошо сочетались с другими частями. [ нужна ссылка ]
- «Лучшее» решение только по сравнению с другими решениями. В результате критерий остановки не во всех задачах ясен. [ нужна ссылка ]
- Во многих задачах ГА имеют тенденцию сходиться к локальному оптимуму или даже произвольным точкам, а не к глобальному оптимуму задачи. Это означает, что он не «знает, как» пожертвовать краткосрочной приспособленностью ради достижения долгосрочной приспособленности. Вероятность этого зависит от формы ландшафта приспособленности : некоторые проблемы могут обеспечить легкий подъем к глобальному оптимуму, другие могут облегчить функции поиск локальных оптимумов. Эту проблему можно облегчить, используя другую функцию приспособленности, увеличивая скорость мутаций или используя методы отбора, которые поддерживают разнообразную популяцию решений. [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]
Связанные методы
[ редактировать ]Родительские поля
[ редактировать ]Генетические алгоритмы - это подполе:
Связанные поля
[ редактировать ]Эволюционные алгоритмы
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Май 2011 г. ) |
Эволюционные алгоритмы — это подобласть эволюционных вычислений .
- Стратегии эволюции (ЭС, см. Рехенберг, 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) выступает за интеграцию субсимвольных методов машинного обучения в эвристику поиска для решения сложных задач оптимизации. Слово «реактивный» намекает на готовую реакцию на события во время поиска через внутреннюю онлайн-петлю обратной связи для самонастройки критически важных параметров. Методологии, представляющие интерес для Реактивного поиска, включают машинное обучение и статистику, в частности обучение с подкреплением , активное обучение или обучение по запросам , нейронные сети и метаэвристику .
См. также
[ редактировать ]- Генетическое программирование
- Список приложений генетических алгоритмов
- Генетические алгоритмы обработки сигналов (также известные как фильтры частиц)
- Распространение схемы
- Универсальный дарвинизм
- Метаэвристика
- Система классификаторов обучения
- Машинное обучение на основе правил
Ссылки
[ редактировать ]- ^ Митчелл 1996 , с. 2.
- ^ Гергес, Фирас; Зуэн, Жермен; Азар, Даниэль (12 марта 2018 г.). «Генетические алгоритмы с обработкой локальных оптимумов для решения головоломок судоку» . Материалы Международной конференции по вычислительной технике и искусственному интеллекту 2018 года . ICCAI 2018. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 19–22. дои : 10.1145/3194452.3194463 . ISBN 978-1-4503-6419-5 . S2CID 44152535 .
- ^ Беркхарт, Майкл С.; Руис, Габриэль (2023). «Нейроэволюционные представления для изучения эффектов гетерогенного лечения» . Журнал вычислительной науки . 71 : 102054. doi : 10.1016/j.jocs.2023.102054 . S2CID 258752823 .
- ^ Jump up to: а б Уитли 1994 , с. 66.
- ^ Луке-Родригес, Мария; Молина-Баэна, Хосе; Хименес-Вильчес, Альфонсо; Араузо-Азофра, Антонио (2022). «Инициализация поиска по выбору признаков для классификации (раздел 3)» . Журнал исследований искусственного интеллекта . 75 : 953–983. дои : 10.1613/jair.1.14015 .
- ^ Эйбен, AE и др. (1994). «Генетические алгоритмы с многородительской рекомбинацией». PPSN III: Материалы Международной конференции по эволюционным вычислениям. Третья конференция по параллельному решению проблем природы: 78–87. ISBN 3-540-58484-6 .
- ^ Тинг, Чуан-Кан (2005). «О среднем времени сходимости многородительских генетических алгоритмов без отбора». Достижения в области искусственной жизни: 403–412. ISBN 978-3-540-28848-0 .
- ^ Деб, Калянмой; Спирс, Уильям М. (1997). «C6.2: Методы видообразования». Справочник по эволюционным вычислениям . Институт физического издательства. S2CID 3547258 .
- ^ Шир, Офер М. (2012). «Ниши в эволюционных алгоритмах». В Розенберге, Гжегоже; Бек, Томас; Кок, Йост Н. (ред.). Справочник по естественным вычислениям . Шпрингер Берлин Гейдельберг. стр. 1035–1069. дои : 10.1007/978-3-540-92910-9_32 . ISBN 9783540929093 .
- ^ Гольдберг 1989 , с. 41.
- ^ Харик, Жорж Р.; Лобо, Фернандо Г.; Састри, Кумара (1 января 2006 г.). «Обучение связи посредством вероятностного моделирования в расширенном компактном генетическом алгоритме (ECGA)». Масштабируемая оптимизация посредством вероятностного моделирования . Исследования в области вычислительного интеллекта. Том. 33. С. 39–61. дои : 10.1007/978-3-540-34954-9_3 . ISBN 978-3-540-34953-2 .
- ^ Пеликан, Мартин; Голдберг, Дэвид Э.; Канту-Пис, Эрик (1 января 1999 г.). BOA: Байесовский алгоритм оптимизации . Гекко'99. стр. 100-1 525–532. ISBN 9781558606111 .
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Гроб, Дэвид; Смит, Роберт Э. (1 января 2008 г.). «Обучение связям в оценке алгоритмов распределения». Связь в эволюционных вычислениях . Исследования в области вычислительного интеллекта. Том. 157. стр. 141–156. дои : 10.1007/978-3-540-85068-7_7 . ISBN 978-3-540-85067-0 .
- ^ Эчегоен, Карлос; Мендибуру, Александр; Сантана, Роберто; Лозано, Хосе А. (8 ноября 2012 г.). «О таксономии задач оптимизации при оценке алгоритмов распределения». Эволюционные вычисления . 21 (3): 471–495. дои : 10.1162/EVCO_a_00095 . ISSN 1063-6560 . ПМИД 23136917 . S2CID 26585053 .
- ^ Садовский, Кшиштоф Л.; Босман, Питер А.Н.; Тиеренс, Дирк (1 января 2013 г.). «О полезности обработки связей для решения MAX-SAT». Материалы 15-й ежегодной конференции по генетическим и эволюционным вычислениям . Гекко '13. стр. 853–860. дои : 10.1145/2463372.2463474 . hdl : 1874/290291 . ISBN 9781450319638 . S2CID 9986768 .
- ^ Тахерданку, Мохаммед; Пазиреш, Махса; Язди, Мехран; Багери, Мохаммад Хади (19 ноября 2012 г.). «Эффективный алгоритм оптимизации функций: модифицированный алгоритм стволовых клеток» . Центральноевропейский инженерный журнал . 3 (1): 36–50. дои : 10.2478/s13531-012-0047-8 .
- ^ Вулперт, Д.Х., Макриди, WG, 1995. Теоремы об отсутствии бесплатного обеда для оптимизации. Институт Санта-Фе, SFI-TR-05-010, Санта-Фе.
- ^ Голдберг, Дэвид Э. (1991). «Теория виртуальных алфавитов». Параллельное решение проблем из природы . Конспекты лекций по информатике. Том. 496. стр. 13–22. дои : 10.1007/BFb0029726 . ISBN 978-3-540-54148-6 .
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Яников, Чехия; Михалевич, З. (1991). «Экспериментальное сравнение двоичных представлений и представлений с плавающей запятой в генетических алгоритмах» (PDF) . Материалы четвертой международной конференции по генетическим алгоритмам : 31–36. Архивировано (PDF) из оригинала 9 октября 2022 года . Проверено 2 июля 2013 г.
- ^ Патраску, М.; Станку, А.Ф.; Поп, Ф. (2014). «HELGA: реалистичный генетический алгоритм с гетерогенным кодированием для моделирования и моделирования эволюции популяции». Мягкие вычисления . 18 (12): 2565–2576. дои : 10.1007/s00500-014-1401-y . S2CID 29821873 .
- ^ Балуджа, Шумит; Каруана, Рич (1995). Удаление генетики из стандартного генетического алгоритма (PDF) . ИКМЛ . Архивировано (PDF) из оригинала 9 октября 2022 года.
- ^ Станнат, В. (2004). «О сходимости генетических алгоритмов – вариационный подход» . Вероятно. Теория Отн. Поля . 129 : 113–132. дои : 10.1007/s00440-003-0330-y . S2CID 121086772 .
- ^ Шарапов Р.Р.; Лапшин, А.В. (2006). «Конвергенция генетических алгоритмов». Распознавание образов. Изображение Анал . 16 (3): 392–397. дои : 10.1134/S1054661806030084 . S2CID 22890010 .
- ^ Шринивас, М.; Патнаик, Л. (1994). «Адаптивные вероятности скрещивания и мутации в генетических алгоритмах» (PDF) . Транзакции IEEE по системам, человеку и кибернетике . 24 (4): 656–667. дои : 10.1109/21.286385 . Архивировано (PDF) из оригинала 9 октября 2022 года.
- ^ Квон, Ю.Д.; Квон, SB; Джин, С.Б.; Ким, JY (2003). «Генетический алгоритм с улучшенной сходимостью и методом последовательного масштабирования для решения задач непрерывной оптимизации». Компьютеры и конструкции . 81 (17): 1715–1725. дои : 10.1016/S0045-7949(03)00183-4 .
- ^ Чжан, Дж.; Чанг, Х.; Ло, WL (2007). «Адаптивное скрещивание на основе кластеризации и вероятности мутаций для генетических алгоритмов». Транзакции IEEE в эволюционных вычислениях . 11 (3): 326–335. дои : 10.1109/TEVC.2006.880727 . S2CID 2625150 .
- ^ Паваи, Г.; Гита, ТВ (2019). «Новые операторы кроссовера, использующие принципы доминирования и кодоминирования для более быстрой сходимости генетических алгоритмов». Мягкий компьютер . 23 (11): 3661–3686. дои : 10.1007/s00500-018-3016-1 . S2CID 254028984 .
- ^ Ли, JCF; Циммерле, Д.; Янг, П. (2022). «Гибкая сетевая электрификация сельской местности с использованием выравниваемого интерполяционного генетического алгоритма» . Энергетика и искусственный интеллект . 10 : 100186. Бибкод : 2022EneAI..1000186L . дои : 10.1016/j.egyai.2022.100186 . S2CID 250972466 .
- ^ См., например, «Эволюция в двух словах». Архивировано 15 апреля 2016 г. на Wayback Machine или пример задачи коммивояжера , в частности использование оператора рекомбинации ребер .
- ^ Гольдберг, Делавэр; Корб, Б.; Деб, К. (1989). «Грязные генетические алгоритмы: анализ мотивации и первые результаты» . Сложные системы . 5 (3): 493–530.
- ^ Экспрессия генов: недостающее звено в эволюционных вычислениях.
- ^ Харик, Г. (1997). Обучение связям для эффективного решения задач ограниченной сложности с использованием генетических алгоритмов (доктор философии). Кафедра компьютерных наук, Мичиганский университет, Анн-Арбур.
- ^ Томойагэ Б., Чиндрис М., Сампер А., Судрия-Андреу А., Виллафафила-Роблес Р. Оптимальная по Парето реконфигурация систем распределения электроэнергии с использованием генетического алгоритма на основе NSGA-II. Энергии. 2013 г.; 6(3):1439-1455.
- ^ Гросс, Билл (2 февраля 2009 г.). «Солнечная энергетическая система, которая отслеживает солнце» . ТЭД . Проверено 20 ноября 2013 г.
- ^ Хорнби, Г.С.; Линден, Д.С.; Лон, доктор медицинских наук, Автоматизированное проектирование антенн с помощью эволюционных алгоритмов (PDF)
- ^ «Гибкое передвижение двуногих существ с помощью мышц» .
- ^ Эванс, Б.; Уолтон, СП (декабрь 2017 г.). «Аэродинамическая оптимизация гиперзвукового возвращаемого аппарата на основе решения уравнения Больцмана – БГК и эволюционной оптимизации» . Прикладное математическое моделирование . 52 : 215–240. дои : 10.1016/j.apm.2017.07.024 . ISSN 0307-904X .
- ^ Скиена, Стивен (2010). Руководство по разработке алгоритмов (2-е изд.). Springer Science+Business Media . ISBN 978-1-849-96720-4 .
- ^ Тьюринг, Алан М. (октябрь 1950 г.). «Вычислительная техника и интеллект». Разум . ЛИКС (238): 433–460. дои : 10.1093/mind/LIX.236.433 .
- ^ Барричелли, Нильс Аалл (1954). «Численные примеры эволюционных процессов». Методы : 45–68.
- ^ Барричелли, Нильс Аалл (1957). «Процессы симбиогенной эволюции, реализуемые искусственными методами». Методы : 143–182.
- ^ Фрейзер, Алекс (1957). «Моделирование генетических систем на автоматических цифровых вычислительных машинах. I. Введение» . Ауст. Ж. Биол. Наука . 10 (4): 484–491. дои : 10.1071/BI9570484 .
- ^ Фрейзер, Алекс ; Бернелл, Дональд (1970). Компьютерные модели в генетике . Нью-Йорк: МакГроу-Хилл. ISBN 978-0-07-021904-5 .
- ^ Кросби, Джек Л. (1973). Компьютерное моделирование в генетике . Лондон: Джон Уайли и сыновья. ISBN 978-0-471-18880-3 .
- ^ 27 февраля 1996 г. - Ганс Бремерманн из Калифорнийского университета в Беркли, почетный профессор и пионер математической биологии, умер в возрасте 69 лет.
- ^ Фогель, Дэвид Б., изд. (1998). Эволюционные вычисления: летопись окаменелостей . Нью-Йорк: IEEE Press. ISBN 978-0-7803-3481-6 .
- ^ Барричелли, Нильс Аалл (1963). «Численная проверка теорий эволюции. Часть II. Предварительные испытания работоспособности, симбиогенеза и земной жизни». Acta Biotheoretica . 16 (3–4): 99–126. дои : 10.1007/BF01556602 . S2CID 86717105 .
- ^ Речехберг, Инго (1973). Стратегия эволюции . Штутгарт: Хольцманн-Фробуг. ISBN 978-3-7728-0373-4 .
- ^ Сера, Ханс-Поль (1974). Численная оптимизация компьютерных моделей (кандидатская диссертация) .
- ^ Сера, Ханс-Поль (1977). Численная оптимизация компьютерных моделей с использованием эволюционной стратегии: со сравнительным введением в стратегию восхождения на холм и случайные стратегии . Базель; Штутгарт: Биркхойзер. ISBN 978-3-7643-0876-6 .
- ^ Сера, Ханс-Поль (1981). Численная оптимизация компьютерных моделей (Перевод 1977 г. «Численная оптимизация компьютерных моделей с использованием эволюционной стратегии» . Чичестер; Нью-Йорк: Wiley. ISBN). 978-0-471-09988-8 .
- ^ Алдавуди, Намир (2008). Подход к проектированию автопилота беспилотного вертолета с использованием генетических алгоритмов и моделирования отжига . п. 99. ИСБН 978-0549773498 – через Google Книги.
- ^ Маркофф, Джон (29 августа 1990 г.). «Какой ответ лучший? Это выживает сильнейший» . Нью-Йорк Таймс . Проверено 13 июля 2016 г.
- ^ Руджеро, Мюррей А.. (1 августа 2009 г.) Пятнадцать лет и продолжается. Архивировано 30 января 2016 г. в Wayback Machine . Futuresmag.com. Проверено 7 августа 2013 г.
- ^ Evolver: Сложная оптимизация для электронных таблиц . Частокол. Проверено 7 августа 2013 г.
- ^ Ли, Лин; Салдивар, Альфредо Алан Флорес; Бай, Юн; Чен, Йи; Лю, Цюньфэн; Ли, Юн (2019). «Эталоны для оценки алгоритмов оптимизации и бенчмаркинга оптимизаторов MATLAB без производных для быстрого доступа практикующих специалистов» . Доступ IEEE . 7 : 79657–79670. Бибкод : 2019IEEA...779657L . дои : 10.1109/ACCESS.2019.2923092 . S2CID 195774435 .
- ^ Кохун, Дж; и др. (2002). Эволюционные алгоритмы физического проектирования схем СБИС (PDF) . Спрингер, стр. 683–712, 2003. ISBN. 978-3-540-43330-9 . Архивировано (PDF) из оригинала 9 октября 2022 года.
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Пеликан, Мартин; Голдберг, Дэвид Э.; Канту-Пис, Эрик (1 января 1999 г.). BOA: Байесовский алгоритм оптимизации . Гекко'99. стр. 100-1 525–532. ISBN 9781558606111 .
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Пеликан, Мартин (2005). Иерархический алгоритм байесовской оптимизации: к новому поколению эволюционных алгоритмов (1-е изд.). Берлин [ua]: Шпрингер. ISBN 978-3-540-23774-7 .
- ^ Тиренс, Дирк (11 сентября 2010 г.). «Генетический алгоритм дерева связей». Параллельное решение проблем из природы, PPSN XI . стр. 264–273. дои : 10.1007/978-3-642-15844-5_27 . ISBN 978-3-642-15843-8 .
- ^ Феррейра, К. (2001). «Программирование экспрессии генов: новый адаптивный алгоритм решения проблем» (PDF) . Сложные системы . 13 (2): 87–129. arXiv : cs/0102027 . Бибкод : 2001cs........2027F . Архивировано (PDF) из оригинала 9 октября 2022 года.
- ^ Фалькенауэр, Эмануэль (1997). Генетические алгоритмы и проблемы группировки . Чичестер, Англия: ISBN John Wiley & Sons Ltd. 978-0-471-97150-4 .
- ^ Злочин, Марк; Бираттари, Мауро; Мело, Николя; Дориго, Марко (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 .
- ^ Рания Хасан, Бабак Коэним, Оливье де Век, Герхард Венте r (2005) Сравнение оптимизации роя частиц и генетического алгоритма.
- ^ Бодри, Бенуа; Франк Флери; Жан-Марк Жезекель ; Ив Ле Траон (март – апрель 2005 г.). «Автоматическая оптимизация тестовых примеров: бактериологический алгоритм» (PDF) . Программное обеспечение IEEE . 22 (2): 76–82. дои : 10.1109/MS.2005.30 . S2CID 3559602 . Архивировано (PDF) из оригинала 9 октября 2022 года . Проверено 9 августа 2009 г.
- ^ Чивичиоглу, П. (2012). «Преобразование геоцентрических декартовых координат в геодезические координаты с использованием алгоритма дифференциального поиска». Компьютеры и геологические науки . 46 : 229–247. Бибкод : 2012CG.....46..229C . дои : 10.1016/j.cageo.2011.12.011 .
- ^ Кьельстрем, Г. (декабрь 1991 г.). «Об эффективности гауссовой адаптации». Журнал теории оптимизации и приложений . 71 (3): 589–597. дои : 10.1007/BF00941405 . S2CID 116847975 .
Библиография
[ редактировать ]- Банцхаф, Вольфганг; Нордин, Питер; Келлер, Роберт; Франконе, Франк (1998). Генетическое программирование – Введение . Сан-Франциско, Калифорния: Морган Кауфманн. ISBN 978-1558605107 .
- Бис, Роберт Р.; Малдун, Мэтью Ф.; Поллок, Брюс Г.; Манук, Стивен; Смит, Гвенн; Сейл, Марк Э. (2006). «Гибридный подход машинного обучения на основе генетических алгоритмов к выбору модели». Журнал фармакокинетики и фармакодинамики . 33 (2): 196–221. дои : 10.1007/s10928-006-9004-6 . ПМИД 16565924 . S2CID 39571129 .
- Ча, Сон Хёк; Тапперт, Чарльз К. (2009). «Генетический алгоритм построения компактных двоичных деревьев решений». Журнал исследований в области распознавания образов . 4 (1): 1–13. CiteSeerX 10.1.1.154.8314 . дои : 10.13176/11.44 .
- Эйбен, Агостон; Смит, Джеймс (2003). Введение в эволюционные вычисления . Спрингер. ISBN 978-3540401841 .
- Фрейзер, Алекс С. (1957). «Моделирование генетических систем с помощью автоматических цифровых компьютеров. I. Введение» . Австралийский журнал биологических наук . 10 (4): 484–491. дои : 10.1071/BI9570484 .
- Гольдберг, Дэвид (1989). Генетические алгоритмы в поиске, оптимизации и машинном обучении . Ридинг, Массачусетс: Addison-Wesley Professional. ISBN 978-0201157673 .
- Гольдберг, Дэвид (2002). Дизайн инноваций: уроки компетентных генетических алгоритмов и для них . Норвелл, Массачусетс: Kluwer Academic Publishers. ISBN 978-1402070983 .
- Фогель, Дэвид (2006). Эволюционные вычисления: к новой философии машинного интеллекта (3-е изд.). Пискатауэй, Нью-Джерси: IEEE Press. ISBN 978-0471669517 .
- Хингстон, Филип; Бароне, Луиджи; Михалевич, Збигнев (2008). Дизайн от эволюции: достижения в области эволюционного дизайна . Спрингер. ISBN 978-3540741091 .
- Холланд, Джон (1992). Адаптация в природных и искусственных системах . Кембридж, Массачусетс: MIT Press. ISBN 978-0262581110 .
- Коза, Джон (1992). Генетическое программирование: о программировании компьютеров посредством естественного отбора . Кембридж, Массачусетс: MIT Press. ISBN 978-0262111706 .
- Михалевич, Збигнев (1996). Генетические алгоритмы + Структуры данных = Программы эволюции . Спрингер-Верлаг. ISBN 978-3540606765 .
- Митчелл, Мелани (1996). Введение в генетические алгоритмы . Кембридж, Массачусетс: MIT Press. ISBN 9780585030944 .
- Поли, Р.; Лэнгдон, ВБ; Макфи, Северная Каролина (2008). Полевое руководство по генетическому программированию . Lulu.com, бесплатно доступный в Интернете. ISBN 978-1-4092-0073-4 . [ самостоятельно опубликованный источник? ]
- Речехберг, Инго (1994): Эволюционная стратегия '94, Штутгарт: Фромман-Хольцбуг.
- Шмитт, Лотар М.; Неханив, Кристофер Л.; Фуджи, Роберт Х. (1998). «Линейный анализ генетических алгоритмов» . Теоретическая информатика . 208 : 111–148.
- Шмитт, Лотар М. (2001). «Теория генетических алгоритмов» . Теоретическая информатика . 259 (1–2): 1–61. дои : 10.1016/S0304-3975(00)00406-0 .
- Шмитт, Лотар М. (2004). «Теория генетических алгоритмов II: модели генетических операторов над струнно-тензорным представлением популяций и сходимость к глобальному оптимуму для произвольной функции приспособленности при масштабировании» . Теоретическая информатика . 310 (1–3): 181–231. дои : 10.1016/S0304-3975(03)00393-1 .
- Сульфур, Ханс-Пол (1974): Численная оптимизация компьютерных моделей (докторская диссертация). Перепечатано Биркхойзером (1977).
- Восе, Майкл (1999). Простой генетический алгоритм: основы и теория . Кембридж, Массачусетс: MIT Press. ISBN 978-0262220583 .
- Уитли, Даррелл (1994). «Учебное пособие по генетическому алгоритму» (PDF) . Статистика и вычисления . 4 (2): 65–85. CiteSeerX 10.1.1.184.3999 . дои : 10.1007/BF00175354 . S2CID 3447126 . Архивировано (PDF) из оригинала 9 октября 2022 года.
Внешние ссылки
[ редактировать ]Ресурсы
[ редактировать ]- [1] Предоставляет список ресурсов в области генетических алгоритмов.
- Обзор истории и особенностей эволюционных алгоритмов
Учебники
[ редактировать ]- Генетические алгоритмы. Компьютерные программы, которые «эволюционируют» способами, напоминающими естественный отбор, могут решать сложные проблемы, которые даже их создатели не до конца понимают. Отличное введение в ГА Джона Холланда и приложение к дилемме узника.
- Интерактивное онлайн-руководство по генетическому алгоритму, позволяющее читателю попрактиковаться или узнать, как работает ГА : изучайте шаг за шагом или наблюдайте за глобальной конвергенцией в пакетном режиме, изменяйте размер популяции, скорости/границы скрещивания, скорости/границы мутаций и механизмы отбора, а также добавляйте ограничения. .
- Учебное пособие по генетическому алгоритму от Даррелла Уитли, факультет компьютерных наук, Университет штата Колорадо. Превосходное учебное пособие с большим количеством теории.
- «Основы метаэвристики» , 2009 (225 с). Свободный открытый текст Шона Люка.
- Алгоритмы глобальной оптимизации - теория и применение. Архивировано 11 сентября 2008 г. в Wayback Machine.
- Учебное пособие по генетическим алгоритмам в Python с интуицией, лежащей в основе GA и реализации Python.
- Генетические алгоритмы развиваются, чтобы решить дилемму заключенного. Автор Роберт Аксельрод.