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 указаны среднее число вычислений фитнесс функции для достижения первого, второго и третьего уровней. Уровень 4 не было достигнут ни одним алгоритмом за выбранный максимум
для числа вычислений фитнесс функции.Уровень 1 | Уровень 2 | Уровень 3 | ||
GA | число вычислений | 500 | 4486 | 86078 |
% запусков | 100 | 100 | 86 | |
RMHC | число вычислений | 230 | 8619 | 95027 |
% запусков | 100 | 100 | 41 |
Как видно, время достижения первого уровня сравнимы для двух алгоритмов, но генетический алгоритм быстрее, при достижении уровня 2 и 3.
Примечания
- ↑ 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?