Теоретическая оценка времени работы алгоритмов RMHC и (1+1)-ES для задач OneMax и MST — различия между версиями
(→Оценка времени работы с использованием Drift Analysis) |
(→Оценка времени работы для OneMax) |
||
| Строка 52: | Строка 52: | ||
Путем несложных преобразований получаем: <tex> (\frac {1} {1 + \frac{1}{n}})^n = (\frac {1} {\frac{n + 1}{n}})^n = (\frac {n} {n+1})^n \stackrel{ _{m = n + 1}}{=} | Путем несложных преобразований получаем: <tex> (\frac {1} {1 + \frac{1}{n}})^n = (\frac {1} {\frac{n + 1}{n}})^n = (\frac {n} {n+1})^n \stackrel{ _{m = n + 1}}{=} | ||
| − | (1 - \frac{1}{m}) ^ {m-1}</tex>.}} | + | (1 - \frac{1}{m}) ^ {m-1}</tex>. |
| + | |||
| + | Чтобы перейти от предела к неравенству, докажем, что <tex>(1 + \frac{1}{n})^n \leq e</tex>. | ||
| + | |||
| + | Известно, что <tex>1 + x \leq e^x</tex>. Пусть <tex>x = \frac{1}{n}</tex>, тогда <tex>1 + \frac{1}{n} \leq e^{\frac{1}{n}}</tex>. Возведем обе части в степень <tex>n</tex> и получим требуемое неравенство. | ||
| + | |||
| + | }} | ||
{{Утверждение | {{Утверждение | ||
Версия 14:01, 20 июня 2012
Содержание
Постановка задачи однокритериальной оптимизации
Пусть — дискретное пространство решений, а — оценочная функция.
Тогда задача однокритериальной оптимизации заключается в том, чтобы найти такое , что максимально. При этом рассматривается black-box scenario, что означает, что получить информацию об можно только путем ее вычисления.
Методы решения
HC(Hill Climbing)
В русскоязычном варианте этот метод называется методом спуска. Общая схема данного алгоритма выглядит следующим образом:
x random while(true) x' neighbour(x) f(x') f(x) x = x'
Итерации выполняются, пока не будет удовлетворен критерий останова. Возможны два варианта HC:
1) first ascent — в качестве выбирается первый из соседей, для которого ;
2) steepest ascent — осуществляется перебор всех соседей, и в качестве выбирается тот, для которого максимально.
RMHC (Random Mutation Hill Climbing)
В данном алгоритме применяется же схема, что и для метода спуска, но получают путем случайного изменения одного из компонентов решения .
ES (Evolution Strategies)
Это широкий класс алгоритмов поиска, основанных на идеях приспособления и эволюции. Существуют различные вариации ES:
1) (1+1)-ES — на каждой итерации существует одно исходное решение и одно промежуточное решение . После внесения случайного изменения в каждый из компонентов , может оказаться любым элементом , но, чем он ближе к , тем выше вероятность его выбора.
2) (1+)-ES — на каждой итерации генерируется промежуточных решений, среди них выбирается лучшее.
3) (+)-ES — на каждой итерации генерируется промежуточных решений, среди них выбирается лучших.
Примеры задач
OneMax
Задача состоит в том, чтобы найти битовую строку длины , состоящую из одних единиц. Оценочная функция — количество единиц в текущем решении:
MST (Minimum spanning tree)
Известная задача на графах, формулируется следующим образом. Пусть дан связный неориентированный граф . Для каждого ребра задан вес . Требуется найти остовное дерево минимального веса .
Оценка времени работы для OneMax
Чтобы оценить время работы вышеописанных алгоритмов на задаче OneMax необходимо доказать несколько утверждений.
| Утверждение (1): |
|
Из курса математического анализа известно, что . Путем несложных преобразований получаем: . Чтобы перейти от предела к неравенству, докажем, что . Известно, что . Пусть , тогда . Возведем обе части в степень и получим требуемое неравенство. |
| Утверждение (2): |
|
1) Из определения сразу следует : . 2) Известно, что для справедливо Отсюда, вновь воспользовавшись определением , получаем . |
| Утверждение (3): |
. |
| по утверждению(1), отсюда следует требуемый результат. |
| Утверждение (4): |
. |
| по утверждению(2) и утверждению(3). |
| Утверждение (Лемма об ожидании): |
Если вероятность наступления события на каждом шаге равна , то матожидание времени наступления этого события . |
|
По определению математического ожидания: . Из курса математического анализа известно, что , а также то, что этот ряд удовлетворяет условиям теоремы о почленном дифференцировании. Воспользовавшись этим фактом, получаем: . Отсюда видно, что: . |
Алгоритм RMHC
Решение задачи OneMax с помощью алгоритма RMHC выглядит следующим образом. В качестве начального решения примем случайный вектор, а затем на каждой итерации равновероятно выбираем и инвертируем один бит из . Пусть — количество единиц в векторе (то есть значение ) в начале фазы. При фаза заканчивается.
Оценим время работы алгоритма для данной задачи.
Вероятность окончания фазы — это вероятность того, что будет выбран один из оставшихся нулевых битов: . Тогда по лемме об ожидании для конкретной фазы.
Отсюда ожидаемая продолжительность всех фаз равна:
Алгоритм (1+1)-ES
Применим (1+1)-ES к решению задачи OneMax. Для этого на каждой итерации независимо для каждого бита инвертируем его с вероятностью . Пусть — значение в начале фазы. При фаза заканчивается.
Оценим время работы алгоритма для данной задачи.
Чтобы количество единиц увеличилось, необходимо из перевернуть хотя бы один из нулевых битов, и при этом не затронуть единичных. С учетом того, что вероятность переворота , получаем вероятность окончания фазы по утверждению(3). Тогда по лемме об ожидании для конкретной фазы.
Отсюда ожидаемая продолжительность всех фаз меньше либо равна:
Оценка времени работы с использованием Drift Analysis
Теорема о дрифте с успехом применяется для оценки времени работы эволюционных алгоритмов в различных ситуациях. Рассмотрим несколько примеров.
RMHC для OneMax
Пусть — число нулевых бит после итерации :
Пусть . Тогда
, то есть .
Отсюда по теореме о дрифте, с учетом того, что получаем: .
(1+1)-ES для OneMax
Пусть — число нулевых бит после итерации : .
Пусть . Тогда вероятность перевернуть один нулевых битов равна . Отсюда:
, то есть .
Применяем теорему о дрифте, с учетом того, что , и получаем: .
(1+1)-ES для MST
Рассмотрим в качестве более содержательного примера поиск минимального остовного дерева с помощью (1+1)-ES. Решение представляет собой битовую строку длины , где , если ребро входит в текущий подграф , и в обратном случае.
На каждой итерации независимо для каждого бита инвертируем его с вероятностью .
В качестве оценочной функции возьмем , где — число компонент связности в текущем , а , где — максимальный вес ребра.
| Теорема (Neumann, Wegener (2004)): |
Ожидаемое время работы (1+1)-ES для задачи MST равно , где — максимальный вес ребра. |
| Доказательство: |
|
Разобьем доказательство теоремы на три этапа: получение связного подграфа, получение остовного дерева и получение минимального остовного дерева.
Если , то существует как минимум ребер, которые не входят в и добавление которых уменьшает . По аналогии с решением задачи OneMax получаем: . Применяя теорему о дрифте, получаем требуемый результат.
Покажем, что после итераций является деревом, то есть , где . Пусть после итерации (количество "лишних" ребер в ). Если , то существует как минимум ребер, удаление которых из уменьшает . По аналогии с решением задачи OneMax получаем: . Применяя теорему о дрифте, получаем требуемый результат.
Пусть для — это разница между весом текущего дерева и оптимального: после итерации . Если , то существуют наборы ребер из и из такие, что — это минимальное остовное дерево. Следовательно , и для всех — остовное дерево с весом . С верояностью , одна итерация обменяет в точности ребра и . Тогда: Используем [Теорема о дрифте |
Источники
- Doerr B.: Tutorial: Drift Analysis. GECCO '11 Proceedings of the 13th annual conference companion on Genetic and evolutionary computation, 1311-1320 (2011)
- Droste S., Jansen T., Wegener I.: On the analysis of the (1 + 1) evolutionary algorithm. Theoretical Computer Science 276, 51–81 (2002)
- Witt C.: Randomized Search Heuristics. Algorithms for Massive Data Sets, DTU Informatik,Danmarks Tekniske Universitet (2010)