Генетический алгоритм Девиса включает следующие шаги:
1. Инициализация популяции хромосом.
2. Оценка каждой хромосомы в популяции.
3. Создание новых хромосом посредством изменения и скрещивания текущих хромосом (применение операторов мутации и кроссинговера).
4. Устранение хромосом из популяции для замены их новыми.
5. Оценка новых хромосом и включение их в популяцию.
6. Проверка условия исчерпания ресурса времени, отведенно¬го на поиск оптимального решения (если время исчерпано, то работа алгоритма завершается и производится возврат к наилучшей хромосоме, в противном случае – переход к шагу 3).
Холланд предложил для генетического алгоритма оператор инверсии, который реализуется по схеме:
1. Стринг (хромосома) В = {bx, b2,…, bL} выбирается случайным образом из текущей популяции.
2. Из множества Y{0,1,2, L + 1} случайным образом выбираются два числа у1 и у2 и определяются значения x1=min{y1,y2} и x2=max{y1,y2}.
3. Из хромосомы В формируется новая хромосома путем ин- -Jверсии (обратного порядка) сегмента, лежащего справа от позиции x1 и слева от позиции х2 вхромосоме В. После применения оператора инверсиистрока В примет вид В'={b1,…, bx1,bx2-1,bx2-2,…,bx1+1,bx2,…,bL}.
Например, для строки В={1, 2, 3, 4, 5, 6} при выборе у1=6 и y2=2 соответственно x1 =2, x2= 6 результатом инверсии будет B’={1, 2, 5, 4, 3, 6}.
Операции кроссинговера и мутации, используемые в простом IX, изменяют структуру хромосом, в том числе разрушают удачные фрагменты найденных решений, что уменьшает вероятность нахождения глобального оптимума. Для устранения этого недостатка в генетических алгоритмах используют схемы (схематы или шаблоны), представляющие собой фрагменты решений или хромосом, которые желательно сохранить в процессе эволюции. При использовании схем в генетическом алгоритме вводится новый алфавит {0,1,*}, где * интерпретируется как «имеет значение 1 или 0». Например: схема (*0000) соответствует двум стрингам {10000 и 00000};
- схема (*111*) соответствует четырем строкам {01110, 11110, 01111,11111};
- схема (0*1**) может соответствовать восьми пятизначным стрингам.
В общем случае хромосома длиной L максимально может иметь 3L схем (шаблонов), но только 2L различных альтернативных стрингов. Это следует из факта, что схеме (**) в общем случае могут соответствовать 32=9 стрингов, а именно {**, *1, *0, 1*, 0*, 00, 01, 10, 11}, и только 22=4 альтернативные строки {00,01,10,11}, т. е. одной и той же строке может соответствовать несколько схем.
Если в результате работы генетического алгоритма удалось найти схемы типа (11***) и (**111), то применив оператор кроссинговера, можно получить хромосому (11111), обладающую наилучшим значением целевой функции.
Схемы небольшой длины называются строительными блоками. Размер строительных блоков заметно влияет на качество и скорость нахождения результата. Вид строительного блока выбирается с учетом специфики решаемой задачи, а их разрыв в генетических алгоритмах допускается только в исключительных случаях, определяемых пользователем. Например, в схеме (****1) строительным блоком является элемент 1, а в схеме (10***) – составной элемент 10.
При использовании большого числа строительных блоков генетические алгоритмы, основанные на случайной генерации популяций и хромосом, переходят в разряд беспорядочных.
Стационарные генетические алгоритмы отличаются от поколенческих тем, что у первых размер популяции является заданным постоянным параметром, который определяется пользователем, а у вторых размер популяции в последующих генерациях может увеличиваться или уменьшаться.
Процедура удаления лишних хромосом в стационарных и поколенческих генетических алгоритмах основана на эвристических правилах, примерами которых являются следующие:
- случайное равновероятное удаление хромосом;
- удаление хромосом, имеющих худшие значения целевой функции;
- удаление хромосом на основе обратного значения целевой функции;
- удаление хромосом на основе турнирной стратегии.
Следует иметь в виду, что использование в генетических алгоритмах тех или иных эвристик удаления хромосом может повлечь за собой негативные последствия. Например, удаление худших хромосом приводит к преждевременной утрате разнообразия и, как следствие, к попаданию целевой функции в локальный оптимум, а при наличии большого числа хромосом с плохими значениями целевой функции утрачивается направленность поиска, и он превращается в «слепой» поиск.
Тема 11. Мультиагентные системы