Cравнение RMHC и генетического алгоритма на Royal Road Function — различия между версиями
Valitov (обсуждение | вклад) (→Оценка для RMHC) |
Valitov (обсуждение | вклад) (→Алгоритм) |
||
Строка 70: | Строка 70: | ||
==== Алгоритм ==== | ==== Алгоритм ==== | ||
− | + | 1. Выбирается случайная строка и сохраняется как лучшая. | |
− | + | 2. Если строка является оптимум или если был достигнут установленный максимум для числа вычислений фитнес функции — | |
− | + | возвращается лучшая строка. В противном случае выполняется переход к следующему шагу. | |
+ | 3. Выбирается бит для случайной мутации. Если мутация приводит к большему либо равному значению фитнес функции, | ||
+ | то полученная строка выбирается, как лучшая и выполняется переход к шагу 2. | ||
==== Оценка для RMHC ==== | ==== Оценка для RMHC ==== |
Версия 12:50, 20 июня 2012
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)
Алгоритм
1. Выбирается случайная строка и сохраняется как лучшая. 2. Если строка является оптимум или если был достигнут установленный максимум для числа вычислений фитнес функции — возвращается лучшая строка. В противном случае выполняется переход к следующему шагу. 3. Выбирается бит для случайной мутации. Если мутация приводит к большему либо равному значению фитнес функции, то полученная строка выбирается, как лучшая и выполняется переход к шагу 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?