Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
174 Кб
Скачать

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

Основные эволюционные алгоритмы:

генетический алгоритм, предназначенный для оптимизации функций дискретных переменных и акцентирующий внимание на рекомбинациях геномов;

эволюционное программирование, ориентированное на оптимизацию непрерывных функций без использования рекомбинаций;

эволюционная стратегия, ориентированная на оптимизацию непрерывных функций с использованием рекомбинаций;

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

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

Наибольшее распространение получил генетический алгоритм [2]. На его основе осуществляются: оптимизация профилей балок в строительстве, распределение инструментов в металлообрабатывающих цехах, обработка рентгеновских изображений в медицине, оптимизация работы нефтяных трубопроводов и т.д. [7]. Одна из основных областей применения генетического алгоритма – решение задач комбинаторной оптимизации (например, задача о коммивояжере).

Для иллюстрации принципов работы эволюционных алгоритмов рассмотрим подробнее генетический алгоритм.

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

Генетический алгоритм (ГА) [2,8,9] – это компьютерная модель эволюции популяции искусственных "особей". Каждый особь характеризуется своей хромосомой Sk, хромосома есть "геном" особи. Хромосома определяет приспособленность особи f(Sk); k = 1,..., n; n – численность популяции. Хромосома есть цепочка символов Sk = (Sk1, Sk2,...,SkN), N – длина цепочки. Символы интерпретируются как "гены" особи, расположенные в хромосоме Sk . Задача алгоритма состоит в максимизации функции приспособленности f(Sk) .

Эволюция состоит из последовательности поколений. Для каждого поколения отбираются особи с большими значениями приспособленностями. Хромосомы отобранных особей рекомбинируются и подвергаются малым мутациям. Формально, схема ГА может быть представлена следующим образом (популяция t-го поколения обозначается как {Sk(t)}):

Шаг 0 . Создать случайную начальную популяцию {Sk(0)}.

Шаг 1. Вычислить приспособленность f(Sk) каждой особи Sk популяции {Sk(t)}.

Шаг 2. Производя отбор особей Sk в соответствии с их приспособленностями f(Sk) и применяя генетические операторы (рекомбинации и точечные мутации) к отобранным особям, сформировать популяцию следующего поколения {Sk(t+1)}.

Шаг 3. Повторить шаги 1,2 для t = 0, 1, 2, ... , до тех пор, пока не выполнится некоторое условие окончания эволюционного поиска (прекращается рост максимальной приспособленности в популяции, число поколений t достигает заданного предела и т.п.).

Имеется ряд конкретных вариантов генетического алгоритма, которые отличаются по схемам отбора, рекомбинаций, по форме представления хромосом и т.д.

Наиболее традиционный вариант генетического алгоритма базируется на следующей конкретной схеме: 1) цепочки символов в хромосомах бинарны (символы Ski принимают значения 0 либо 1), длина цепочек постоянна (N = const), 2) метод отбора пропорционально-вероятностный (см. ниже), 3) рекомбинации производятся по схеме однократного кроссинговера.

Кросиговер

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

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

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

Генетический алгоритм – это новая область исследований, которая появилась в резулдьтате работ Д. Холланда и его коллег. Генетические алгоритмы, описанные Д. Холландом, заимствуют в своей терминологии много из естественной генетики. Впервые генетические алгоритмы были применены к таким научным проблемам, как распознавание образов и оптимизация. Генетический алгоритм представляет собой адаптивный поисковый метод, основанный на селекции лучших элементов в популяции, подобно эволюционной теории Ч. Дарвина.

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

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

Цель генетических алгоритмов в том, чтобы:

- Абстрактно и формально объяснять адаптацию процессов в естественной системе и интеллектуальной исследовательской системе

- Моделировать естественные эволюционные процессы для эффективного решения задач науки и техники

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

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

- Работают в основном не с параметрами задачи, а с закодированным множеством параметров

- Осуществляют поиск не путем улучшения одного решения, а путем использования сразу нескольких альтернатив на заданном множестве решений

- Используют целевую функцию, а не ее различные приращения для оценки качества принятия решений

- Применяют не детерминированные, а вероятностные правила анализа оптимизационных задач

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

Приведем некоторые понятия и определения из теории генетических алгоритмов. Все генетические алгоритмы работают на основе начальной информации, в качестве которой выступает популяция альтернативных решений P. Популяция есть множество элементов - номер генерации генетического алгоритма, размер популяции. Каждый элемент этой популяции , как правило, представляет собой одну или несколько хромосом или особей, или индивидуальностей (альтернативных упорядоченных или неупорядоченных решений). Хромосомы состоят из генов (элементы, части закодированного решения), и позиции генов в хромосоме называются локусами, т.е, ген – подэлемент (элемент в хромосоме), локус – позиция в хромосоме, аллель – функциональное значение гена.

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

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

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

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

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

При решении практических задач с использованием генетических алгоритмов обычно выполняют четыре предварительных этапа:

  1. Выбор способа представления решения

  2. Разработка операторов случайных изменений

  3. Определение способов «выживания» решений

  4. Создание начальной популяции альтернативных решений

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]