Теоретическая оценка времени работы алгоритмов RMHC и (1+1)-ES для задач OneMax и MST — различия между версиями
Agapova (обсуждение | вклад) м (→Drift theorem) |
Agapova (обсуждение | вклад) м (→Оценка времени решения MST) |
||
Строка 129: | Строка 129: | ||
<tex> \sum_{k=0}^{n-1} \frac{e n}{n-k} = e n \sum_{i=1}^{n} \frac{1}{i} = O(n \log n) </tex> | <tex> \sum_{k=0}^{n-1} \frac{e n}{n-k} = e n \sum_{i=1}^{n} \frac{1}{i} = O(n \log n) </tex> | ||
− | ==Оценка времени | + | ==Оценка времени работы алгоритмов с использованием Drift Analysis== |
===Drift theorem=== | ===Drift theorem=== | ||
Строка 147: | Строка 147: | ||
Тогда <tex>T = \min\{t \in \mathbb{N}_0 | X_t = 0\}</tex> удовлетворяет | Тогда <tex>T = \min\{t \in \mathbb{N}_0 | X_t = 0\}</tex> удовлетворяет | ||
− | <tex>E(T) \leq | + | <tex>E(T) \leq \frac{1}{\delta}(\ln(X_0) + 1)</tex> |
− | <tex>\forall c > 0, Pr(T > | + | <tex>\forall c > 0, Pr(T > \frac{1}{\delta}(\ln(X_0) + c)) \leq e ^ {-c}</tex> |
+ | |||
+ | ===RMHC для OneMax=== | ||
+ | Пусть <tex>X_t</tex> --- число нулевых бит после итерации <tex>i</tex>: <tex>X_t = f_{opt} - f(X_t)</tex> | ||
+ | |||
+ | Пусть <tex>X_{t-1} = k</tex>. Тогда | ||
+ | |||
+ | <tex>E(X_t | X_{t-1} = k) = (k-1)\frac{k}{n} + k \frac{n-1}{n} = k (1 - \frac{1}{n})</tex>, то есть <tex> \delta = \frac{1}{n}</tex>. | ||
+ | |||
+ | Отсюда по теореме о дрифте, с учетом того, что <tex> X_0 \leq n </tex> получаем: <tex> E(T) \leq n(\ln{n} + 1)</tex>. | ||
+ | |||
+ | ===(1+1)-ES для OneMax=== | ||
+ | Пусть <tex>X_t</tex> --- число нулевых бит после итерации <tex>i</tex>: <tex>X_t = f_{opt} - f(X_t)</tex> | ||
+ | |||
+ | Пусть <tex>X_{t-1} = k</tex>. Тогда вероятность перевернуть один нулевых битов равна <tex>k \frac{1}{n} ( 1 - \frac{1}{n})^{n-1} \geq \frac{k}{e n} </tex>. Отсюда | ||
+ | |||
+ | <tex>E(X_t | X_{t-1} = k) \leq (k-1)\frac{k}{e n} + k (1 - \frac{k}{e n}) = k (1 - \frac{1}{e n})</tex>, то есть <tex> \delta = \frac{1}{e n}</tex>. | ||
+ | |||
+ | Отсюда по теореме о дрифте, с учетом того, что <tex> X_0 \leq n </tex> получаем: <tex> E(T) \leq e n(\ln{n} + 1)</tex>. | ||
=== (1+1)-ES для MST === | === (1+1)-ES для MST === | ||
Строка 155: | Строка 173: | ||
Решение представляет собой битовую строку <tex>x</tex> длины <tex>m = |E|</tex>, где <tex>x_e = 1</tex>, если <tex>e \in E'</tex>, и <tex>x_e = 0</tex> в обратном случае. | Решение представляет собой битовую строку <tex>x</tex> длины <tex>m = |E|</tex>, где <tex>x_e = 1</tex>, если <tex>e \in E'</tex>, и <tex>x_e = 0</tex> в обратном случае. | ||
− | Мутация: независимо для каждого бита инвертируем его с вероятностью <tex>\frac{1}{m}</tex> | + | Мутация: независимо для каждого бита инвертируем его с вероятностью <tex>\frac{1}{m}</tex>. |
Фитнес-функция: <tex>w(T) + c_{penalty} ({\#comp} - 1) </tex>, где <tex>\#comp</tex> --- число компонент связности в текущем <tex> T </tex>. | Фитнес-функция: <tex>w(T) + c_{penalty} ({\#comp} - 1) </tex>, где <tex>\#comp</tex> --- число компонент связности в текущем <tex> T </tex>. | ||
− | Теорема | + | '''Теорема [Neumann, Wegener (2004)]''' |
− | Ожидаемое время работы (1+1)-EA для задачи MST <tex>O(m^2 \log(m w_{max}))</tex>, где <tex>w_{max}</tex> --- максимальный вес ребра. | + | |
+ | Ожидаемое время работы (1+1)-EA для задачи MST равно <tex>O(m^2 \log(m w_{max}))</tex>, где <tex>w_{max}</tex> --- максимальный вес ребра. | ||
− | Доказательство | + | '''Доказательство''' |
1) Пусть после <tex>O(m \log m)</tex> итераций <tex>T</tex> связно: | 1) Пусть после <tex>O(m \log m)</tex> итераций <tex>T</tex> связно: | ||
− | <tex>X_t = {\#comp} - 1</tex> после итерации <tex>t</tex> | + | <tex>X_t = {\#comp} - 1</tex> после итерации <tex>t</tex>. |
− | Если <tex>X_{t - 1} = k</tex>, то существует как минимум <tex>k</tex> ребер, которые не входят в <tex>T</tex> и добавление которых уменьшает <tex>X_t</tex> | + | Если <tex>X_{t - 1} = k</tex>, то существует как минимум <tex>k</tex> ребер, которые не входят в <tex>T</tex> и добавление которых уменьшает <tex>X_t</tex>: |
<tex>E(X_t) \leq (1 - \frac{1}{e m})k</tex> | <tex>E(X_t) \leq (1 - \frac{1}{e m})k</tex> | ||
Строка 183: | Строка 202: | ||
следовательно <tex>D = \sum_{i} (w(e_i) - w(e'_i))</tex>, и для всех <tex>i</tex> | следовательно <tex>D = \sum_{i} (w(e_i) - w(e'_i))</tex>, и для всех <tex>i</tex> | ||
− | <tex>T_i = T - e_i + e'_i</tex> --- | + | <tex>T_i = T - e_i + e'_i</tex> --- остовное дерево с <tex>w(T_i) < w(T)</tex>. |
С верояностью <tex>\geq 1/e m^2</tex>, одна итерация обменяет в точности ребра <tex>e_i</tex> и <tex>e'_i</tex>. | С верояностью <tex>\geq 1/e m^2</tex>, одна итерация обменяет в точности ребра <tex>e_i</tex> и <tex>e'_i</tex>. |
Версия 14:47, 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,
следовательно
, и для всех--- остовное дерево с .
С верояностью
, одна итерация обменяет в точности ребра и .
Используем теорему о дрифте, учитывая, что
, и получаем требуемый результат.