Теоретическая оценка времени работы алгоритмов RMHC и (1+1)-ES для задач OneMax и MST — различия между версиями
Agapova (обсуждение | вклад) м |
Agapova (обсуждение | вклад) м (→Оценка времени решения OneMax) |
||
Строка 58: | Строка 58: | ||
'''Утверждение 2:''' | '''Утверждение 2:''' | ||
− | <tex> \frac{n^k}{k^k} \leq C_n^k</tex> | + | <tex> \frac{n^k}{k^k} \leq C_n^k (1)</tex> |
− | <tex> C_n^k \leq \frac{n^k}{k!} </tex> | + | <tex> C_n^k \leq \frac{n^k}{k!} (2)</tex> |
'''Доказательство:''' | '''Доказательство:''' | ||
Строка 71: | Строка 71: | ||
'''Утверждение 3:''' | '''Утверждение 3:''' | ||
− | <tex> \frac{1}{n}^k (1 - \frac{1}{n})^{n - k} \geq \frac{1}{e n^k} </tex> | + | <tex> (\frac{1}{n})^k (1 - \frac{1}{n})^{n - k} \geq \frac{1}{e n^k} </tex> |
'''Доказательство:''' | '''Доказательство:''' | ||
Строка 84: | Строка 84: | ||
'''Доказательство:''' | '''Доказательство:''' | ||
− | + | <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. | ||
Строка 97: | Строка 98: | ||
<tex>E(t_A) = 1 \cdot p + 2 (1-p) p + 3 (1 - p)^2 p + \dots + k (1 - p)^k p + \dots = \sum_{i=1}^\infty i p (1 - p) ^{i - 1} = p\sum_{i=1}^\infty i (1 - p) ^{i - 1}</tex> | <tex>E(t_A) = 1 \cdot p + 2 (1-p) p + 3 (1 - p)^2 p + \dots + k (1 - p)^k p + \dots = \sum_{i=1}^\infty i p (1 - p) ^{i - 1} = p\sum_{i=1}^\infty i (1 - p) ^{i - 1}</tex> | ||
− | <tex> \frac{1}{1 - x} = \sum_{i=0}^\infty x^i </tex> Продиффиренцировав, получаем: | + | <tex> \frac{1}{1 - x} = \sum_{i=0}^\infty x^i </tex> |
+ | |||
+ | Продиффиренцировав, получаем: | ||
<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> | ||
Строка 106: | Строка 109: | ||
=== Алгоритм RMHC === | === Алгоритм RMHC === | ||
− | + | На каждом шаге равномерно выбираем и инвертируем один бит из <tex> n </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k + 1 = k' > k </tex> фаза заканчивается. | |
Оценим время работы алгоритма для данной задачи. | Оценим время работы алгоритма для данной задачи. | ||
Строка 117: | Строка 120: | ||
=== Алгоритм (1+1)-ES === | === Алгоритм (1+1)-ES === | ||
− | + | Независимо для каждого бита инвертируем его с вероятностью <tex> p = \frac{1}{n} </tex>. Пусть <tex> k </tex> --- значение <tex> f </tex> в начале фазы. При <tex> k' > k </tex> фаза заканчивается. | |
Оценим время работы алгоритма для данной задачи. | Оценим время работы алгоритма для данной задачи. | ||
Строка 123: | Строка 126: | ||
Вероятность окончания фазы <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> (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> | <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> | ||
Версия 13:59, 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 для конкретной фазы.Отсюда ожидаемая продолжительность всех фаз меньше либо равна:
Оценка времени решения MST
Drift theorem
Пусть
--- неотрицательные целочисленные случайные величины и существует такое что:.
Тогда
удовлетворяет
An Improved Drift theorem
Пусть
--- случайные величины из и существует такое что:.
Тогда
удовлетворяет
(1+1)-ES для MST
Решение представляет собой битовую строку
длины , где , если , и в обратном случае.Мутация: независимо для каждого бита инвертируем его с вероятностью
Фитнес-функция:
, где --- число компонент связности в текущем .Теорема. [Neumann, Wegener (2004)]: Ожидаемое время работы (1+1)-EA для задачи MST
, где --- максимальный вес ребра.Доказательство.
1) Пусть после
итераций связно: после итерацииЕсли
, то существует как минимум ребер, которые не входят в и добавление которых уменьшает
Применяя теорему о дрифте, получаем требуемый результат.
2) Пусть
уже связно. Тогда оно остается связным и на дальнейших итерациях.Пусть
для после итерации .Если
, то существуют из и из такие, что--- это MST,
следовательно
, и для всех--- основное дерево с .
С верояностью
, одна итерация обменяет в точности ребра и .
Используем теорему о дрифте, учитывая, что
, и получаем требуемый результат.