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

13. Генетические алгоритмы. Репродуктивный план Холланда. Пример его применения для определения экстремума функции.

Согласно репродуктивному плану Холланда генетические схемы поиска оптимальных решений включают следующие этапы процесса эволюции:

1. Конструируется начальная популяция. Вводится начальная точка отсчета поколений t=0. Вычисляются приспособленность хромосом популяции и средняя приспособленность всей популяции.

2. Устанавливается значение t=t+1. Выбираются два родителя для кроссинговера случайным образом пропорционально жизнеспособности хромосом.

3. Формируется генотип потомка. Для этого с заданной вероятностью над генотипами выбранных хромосом производится операция кроссинговера. Случайным образом выбирается один из потомков A(t), который сохраняется как член новой популяции. Далее к потомку A(t) последовательно с заданными вероятностями применяются операторы инверсии и мутации. Полученный в результате генотип потомка сохраняется как A'(t).

4. Обновление текущей популяции путем замены случайно выбранной хромосомы A'(t).

5. Определение приспособленности A'(t) и пересчет средней приспособленности популяции.

6. Если t=t*, где t* — заданное число шагов, то переход к этапу 7, иначе — переход к этапу 2.

7. Конец работы.

Рассмотрим пример применения простого генетического алгоритма для максимизации функции на целочисленном интервале [0, 31]. Значения аргумента функции , изменяющегося в интервале от 0 до 31, можно представить пятиразрядными двоичными числами. Первоначальная популяция, состоящая из четырех строк пятиразрядных чисел, полученная с помощью процедуры генерации случайных чисел: 01101, 11000, 01000, 10011 (в десятичном коде: 13, 24, 8, 19). Значение целевой функции для каждой хромосомы определяется путем возведения в квадрат значения двоичного числа, кодирующего решение х. Претенденты для кроссинговера могут выбираться из начальной популяции или после выполнения оператора репродукции.

Репродукция начального множества заключается в четырехкратном вращении колеса рулетки, в результате чего состав исходной популяции может измениться (вероятности рулетки: 0.31, 0.14, 0.06, 049). Вероятность выбора i-й хромосомы вычисляется по формуле: , где fi(x) - значение целевой функции i-й хромосомы в популяции; — суммарное значение целевой функции всех хромосом в популяции.

Ожидаемое число копий i-й хромосомы после оператора репродукции равно где n — число анализируемых хромосом. Число копий хромосомы, переходящих в следующее поколение:

где - среднее значение целевой функции.

Значение N для первой хромосомы будет равно 0.14 4=0.56 копий, для второй — 0.49 4=1.96 копий, для третьей - 0.06 4=0.24 и для четвертой — 0.31 4=1.23. В результате репродукции в новой популяции: 0110|1, 1100|0, 11|000, 10|011 будут присутствовать по одной копии первой и четвертой хромосомы и две копии второй, а третья хромосома будет исключена. Оператор репродукции отбирает лучших представителей популяции.

На шаге 2 с помощью колеса рулетки осуществляется выбор хромосом для кроссинговера. Поля колеса рулетки соответствуют нормированным значениям целевой функции. Случайный механизм не гарантирует выбора лучших хромосом. Оператор кроссинговера может повторяться несколько раз. Затем каждая пара хромосом пересекается. Место пересечения K выбирается случайным образом на интервале (1, L-1), где L - длина хромосомы, определяемая количеством значащих цифр в ее двоичном коде. В нашем случае L=5. Две новые хромосомы создаются путем взаимного обмена всех значений после точки пересечения, т.е. между позициями (К+1) и L. Для первых двух хромосом до применения оператора кроссинговера имеем описание: хромосома 1: 0110|1, хромосома 2: 1100|0, а после применения кроссинговера: хромосома 1: 0110|0, хромосома 2: 1100|1

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

На шаге 3 выполняется оператор мутации. Обычно выбирают одну мутацию на 1000 бит. Оператор мутации относится к унарным операциям и реализуется: В хромосоме случайным образом определяют две позиции, 2 и L-1. Гены, соответствующие выбранным позициям, меняют местами и формируют новую хромосому .

Производим случайно-направленный поиск, который может быть реализован на основе простого генетического алгоритма. Выберем третью хромосому 11011 со значением целевой функции f(х)=729 и применим операцию мутации к позициям 3 и 4: хромосома 3: 11011 хромосома 3': 11101.

У новой хромосомы 3' значение целевой функции равно (29)2=841. Сделаем еще одну перестановку 4 и 5 генов в хромосоме 3': хромосома 3': 11101 хромосома 3": 11110. Значение целевой функции для хромосомы 3" равно 900, что соответствует квазиоптимальному решению задачи нахождения максимального значения функции на интервале [0,31].

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