Теоретическая оценка времени работы алгоритмов RMHC и (1+1)-ES для задач OneMax и MST — различия между версиями
Agapova (обсуждение | вклад) (+ drift analysis) |
Agapova (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
− | + | == Постановка задачи однокритериальной оптимизации== | |
− | |||
− | |||
− | |||
<tex>S</tex> - пространство решений (дискретно), | <tex>S</tex> - пространство решений (дискретно), | ||
Строка 10: | Строка 7: | ||
Задача: найти <tex>s \in S : f(s) \rightarrow max </tex>. При этом рассматривается black-box scenario, что означает, что получить информацию об <tex>f</tex> можно только путем ее вычисления. | Задача: найти <tex>s \in S : f(s) \rightarrow max </tex>. При этом рассматривается black-box scenario, что означает, что получить информацию об <tex>f</tex> можно только путем ее вычисления. | ||
− | + | == Методы решения == | |
− | + | ==='''HC'''(Hill Climbing)=== | |
− | ''' | + | |
+ | x <tex>\leftarrow</tex> random | ||
+ | while(true) | ||
+ | x' <tex>\leftarrow</tex> neibor(x) | ||
+ | f(x') <tex>\geq</tex> f(x) <tex> \Rightarrow </tex> x = x' | ||
+ | Итерации выполняются, пока не будет удовлетворен критерий останова. Возможны два варианта HC: | ||
− | ''' | + | 1) '''first ascent''' --- в качестве <tex>x'</tex> выбирается первый из соседей, для которого <tex>f(x') \geq f(x)</tex> |
+ | 2) '''steepest ascent''' --- осуществляется перебор всех соседей, и в качестве <tex>x'</tex> выбирается тот, для которого <tex>f(x')-f(x)</tex> максимально | ||
− | + | ==='''RMHC''' (Random Mutation Hill Climbing)=== | |
− | ' | + | Та же схема, что и для HC, но <tex> x'</tex> получают путем случайного изменения одного из компонентов решения <tex> x </tex>. |
− | + | ==='''ES''' (Evolution Strategies)=== | |
− | <tex>x'</tex> может оказаться любым элементом <tex>S</tex>, но, чем он ближе к <tex>x</tex>, тем выше вероятность его выбора. | + | 1) <tex>(1+1)-ES </tex> --- после внесения случайного изменения в каждый из компонентов <tex> x</tex>, <tex>x'</tex> может оказаться любым элементом <tex>S</tex>, но, чем он ближе к <tex>x</tex>, тем выше вероятность его выбора. |
2) <tex>(1+\lambda)-ES</tex> --- генерируется <tex>\lambda</tex> промежуточных решений, среди них выбирается лучшее. | 2) <tex>(1+\lambda)-ES</tex> --- генерируется <tex>\lambda</tex> промежуточных решений, среди них выбирается лучшее. | ||
Строка 30: | Строка 33: | ||
− | + | == Примеры задач == | |
− | + | ===OneMax=== | |
+ | Найти битовую строку длины <tex>n</tex>, состоящую из одних единиц. Оценочная функция: | ||
<tex>f(x_1, x_2, \dots , x_n) = OneMax(x_1, x_2, \dots , x_n) = x_1 + x_2, + \dots + x_n </tex> | <tex>f(x_1, x_2, \dots , x_n) = OneMax(x_1, x_2, \dots , x_n) = x_1 + x_2, + \dots + x_n </tex> | ||
− | + | ===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>. | Дан связный неориентированный граф <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:''' | ||
Строка 99: | Строка 103: | ||
<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 === | ||
Решение: на каждом шаге равномерно выбираем и инвертируем один бит из <tex> n </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k + 1 = k' > k </tex> фаза заканчивается. | Решение: на каждом шаге равномерно выбираем и инвертируем один бит из <tex> n </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k + 1 = k' > k </tex> фаза заканчивается. | ||
Строка 110: | Строка 115: | ||
<tex> \sum_{k=0}^{n-1} \frac{n}{n-k} = n \sum_{i=1}^{n} \frac{1}{i} = O(n \log n) </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 | + | === Алгоритм (1+1)-ES === |
Решение: независимо для каждого бита инвертируем его с вероятностью <tex> p = \frac{1}{n} </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k' > k </tex> фаза заканчивается. | Решение: независимо для каждого бита инвертируем его с вероятностью <tex> p = \frac{1}{n} </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k' > k </tex> фаза заканчивается. | ||
Строка 120: | Строка 125: | ||
Отсюда ожидаемая продолжительность всех фаз: | Отсюда ожидаемая продолжительность всех фаз: | ||
<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> | ||
+ | |||
+ | ==Оценка времени решения MST== | ||
===Drift theorem=== | ===Drift theorem=== | ||
Строка 140: | Строка 147: | ||
<tex>\forall c > 0, Pr(T > (1/\delta)(\ln(X_0) + c)) \leq e ^ {-c}</tex> | <tex>\forall c > 0, Pr(T > (1/\delta)(\ln(X_0) + c)) \leq e ^ {-c}</tex> | ||
− | |||
− | |||
=== (1+1)-ES для MST === | === (1+1)-ES для MST === |
Версия 13:28, 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)
Доказательство:
1)
2)
Утверждение 3:
Доказательство:
по Утверждению 1, отсюда следует Утверждение 3.
Утверждение 4:
Доказательство:
Следует из вышедоказанного.
Утверждение 5 (Лемма об ожидании):
Если вероятность наступления события
на каждом шаге равна , то матожидание наступления этого события
Доказательство:
Продиффиренцировав, получаем:
Алгоритм RMHC
Решение: на каждом шаге равномерно выбираем и инвертируем один бит из
. Пусть --- значение в начале фазы. При фаза заканчивается.Оценим время работы алгоритма для данной задачи.
Вероятность окончания фазы
. Тогда по Утверждению 5 для конкретной фазы.Отсюда ожидаемая продолжительность всех фаз:
Алгоритм (1+1)-ES
Решение: независимо для каждого бита инвертируем его с вероятностью
. Пусть --- значение в начале фазы. При фаза заканчивается.Оценим время работы алгоритма для данной задачи.
Вероятность окончания фазы
по утверждению 3. Тогда по Утверждению 5 для конкретной фазы.Отсюда ожидаемая продолжительность всех фаз:
Оценка времени решения MST
Drift theorem
Пусть
--- неотрицательные целочисленные случайные величины и существует такое что:.
Тогда
удовлетворяет
An Improved Drift theorem
Пусть
--- случайные величины из и существует такое что:.
Тогда
удовлетворяет
(1+1)-ES для MST
Решение представляет собой битовую строку
длины , где , если , и в обратном случае.Мутация: независимо для каждого бита инвертируем его с вероятностью
Фитнес-функция:
, где --- число компонент связности в текущем .Теорема. [Neumann, Wegener (2004)]: Ожидаемое время работы (1+1)-EA для задачи MST
, где --- максимальный вес ребра.Доказательство.
1) Пусть после
итераций связно: после итерацииЕсли
, то существует как минимум ребер, которые не входят в и добавление которых уменьшает
Применяя теорему о дрифте, получаем требуемый результат.
2) Пусть
уже связно. Тогда оно остается связным и на дальнейших итерациях.Пусть
для после итерации .Если
, то существуют из и из такие, что--- это MST,
следовательно
, и для всех--- основное дерево с .
С верояностью
, одна итерация обменяет в точности ребра и .
Используем теорему о дрифте, учитывая, что
, и получаем требуемый результат.