![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
Разновидности генетических алгоритмов
Генетический алгоритм Девиса включает следующие шаги: 1. Инициализация популяции хромосом. 2. Оценка каждой хромосомы в популяции. 3. Создание новых хромосом посредством изменения и скрещивания текущих хромосом (применение операторов мутации и кроссинговера). 4. Устранение хромосом из популяции для замены их новыми. 5. Оценка новых хромосом и включение их в популяцию. 6. Проверка условия исчерпания ресурса времени, отведеного на поиск оптимального решения (если время исчерпано, то работа алгоритма завершается и производится возврат к наилучшей хромосоме, в противном случае — переход к шагу 3). Холланд предложил для генетического алгоритма оператор инверсии, который реализуется по схеме: 1. Стринг (хромосома) 2. Из множества и 3. Из хромосомы В формируется новая хромосома путем инверсии (обратного порядка) сегмента, лежащего справа от позиции Xj и слева от позиции х2 в хромосоме В. После применения оператора Например, для строки
Операции кроссинговера и мутации, используемые в простом ГА, изменяют структуру хромосом, в том числе разрушают удачные фрагменты найденных решений, что уменьшает вероятность нахождения глобального оптимума. Для устранения этого недостатка в генетических алгоритмах используют схемы (схематы или шаблоны), представляющие собой фрагменты решений или хромосом, которые желательно сохранить в процессе эволюции. При использовании схем в генетическом алгоритме вводится новый алфавит {0,1,*}, где * интерпретируется как «имеет значение 1 или 0». Например: схема (*0000) соответствует двум стрингам {10000 и 00000}; схема (*111*) соответствует четырем строкам 01111,11111}; схема (0*1**) может соответствовать восьми пятизначным стрингам. В общем случае хромосома длиной L максимально может иметь Если в результате работы генетического алгоритма удалось найти схемы типа (11*** ) и ( **111), то, применив к ним оператор кроссинговера, можно получить хромосому (11111), обладающую наилучшим значением целевой функции. Схемы небольшой длины называются строительными блоками. Размер строительных блоков заметно влияет на качество и скорость нахождения результата. Вид строительного блока выбирается с учетом специфики решаемой задачи, а их разрыв в генетических алгоритмах допускается только в исключительных случаях, определяемых пользователем. Например, в схеме (****1) строительным блоком является элемент 1, а в схеме (10***) — составной элемент 10. При использовании большого числа строительных блоков генетические алгоритмы, основанные на случайной генерации популяций и хромосом, переходят в разряд беспорядочных. Стационарные генетические алгоритмы отличаются от поко-ленческих тем, что у первых размер популяции является заданным постоянным параметром, который определяется пользователем, а у вторых размер популяции в последующих генерациях может увеличиваться или уменьшаться. Процедура удаления лишних хромосом в стационарных и по-коленческих генетических алгоритмах основана на эвристических правилах, примерами которых являются следующие: • случайное равновероятное удаление хромосом; • удаление хромосом, имеющих худшие значения целевой • удаление хромосом на основе обратного значения целевой • удаление хромосом на основе турнирной стратегии. Следует иметь в виду, что использование в генетических алгоритмах тех или иных эвристик удаления хромосом может повлечь за собой негативные последствия. Например, удаление худших хромосом приводит к преждевременной утрате разнообразия и, как следствие, к попаданию целевой функции в локальный оптимум, а при наличии большого числа хромосом с плохими значениями целевой функции утрачивается направленность поиска, и он превращается в «слепой» поиск.
![]() |