Cравнение RMHC и генетического алгоритма на Royal Road Function
Royal Road Function
| Определение: | 
| Схема — частично определенная битовая строка , где '' обозначает символ или . | 
| Определение: | 
| Блок — подсхема. Набор блоков одинаковый длины формируют схему. | 
| Определение: | 
| Royal Road function — список схем . | 
| Определение: | 
| Порядок схемы — число определенных битов в схеме | 
| Определение: | 
| Экземпляр схемы — битовая строка , биты которой совпадает с определенными битами схемы в соответствующих позициях. Говорят, что | 
| Определение: | 
| Уровень — схемы Royal Road function с одинаковым порядком. | 
| Определение: | 
| Фитнес функция , где | 
Пример Royal Road Function
11111111******************************************************** ;
********11111111************************************************ ;
****************11111111**************************************** ;
************************11111111******************************** ;
********************************11111111************************ ;
****************************************11111111**************** ;
************************************************11111111******** ;
********************************************************11111111 ;
11111111111111111111111111111111111111111111111111111111111111111 ;
Анализ RMHC и IGA
The Building Block Hypothesis
Согласно The Building Block Hypothesis[1] генетический алгоритм, скрещивающий экземпляры блоков в среднем выполняет поиск быстрее, чем алгоритм, скрещивающий экземпляры самих схем.
Постановка задачи
Оценим время поиска оптимальной строки для некоторой заданной Royal Road function со схемами, разложенными в блоков длины . Длина строки должна составлять . Для поиска воспользуемся алгоритмами RMHC и IGA.
RMHC (Random-mutation hill-climbing)
Алгоритм
- Выбирается случайная строка и сохраняется как лучшая.
 - Если строка является оптимум или если был достигнут установленный максимум для числа вычислений фитнес функции — возвращается лучшая строка. В противном случае выполняется переход к следующему шагу.
 - Выбирается бит для случайной мутации. Если мутация приводит к большему либо равному значению фитнес функции, то полученная строка выбирается, как лучшая и выполняется переход к шагу 2.
 
Оценка для RMHC
Обозначим время нахождения первого блока за ,
Время нахождения второго блока
Ожидаемое время поиска:
, где — постоянная Эйлера
Таким образом, можно получить оценку:
IGA (Idealized Genetic Algorithm)
Рассмотрим идеализированный генетический алгоритм. Используется допущение о том, что IGA знает, экземплярами каких схем является полученная на каждой итерации строка.
Алгоритм
- Выбирается случайная строка и сохраняется, как лучшая.
 - Выбирается случайная строка, проводится проверка, является ли строка экземпляром хотя бы одной из требуемых схем. Если строка является экземпляром еще не обнаруженных ранее схем, выполняется скрещивание с лучшей строкой таким образом, чтобы получить строку, являющейся экземпляром для всех обнаруженных схем. Полученная строка сохраняется как лучшая.
 - Если лучшая строка является экземпляром для всех искомых схем или если был достигнут установленный максимум для числа итераций — возвращается лучшая строка. В противном случае выполняется переход к шагу 2.
 
Оценка для IGA
Вероятность нахождения требуемого блока в случайной строке , вероятность нахождения блока за время равна
Вероятность нахождения всех требуемых блоков за время :
Вероятность нахождения требуемых блоков точно в момент времени :
Ожидаемое время поиска:
Воспользовавшись приближением для малых , можно получить:
Таким образом, оценка для ожидаемого времени поиска:
IGA и Real GA
Выделим ряд особенностей IGA, которые можно соблюсти в реальном генетическом алгоритме:
- Независимые выборки: размер популяции должен быть достаточно большой, процесс отбора должен быть достаточно медленным, и частота мутаций должна быть достаточной, чтобы убедиться, что ни один бит не фиксируется в одном значении в большинстве строк в популяции.
 - Мгновенный кроссовер: скорость кроссовера должна быть такой, что время для скрещивания двух искомых схем мало по отношению ко времени их нахождения.
 - Превосходство в скорости: оценка скорости для RMHC: , для IGA: . Длина строки должна быть достаточно большой, чтобы фактор давал превосходство в скорости для алгоритма IGA.
 
Результаты сравнения
Были получены следующие экспериментальные результаты[2]:
Сравнение осуществлялось между RMHC и GA на Royal Road Function .
Royal Road Function :
- Уровень 1:
 - Уровень 2:
 - Уровень 3:
 - Уровень 4:
 
Экспериментальные результаты
В таблице указаны среднее число вычислений фитнес функции для достижения первого, второго и третьего уровней. Четвертый уровень не был достигнут ни одним алгоритмом за выбранный максимум для числа вычислений фитнес функции.
| Уровень 1 | Уровень 2 | Уровень 3 | ||
| GA | число вычислений | 500 | 4486 | 86078 | 
| % запусков | 100 | 100 | 86 | |
| RMHC | число вычислений | 230 | 8619 | 95027 | 
| % запусков | 100 | 100 | 41 | |
Как видно, время достижения первого уровня сравнимо для двух алгоритмов, но генетический алгоритм быстрее, при достижении второго и третьего уровней.
Примечания
- ↑ John H. Holland. Building blocks, cohort genetic algorithms, and hyperplane-defined functions. Evolutionary Computation.
 - ↑ Melanie Mitchell, John H. Holland, Stephanie Forrest. When Will a Genetic Algorithm Outperform Hill Climbing?