Drift theory и Drift theorem — различия между версиями
(→Примеры использования) |
|||
Строка 29: | Строка 29: | ||
|id=statement2 | |id=statement2 | ||
|about=2 | |about=2 | ||
− | |statement=<tex>E(T) = \sum\limits_{i = 0}^{\infty} P(T | + | |statement=<tex>E(T) = \sum\limits_{i = 0}^{\infty} P(T \ge i)</tex> |
|proof= | |proof= | ||
Это утверждение достаточно известно в теории вероятностей. | Это утверждение достаточно известно в теории вероятностей. | ||
− | <tex>E(T) = \sum\limits_{i = 0}^{\infty}iP(T = i) = \sum\limits_{i = 1}^{\infty}\sum\limits_{j = 1}^{i}P(T = i) = \sum\limits_{j = 1}^{\infty}\sum\limits_{i = j}^{\infty}P(T = i) = \sum\limits_{i = 0}^{\infty} P(T | + | <tex>E(T) = \sum\limits_{i = 0}^{\infty}iP(T = i) = \sum\limits_{i = 1}^{\infty}\sum\limits_{j = 1}^{i}P(T = i) = \sum\limits_{j = 1}^{\infty}\sum\limits_{i = j}^{\infty}P(T = i) = \sum\limits_{i = 0}^{\infty} P(T \ge i)</tex> |
}} | }} | ||
Строка 42: | Строка 42: | ||
Так как из <tex>X_i = 0</tex> следует <tex>T \le i</tex>, то <tex>P(T \ge i) \le P(X_i > 0)</tex>. | Так как из <tex>X_i = 0</tex> следует <tex>T \le i</tex>, то <tex>P(T \ge i) \le P(X_i > 0)</tex>. | ||
− | Следовательно, по [[#statement2|утверждению(2)]], <tex>E(T) = \sum\limits_{i = 0}^{\infty} P(T | + | Следовательно, по [[#statement2|утверждению(2)]], <tex>E(T) = \sum\limits_{i = 0}^{\infty} P(T \ge i) \le \sum\limits_{t = 0}^{\infty} P(X_t > 0)</tex>. |
Для произвольного натурального <tex>K</tex>: | Для произвольного натурального <tex>K</tex>: | ||
Строка 48: | Строка 48: | ||
<tex>\parbox{0px}{\begin{align*} | <tex>\parbox{0px}{\begin{align*} | ||
E(T) &\le \sum\limits_{t = 0}^{\infty} P(X_t > 0) \le K + \sum\limits_{t=K}^{\infty} P(X_t > 0) =\\ | E(T) &\le \sum\limits_{t = 0}^{\infty} P(X_t > 0) \le K + \sum\limits_{t=K}^{\infty} P(X_t > 0) =\\ | ||
− | &= K + \sum\limits_{t=K}^{\infty} P(X_t | + | &= K + \sum\limits_{t=K}^{\infty} P(X_t \ge 1) \le K + \sum\limits_{t=K}^{\infty} E(X_t) |
\end{align*}}</tex>. | \end{align*}}</tex>. | ||
− | Здесь мы использовали то, что <tex>X_t > 0 \Leftrightarrow X_t | + | Здесь мы использовали то, что <tex>X_t > 0 \Leftrightarrow X_t \ge 1</tex>, а также неравество Маркова: <tex>P(|X| \ge a) \le \frac{E(|X|)}{a}</tex>. |
}} | }} | ||
Строка 98: | Строка 98: | ||
Теорема о дрифте достаточно естественно применяется для эволюционных алгоритмов, оперирующих одной особью. Продемонстрируем это. | Теорема о дрифте достаточно естественно применяется для эволюционных алгоритмов, оперирующих одной особью. Продемонстрируем это. | ||
− | Пусть в эволюционном алгоритме | + | Пусть в эволюционном алгоритме протранство поиска <tex>S_n</tex>, а целевая функция – <tex>f: S_n \rightarrow \mathbb{N}</tex>. |
Пусть оптимальное значение целевой функции – <tex>f_{opt}</tex> | Пусть оптимальное значение целевой функции – <tex>f_{opt}</tex> | ||
Положим, что <tex>X_t = |f_{opt} - f(x_t)|</tex>, где <tex>x_t \in S_n</tex> – особь, полученная на шаге номер <tex>t</tex>. Почти все условия [[#theorem1| теоремы о дрифте]] выполнены, последнее условие (оценка на <tex>E(X_{i+1}|X_i)</tex>)доказывается для каждой задачи отдельно. | Положим, что <tex>X_t = |f_{opt} - f(x_t)|</tex>, где <tex>x_t \in S_n</tex> – особь, полученная на шаге номер <tex>t</tex>. Почти все условия [[#theorem1| теоремы о дрифте]] выполнены, последнее условие (оценка на <tex>E(X_{i+1}|X_i)</tex>)доказывается для каждой задачи отдельно. |
Версия 15:51, 18 июня 2012
Теория дрифта была впервые представленная в работах [1,2]. Ее центральный результат, теорема о дрифте, успешно применяется для оценок времени работы различных эволюционных алгоритмов [3-7]. Тем не менее, многие исследователи критикуют ее использование. Основные причины – сложность доказательства самой теоремы и ее использования.
В результате в работах [8,9] была предложена мультипликативная теорема о дрифте, которая во многих случаях позволяет получать более естественные доказательства. Кроме того в работе [10] была получена оценка вероятности того, что реальное время работы алгоритма превысит ожидаемое на заданную величину.
Содержание
Мультипликативная теорема о дрифте
Теорема (Multiplicative Drift Theorem): | |||||||||||||||
Пусть – последовательность случайных величин, и существует , такое что
Тогда для | |||||||||||||||
Доказательство: | |||||||||||||||
Подставляя выбранное утверждение(3) получаем: в
Пояснение:
2. Докажем второе утверждение теоремы. Пусть . Тогда
Пояснение:
| |||||||||||||||
Примеры использования
Теорема о дрифте достаточно естественно применяется для эволюционных алгоритмов, оперирующих одной особью. Продемонстрируем это.
Пусть в эволюционном алгоритме протранство поиска теоремы о дрифте выполнены, последнее условие (оценка на )доказывается для каждой задачи отдельно.
, а целевая функция – . Пусть оптимальное значение целевой функции – Положим, что , где – особь, полученная на шаге номер . Почти все условияПродемострируем использование теоремы о дрифте для оценки времени нахождения оптимального решения задачи OneMax при использовании RMHC и (1+1)-ES стратегий. Пространство поиска – множество битовых строк длины , целевая функция . В качестве оценки сверху на берем .
Ниже приведены примеры оценки ожидаемого значения следующего элемента в зависимости от предыдущего (
).Применение к Random Mutation Hill Climbing
Пусть
. С вероятностью будет перевернут единичный бит. Полученное решение будет хуже, чем предыдущее и будет отброшено. С вероятностью будет перевернут нулевой бит. Это приведет к . В итоге получаем: .Получаем, что
, следовательно .Применение к (1+1)-ES
Пусть
. Вероятность того, что в результате мутации будет переверут ровно один нулевой бит (и только он) составляет . Во всех остальных случаях .Итог:
.Получаем, что
, следовательно .Источники
- He, J., Yao, X.: Drift analysis and average time complexity of evolutionary algorithms. Artificial Intelligence 127, 57–85 (2001)
- He, J., Yao, X.: A study of drift analysis for estimating computation time of evolutionary algorithms. Natural Computing 3, 21–35 (2004)
- Giel, O., Wegener, I.: Evolutionary algorithms and the maximum matching problem. In: Alt, H., Habib, M. (eds.) STACS 2003. LNCS, vol. 2607, pp. 415–426. Springer, Heidelberg (2003)
- Giel, O., Lehre, P.K.: On the effect of populations in evolutionary multi-objective optimization. In: Proceedings of GECCO 2006, pp. 651–658. ACM, New York (2006)
- Happ, E., Johannsen, D., Klein, C., Neumann, F.: Rigorous analyses of fitnessproportional selection for optimizing linear functions. In: Proceedings of GECCO 2008, pp. 953–960. ACM, New York (2008)
- Oliveto, P.S., Witt, C.: Simplified drift analysis for proving lower bounds in evolutionary computation. In: Rudolph, G., Jansen, T., Lucas, S., Poloni, C., Beume, N. (eds.) PPSN 2008. LNCS, vol. 5199, pp. 82–91. Springer, Heidelberg (2008)
- Neumann, F., Oliveto, P.S., Witt, C.: Theoretical analysis of fitness-proportional selection: landscapes and efficiency. In: Proceedings of GECCO 2009, pp. 835–842. ACM, New York (2009)
- Doerr, B., Johannsen, D., Winzen, C.: Drift analysis and linear functions revisited. In: Proceedings of CEC 2010. IEEE, Los Alamitos (to appear, 2010)
- Doerr, B., Johannsen, D., Winzen, C.: Multiplicative drift analysis. In: Proceedings of GECCO 2010. ACM, New York (to appear, 2010)
- B. Doerr, L.A. Goldberg, Drift analysis with tail bounds, Proceedings of the 11th international conference on Parallel problem solving from nature: Part I, September 11-15, 2010, Kraków, Poland