Теоретическая оценка времени работы алгоритмов RMHC и (1+1)-ES для задач OneMax и MST — различия между версиями
Agapova (обсуждение | вклад) (first draft) |
Agapova (обсуждение | вклад) (+ drift analysis) |
||
Строка 38: | Строка 38: | ||
2) '''MST''' --- Minimum spanning tree | 2) '''MST''' --- Minimum spanning tree | ||
+ | Дан связный неориентированный граф <tex> G = (V, E) </tex>, с ребрами веса <tex> w_e </tex>. Требуется найти минимальное остовное дерево <tex>T = (V, E')</tex> минимального веса <tex> w(T) = \sum_{e \in E'} w_e </tex>. | ||
'''Утверждение 1:''' | '''Утверждение 1:''' | ||
Строка 96: | Строка 97: | ||
<tex> \frac{1}{1 - x}' = \frac{1}{(1 - x) ^ 2} = \sum_{i=0}^\infty i x^{i - 1} </tex> | <tex> \frac{1}{1 - x}' = \frac{1}{(1 - x) ^ 2} = \sum_{i=0}^\infty i x^{i - 1} </tex> | ||
− | <tex> \frac{ | + | <tex> \frac{p}{ (1 - (1 - p)) ^ 2} = p \sum_{i=1}^\infty i (1 - p)^{i-1} = \frac{1}{p} </tex> |
+ | |||
+ | === RMHC для OneMax === | ||
+ | |||
+ | Решение: на каждом шаге равномерно выбираем и инвертируем один бит из <tex> n </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k + 1 = k' > k </tex> фаза заканчивается. | ||
+ | |||
+ | Оценим время работы алгоритма для данной задачи. | ||
+ | |||
+ | Вероятность окончания фазы <tex> \frac{n - k}{n} </tex>. Тогда по Утверждению 5 <tex> E(t) = \frac{n}{n-k} </tex> для конкретной фазы. | ||
+ | |||
+ | Отсюда ожидаемая продолжительность всех фаз: | ||
+ | <tex> \sum_{k=0}^{n-1} \frac{n}{n-k} = n \sum_{i=1}^{n} \frac{1}{i} = O(n \log n) </tex> | ||
+ | |||
+ | === (1+1)-ES для OneMax === | ||
+ | |||
+ | Решение: независимо для каждого бита инвертируем его с вероятностью <tex> p = \frac{1}{n} </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k' > k </tex> фаза заканчивается. | ||
+ | |||
+ | Оценим время работы алгоритма для данной задачи. | ||
+ | |||
+ | Вероятность окончания фазы <tex> (n - k)\frac{1}{n}(1 - \frac{1}{n}) ^ {n-1} \geq \frac{n - k}{e n}</tex> по утверждению 3. Тогда по Утверждению 5 <tex> E(t) \leq \frac{e n}{n-k} </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 theorem=== | ||
+ | Пусть <tex>X_0, X_1, \dots</tex> --- неотрицательные целочисленные случайные величины и существует <tex>\delta > 0</tex> такое что: | ||
+ | |||
+ | <tex>\forall t \in \mathbb{N}, x \in \mathbb{N}_0 : E(X_t | X_{t-1} = x) \leq (1 - \delta) x</tex>. | ||
+ | |||
+ | Тогда <tex>T = \min\{t \in \mathbb{N}_0 | X_t = 0\}</tex> удовлетворяет | ||
+ | |||
+ | <tex>E(T) \leq (1/\delta)(\ln(X_0) + 1)</tex> | ||
+ | |||
+ | ===An Improved Drift theorem=== | ||
+ | Пусть <tex>X_0, X_1, \dots</tex> --- случайные величины из <tex>\{0\} \cup [1, \infty)</tex> и существует <tex>\delta > 0</tex> такое что: | ||
+ | |||
+ | <tex>\forall t \in \mathbb{N}, x \in \mathbb{N}_0 : E(X_t | X_{t-1} = x) \leq (1 - \delta) x</tex>. | ||
+ | |||
+ | Тогда <tex>T = \min\{t \in \mathbb{N}_0 | X_t = 0\}</tex> удовлетворяет | ||
+ | |||
+ | <tex>E(T) \leq (1/\delta)(\ln(X_0) + 1)</tex> | ||
+ | |||
+ | <tex>\forall c > 0, Pr(T > (1/\delta)(\ln(X_0) + c)) \leq e ^ {-c}</tex> | ||
+ | |||
+ | |||
+ | |||
+ | === (1+1)-ES для MST === | ||
+ | |||
+ | Решение представляет собой битовую строку <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>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) Пусть после <tex>O(m \log m)</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>E(X_t) \leq (1 - \frac{1}{e m})k</tex> | ||
+ | |||
+ | Применяя теорему о дрифте, получаем требуемый результат. | ||
+ | |||
+ | 2) Пусть <tex>T</tex> уже связно. Тогда оно остается связным и на дальнейших итерациях. | ||
+ | |||
+ | Пусть <tex> X_t = w(T) - w_{opt} </tex> для <tex>T</tex> после итерации <tex>t</tex>. | ||
+ | |||
+ | Если <tex>X_{t-1} = D > 0</tex>, то существуют <tex>e_1, \dots, e_k</tex> из <tex>T</tex> и <tex>e'_1, \dots, e'_k</tex> из <tex>E \setminus T</tex> такие, что | ||
+ | |||
+ | <tex>T' = T - \{e_1, \dots , e_k\} + \{e'_1, \dots , e'_k\}</tex> --- это MST, | ||
+ | |||
+ | следовательно <tex>D = \sum_{i} (w(e_i) - w(e'_i))</tex>, и для всех <tex>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>E(X_t) \leq D - \sum_{i} (1/e m^2) (w(e_i) - w(e'_i))= (1 - 1/e m^2) D </tex> | ||
+ | |||
+ | Используем теорему о дрифте, учитывая, что | ||
+ | <tex>X_0 \leq \sum_{e \in E} w(e) \leq m w_{max}</tex>, и получаем требуемый результат. |
Версия 16:49, 11 июня 2012
Содержание
Теоретическая оценка времени работы алгоритмов RMHC и (1+1)-ES для задач OneMax и MST
Постановка задачи
- пространство решений (дискретно),
- оценочная функция.
Задача: найти
. При этом рассматривается black-box scenario, что означает, что получить информацию об можно только путем ее вычисления.Методы решения
RMHC --- Random Mutation Hill Climbing
RLS --- Random Local Search
Начальное решение выбирается случайным образом. Выбор последующих также осуществляется случайным образом.
ES --- Evolution Strategies
1)
может оказаться любым элементом , но, чем он ближе к , тем выше вероятность его выбора.
2)
--- генерируется промежуточных решений, среди них выбирается лучшее.3)
--- генерируется промежуточных решений, среди них выбирается лучших.
Примеры задач
1) OneMax --- найти битовую строку длины
, состоящую из одних единиц. Оценочная функция:
2) MST --- Minimum spanning tree
Дан связный неориентированный граф
, с ребрами веса . Требуется найти минимальное остовное дерево минимального веса .Утверждение 1:
Доказательство:
Утверждение 2:
(1)
(2)
Доказательство:
1)
2)
Утверждение 3:
Доказательство:
по Утверждению 1, отсюда следует Утверждение 3.
Утверждение 4:
Доказательство:
Следует из вышедоказанного.
Утверждение 5 (Лемма об ожидании):
Если вероятность наступления события
на каждом шаге равна , то матожидание наступления этого события
Доказательство:
Продиффиренцировав, получаем:
RMHC для OneMax
Решение: на каждом шаге равномерно выбираем и инвертируем один бит из
. Пусть --- значение в начале фазы. При фаза заканчивается.Оценим время работы алгоритма для данной задачи.
Вероятность окончания фазы
. Тогда по Утверждению 5 для конкретной фазы.Отсюда ожидаемая продолжительность всех фаз:
(1+1)-ES для OneMax
Решение: независимо для каждого бита инвертируем его с вероятностью
. Пусть --- значение в начале фазы. При фаза заканчивается.Оценим время работы алгоритма для данной задачи.
Вероятность окончания фазы
по утверждению 3. Тогда по Утверждению 5 для конкретной фазы.Отсюда ожидаемая продолжительность всех фаз:
Drift theorem
Пусть
--- неотрицательные целочисленные случайные величины и существует такое что:.
Тогда
удовлетворяет
An Improved Drift theorem
Пусть
--- случайные величины из и существует такое что:.
Тогда
удовлетворяет
(1+1)-ES для MST
Решение представляет собой битовую строку
длины , где , если , и в обратном случае.Мутация: независимо для каждого бита инвертируем его с вероятностью
Фитнес-функция:
, где --- число компонент связности в текущем .Теорема. [Neumann, Wegener (2004)]: Ожидаемое время работы (1+1)-EA для задачи MST
, где --- максимальный вес ребра.Доказательство.
1) Пусть после
итераций связно: после итерацииЕсли
, то существует как минимум ребер, которые не входят в и добавление которых уменьшает
Применяя теорему о дрифте, получаем требуемый результат.
2) Пусть
уже связно. Тогда оно остается связным и на дальнейших итерациях.Пусть
для после итерации .Если
, то существуют из и из такие, что--- это MST,
следовательно
, и для всех--- основное дерево с .
С верояностью
, одна итерация обменяет в точности ребра и .
Используем теорему о дрифте, учитывая, что
, и получаем требуемый результат.