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

2 Техническое задание

Разработать программную реализацию генетического алгоритма.

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

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

Таблица 1 – Популяция хромосом 8 вариант

ch1 = [101000100101]

ch5 = [010101000100]

ch2 = [000000111010]

ch6 = [010011000101]

ch3 = [110001110011]

ch7 = [000011011011]

ch4 = [101010101000]

ch8 = [100010111100]

Функциональные требования:

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

3 Алгоритм решения задачи

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

Таблица 2 – Количество единиц в хромосоме

F(ch1) = 6

F(ch5) = 5

F(ch2) = 7

F(ch6) = 8

F(ch3) = 8

F(ch7) = 7

F(ch4) = 5

F(ch8) = 7

Хромосомы ch3, ch16 характеризуются наибольшим значением функции принадлежности. В этой популяции она считаются наи­лучшим кандидатом на решение задачи. Если в соответствии с блок-схемой генетического алгоритма (рисунок 1) условие остановки алгоритма не выполняется, то на следующем шаге производится се­лекция хромосом из текущей популяции.

Таблица 3 - Значение функции приспособленности

v(ch1) = 12,2

v(ch5) = 10,2

v(ch2) = 14,2

v(ch6) = 8,16

v(ch3) = 16,3

v(ch7) = 14,28

v(ch4) = 10,2

v(ch8) = 14,28

Селекция хромосом. Селекция производится методом рулет­ки. На основании формул (2) и (3) для каждой из 8 хромосом теку­щей популяции (в нашем случае - исходной популяции, для которой N = 8) получаем секторы колеса рулетки, выраженные в процентах (рисунок 2). В таблице 3 показаны значения функции приспособленности каждой хромосомы v(chi) в процентах.

Рисунок 2 – Колесо рулетки для селекции

Розыгрыш с помощью колеса рулетки сводится к случайному выбору числа из интервала [0, 100], указывающего на соответствую­щий сектор на колесе, т.е. на конкретную хромосому.

Допустим, что розыграны следующие 8 чисел: 63, 14, 65, 42, 49, 40, 4, 3.

Это означает выбор хромосом: ch6, ch2, ch6, ch4, ch4, ch4, ch1, ch1.

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

Применение генетических операторов. Ни одна из отобранных в процессе селекции хромосом не подверглась мутации, и все они составляют популяцию хромосом, предназначенных для скрещивания. Это означает, что вероятность скрещивания pc = 1, а вероятность мутации pm = 0. Из этих хромосом случайным образом сформированы пары родителей: ch6 и ch2, ch6 и ch4, ch4 и ch1, ch1 и ch1.

Для пар случайным образом выбраны точки скрещивания lk = 5 и lk = 9 Процесс скрещивания представлен в таблице 4.

Таблица 4 – Процесс скрещивания хромосом

Первая пара родителей

Первая пара потомков

[001101100100]

[110100111010]

lk = 5

скрещивание

[001101100110]

[110100111000]

Вторая пара родителей

Вторая пара потомков

[000011000101]

[110101110011]

lk = 5

скрещивание

[000011000111]

[110101110001]

Третья пара родителей

Третья пара потомков

[010101101000]

[110101110011]

lk = 9

скрещивание

[010101101011]

[110101110000]

Четвертая пара родителей

Четвертая пара потомков

[110001100101]

[110001100101]

lk = 9

скрещивание

[110001100101]

[110001100101]

В результате выполнения оператора скрещивания получилось 4 пары потомков. При скрещивании пар ch1 и ch1 получилась пара потомков, идентичных своим родителям. Эта ситуация наиболее вероятна для хромосом с наибольшим значением функции приспособленности, т.е. именно такие хромосомы получают наибольшие шансы на переход в новую популяцию.

Формирование новой популяции. После выполнения операции скрещивания мы получаем следующую попу­ляцию потомков (таблица 5).

Таблица 5 - следующую попу­ляцию потомков

Ch1 = [001101100110]

Ch5 = [010101101011]

Ch2 = [110100111000]

Ch6 = [110101110000]

Ch3 = [000011000111]

Ch7 = [110001100101]

Ch4 = [110101110001]

Ch8 = [110001100101]

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

Согласно блок-схеме генетического алгоритма (рис.1) произ­водится возврат ко второму этапу, т.е. к оценке приспособленности хромосом из вновь сформированной популяции, которая становится текущей. Значения функций приспособленности хромосом этой попу­ляции представлены в таблице 6.

Таблица 6 – Количество единиц в хромосомах новой популяции

F(ch1) = 6

F(ch5) = 7

F(ch2) = 6

F(ch6) = 6

F(ch3) = 5

F(ch7) = 6

F(ch4) = 7

F(ch8) = 6

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

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