Теоретическая оценка времени работы алгоритмов RMHC и (1+1)-ES для задач OneMax и MST — различия между версиями
Agapova (обсуждение | вклад) м (→Оценка времени решения MST) |
Agapova (обсуждение | вклад) м |
||
Строка 43: | Строка 43: | ||
Дан связный неориентированный граф <tex> G = (V, E) </tex>, с ребрами веса <tex> w_e </tex>. Требуется найти минимальное остовное дерево <tex>T = (V, E')</tex> минимального веса <tex> w(T) = \sum_{e \in E'} w_e </tex>. | Дан связный неориентированный граф <tex> G = (V, E) </tex>, с ребрами веса <tex> w_e </tex>. Требуется найти минимальное остовное дерево <tex>T = (V, E')</tex> минимального веса <tex> w(T) = \sum_{e \in E'} w_e </tex>. | ||
− | == Оценка времени | + | == Оценка времени работы для OneMax == |
'''Утверждение 1:''' | '''Утверждение 1:''' | ||
Строка 54: | Строка 54: | ||
<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> | ||
− | |||
'''Утверждение 2:''' | '''Утверждение 2:''' | ||
Строка 67: | Строка 66: | ||
2) <tex>b \leq a \Rightarrow \frac{a}{b} \leq \frac{a - 1} {b - 1}, a,b > 1 \Rightarrow (1) </tex> | 2) <tex>b \leq a \Rightarrow \frac{a}{b} \leq \frac{a - 1} {b - 1}, a,b > 1 \Rightarrow (1) </tex> | ||
− | |||
'''Утверждение 3:''' | '''Утверждение 3:''' | ||
Строка 76: | Строка 74: | ||
<tex> (1 - \frac{1}{n})^{n - k} \geq \frac{1}{e} </tex> по Утверждению 1, отсюда следует Утверждение 3. | <tex> (1 - \frac{1}{n})^{n - k} \geq \frac{1}{e} </tex> по Утверждению 1, отсюда следует Утверждение 3. | ||
− | |||
'''Утверждение 4:''' | '''Утверждение 4:''' | ||
Строка 86: | Строка 83: | ||
<tex> C_n^k (\frac{1}{n})^k(1 - \frac{1}{n})^{n - k} | <tex> C_n^k (\frac{1}{n})^k(1 - \frac{1}{n})^{n - k} | ||
\geq \frac{n^k}{k^k} \frac{1}{e n^k} = \frac{1}{e k^k}</tex> по Утверждениям 1 и 4. | \geq \frac{n^k}{k^k} \frac{1}{e n^k} = \frac{1}{e k^k}</tex> по Утверждениям 1 и 4. | ||
− | |||
'''Утверждение 5 (Лемма об ожидании):''' | '''Утверждение 5 (Лемма об ожидании):''' | ||
Если вероятность наступления события <tex>A</tex> на каждом шаге равна <tex>p</tex>, то матожидание наступления этого события | Если вероятность наступления события <tex>A</tex> на каждом шаге равна <tex>p</tex>, то матожидание наступления этого события | ||
− | <tex>E(t_A) = \frac{1}{p}</tex> | + | <tex>E(t_A) = \frac{1}{p}</tex>. |
− | |||
'''Доказательство:''' | '''Доказательство:''' | ||
Строка 105: | Строка 100: | ||
<tex> \frac{p}{ (1 - (1 - p)) ^ 2} = p \sum_{i=1}^\infty i (1 - p)^{i-1} = \frac{1}{p} </tex> | <tex> \frac{p}{ (1 - (1 - p)) ^ 2} = p \sum_{i=1}^\infty i (1 - p)^{i-1} = \frac{1}{p} </tex> | ||
− | |||
=== Алгоритм RMHC === | === Алгоритм RMHC === |
Версия 14:50, 17 июня 2012
Содержание
Постановка задачи однокритериальной оптимизации
- пространство решений (дискретно),
- оценочная функция.
Задача: найти
. При этом рассматривается black-box scenario, что означает, что получить информацию об можно только путем ее вычисления.Методы решения
HC(Hill Climbing)
xrandom while(true) x' neibor(x) f(x') f(x) x = x'
Итерации выполняются, пока не будет удовлетворен критерий останова. Возможны два варианта HC:
1) first ascent --- в качестве
выбирается первый из соседей, для которого2) steepest ascent --- осуществляется перебор всех соседей, и в качестве
выбирается тот, для которого максимальноRMHC (Random Mutation Hill Climbing)
Та же схема, что и для HC, но
получают путем случайного изменения одного из компонентов решения .ES (Evolution Strategies)
1)
--- после внесения случайного изменения в каждый из компонентов , может оказаться любым элементом , но, чем он ближе к , тем выше вероятность его выбора.2)
--- генерируется промежуточных решений, среди них выбирается лучшее.3)
--- генерируется промежуточных решений, среди них выбирается лучших.
Примеры задач
OneMax
Найти битовую строку длины
, состоящую из одних единиц. Оценочная функция:
MST (Minimum spanning tree)
Дан связный неориентированный граф
, с ребрами веса . Требуется найти минимальное остовное дерево минимального веса .Оценка времени работы для OneMax
Утверждение 1:
Доказательство:
Утверждение 2:
Доказательство:
1)
2)
Утверждение 3:
Доказательство:
по Утверждению 1, отсюда следует Утверждение 3.
Утверждение 4:
Доказательство:
по Утверждениям 1 и 4.
Утверждение 5 (Лемма об ожидании):
Если вероятность наступления события
на каждом шаге равна , то матожидание наступления этого события .Доказательство:
Продиффиренцировав, получаем:
Алгоритм RMHC
На каждом шаге равномерно выбираем и инвертируем один бит из
. Пусть --- значение в начале фазы. При фаза заканчивается.Оценим время работы алгоритма для данной задачи.
Вероятность окончания фазы
. Тогда по Утверждению 5 для конкретной фазы.Отсюда ожидаемая продолжительность всех фаз:
Алгоритм (1+1)-ES
Независимо для каждого бита инвертируем его с вероятностью
. Пусть --- значение в начале фазы. При фаза заканчивается.Оценим время работы алгоритма для данной задачи.
Вероятность окончания фазы
по утверждению 3. Тогда по Утверждению 5 для конкретной фазы.Отсюда ожидаемая продолжительность всех фаз меньше либо равна:
Оценка времени работы алгоритмов с использованием Drift Analysis
Drift theorem
Пусть
--- неотрицательные целочисленные случайные величины и существует такое что:.
Тогда
удовлетворяет
An Improved Drift theorem
Пусть
--- случайные величины из и существует такое что:.
Тогда
удовлетворяет
RMHC для OneMax
Пусть
--- число нулевых бит после итерации :Пусть
. Тогда, то есть .
Отсюда по теореме о дрифте, с учетом того, что
получаем: .(1+1)-ES для OneMax
Пусть
--- число нулевых бит после итерации :Пусть
. Тогда вероятность перевернуть один нулевых битов равна . Отсюда, то есть .
Отсюда по теореме о дрифте, с учетом того, что
получаем: .(1+1)-ES для MST
Решение представляет собой битовую строку
длины , где , если , и в обратном случае.Мутация: независимо для каждого бита инвертируем его с вероятностью
.Фитнес-функция:
, где --- число компонент связности в текущем .Теорема [Neumann, Wegener (2004)]
Ожидаемое время работы (1+1)-EA для задачи MST равно
, где --- максимальный вес ребра.Доказательство
1) Пусть после
итераций связно: после итерации .Если
, то существует как минимум ребер, которые не входят в и добавление которых уменьшает :
Применяя теорему о дрифте, получаем требуемый результат.
2) Пусть
уже связно. Тогда оно остается связным и на дальнейших итерациях.Пусть
для после итерации .Если
, то существуют из и из такие, что--- это MST,
следовательно
, и для всех--- остовное дерево с .
С верояностью
, одна итерация обменяет в точности ребра и .
Используем теорему о дрифте, учитывая, что
, и получаем требуемый результат.