Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СППР_заочно / Тема 3 мат формализ.docx
Скачиваний:
155
Добавлен:
26.03.2016
Размер:
290.36 Кб
Скачать

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

Одним из направлений исследований в области недетерминированных алгоритмов являются «генетические алгоритмы». Генетический алгоритм (ГА) реализует метод случайного поиска в подражании процессам эволюции в живой природе, базирующимся на принципе «выживает наиболее приспособленный». ГА основан на имитации генетических процедур развития популяции, основанных на двух основных видах возмущений: скрещивании (кроссовере) и мутации. Кроссовер обеспечивает скрещивание и наследование тех или иных генов родителей. Мутации случайным образом изменяют случайно выбранные гены.

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

Достоинства применения алгоритма:

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

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

3.  данные алгоритмы для многих типов задач показали свою эффективность по сравнению с другими методами.

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

Недостатки алгоритма:

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

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

3.  неэффективен на небольшом пространстве поиска.

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

Необходимо также определить процедуру (критерии) оценки решений.

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

  1. Выбрать начальную популяцию

  2. Пока не выполнится критерий останова

    1. выбрать родителей х1, х2 из популяции.

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

    3. применить к х′ оператор мутации получить новое решение х′′

    4. применить к х′′ процедуру локального улучшения и получить новое решение х′′′

    5. если полученное решение лучше наихудшего решения в популяции, то обновить популяцию

  3. выбрать в качестве решения лучший элемент в популяции

Выбор (селекция) родителей

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

- случайным образом выбирается некоторое подмножество P ′ ⊆ P и родителями назначаются 2 наилучших решения;

- из популяции P с использованием элемента случайности выбираются два родителя (пропорциональная селекция). Варианты: «Лучший в популяции + случайно выбранный», «Случайно выбранный + наиболее удаленный от него» и др.

Оператор скрещивания (кроссовер)

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

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

- в описаниях родителей х1, х2 выбирается случайным образом координата 1 ≤ l n и новый вектор х′ получает первые l координат от вектора х1, а остальные от вектора х2 (). По аналогии с таким одноточечным оператором (с участием одной координаты в качестве точки скрещивания) могут определяться двухточечный, трехточечный и т.д. операторы.

- равномерный оператор скрещивания: новое решение х′ в каждой координате получает с вероятностью 0.5 значение одного из родителей.

Оператор мутации

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

Локальное улучшение

Для решения х обозначим через N(х) его окрестность, например, множество всех решений х′, находящихся от х на расстоянии не более 2 (3, 4, 5…). Найти в N(х) наилучшее решение.