Drift theory и Drift theorem — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Примеры использования)
Строка 98: Строка 98:
 
Теорема о дрифте достаточно естественно применяется для эволюционных алгоритмов, оперирующих одной особью. Продемонстрируем это.
 
Теорема о дрифте достаточно естественно применяется для эволюционных алгоритмов, оперирующих одной особью. Продемонстрируем это.
  
Пусть в эволюционном алгоритме протранство поиска <tex>S_n</tex>, а целевая функция &ndash; <tex>f: S_n \rightarrow \mathbb{N}</tex>.
+
Пусть в эволюционном алгоритме проcтранство поиска <tex>S_n</tex>, а целевая функция &ndash; <tex>f: S_n \rightarrow \mathbb{N}</tex>.
 
Пусть оптимальное значение целевой функции &ndash; <tex>f_{opt}</tex>
 
Пусть оптимальное значение целевой функции &ndash; <tex>f_{opt}</tex>
 
Положим, что <tex>X_t = |f_{opt} - f(x_t)|</tex>, где <tex>x_t \in S_n</tex> &ndash; особь, полученная на шаге номер <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> &ndash; особь, полученная на шаге номер <tex>t</tex>. Почти все условия [[#theorem1| теоремы о дрифте]] выполнены, последнее условие (оценка на <tex>E(X_{i+1}|X_i)</tex>)доказывается для каждой задачи отдельно.

Версия 11:49, 18 июня 2012

Теория дрифта была впервые представленная в работах [1,2]. Ее центральный результат, теорема о дрифте, успешно применяется для оценок времени работы различных эволюционных алгоритмов [3-7]. Тем не менее, многие исследователи критикуют ее использование. Основные причины – сложность доказательства самой теоремы и ее использования.

В результате в работах [8,9] была предложена мультипликативная теорема о дрифте, которая во многих случаях позволяет получать более естественные доказательства. Кроме того в работе [10] была получена оценка вероятности того, что реальное время работы алгоритма превысит ожидаемое на заданную величину.

Мультипликативная теорема о дрифте

Теорема (Multiplicative Drift Theorem):
Пусть [math]X_0, X_1, \ldots[/math] – последовательность случайных величин, [math]X_i \in \{0\} \cup [1, \infty)[/math] и существует [math]\delta \gt 0[/math], такое что [math]\forall x \: : \: E(X_{i + 1} | X_{i} = x) \le \left( 1 - \delta \right)x[/math]

Тогда для [math]T = \min\{t | X_t = 0\}[/math]

  1. [math]E(T) \le \delta^{-1} \left(\ln X_0 + 1\right)[/math]
  2. [math]\forall c \gt 0 \: : \: P\left(T \gt \delta^{-1} (\ln X_0 + c)\right) \le e^{-c}[/math]
Доказательство:
[math]\triangleright[/math]
Утверждение (1):
[math]E(X_t) \le e^{-\delta t} X_0[/math]
[math]\triangleright[/math]

Здесь и далее [math]X_0[/math] – не случайная величина, а ее оценка сверху. [math]E(X_t) \le \left(1 - \delta\right)^t X_0 \le \left(1 - \delta\right)^t X_0 \le e^{-\delta t} X_0[/math]

В последнем неравенстве мы использовали следующий факт: [math]\forall x \in \mathbf{R} \: : \: 1 + x \le e^{x}[/math]
[math]\triangleleft[/math]
Утверждение (2):
[math]E(T) = \sum\limits_{i = 0}^{\infty} P(T \gt = i)[/math]
[math]\triangleright[/math]

Это утверждение достаточно известно в теории вероятностей.

[math]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 \gt = i)[/math]
[math]\triangleleft[/math]
Утверждение (3):
[math]\forall K \in \mathbb{N} \: : \: E(T) \le K + \sum\limits_{t=K}^{\infty} E(X_t)[/math]
[math]\triangleright[/math]

Так как из [math]X_i = 0[/math] следует [math]T \le i[/math], то [math]P(T \ge i) \le P(X_i \gt 0)[/math].

Следовательно, по утверждению(2), [math]E(T) = \sum\limits_{i = 0}^{\infty} P(T \gt = i) \le \sum\limits_{t = 0}^{\infty} P(X_t \gt 0)[/math].

Для произвольного натурального [math]K[/math]:

[math]\parbox{0px}{\begin{align*} E(T) &\le \sum\limits_{t = 0}^{\infty} P(X_t \gt 0) \le K + \sum\limits_{t=K}^{\infty} P(X_t \gt 0) =\\ &= K + \sum\limits_{t=K}^{\infty} P(X_t \gt = 1) \le K + \sum\limits_{t=K}^{\infty} E(X_t) \end{align*}}[/math].

Здесь мы использовали то, что [math]X_t \gt 0 \Leftrightarrow X_t \gt = 1[/math], а также неравество Маркова: [math]P(|X| \ge a) \le \frac{E(|X|)}{a}[/math].
[math]\triangleleft[/math]


Положим теперь [math]K = \lceil \delta^{-1} \ln X_0 \rceil = \delta^{-1} \ln X_0 + \epsilon[/math] для некоторого [math]0 \le \epsilon \lt 1 [/math].

Подставляя выбранное [math]K[/math] в утверждение(3) получаем:

[math]\parbox{0px}{\begin{align*} E(T) &= K + \sum\limits_{t=K}^{\infty} E(X_t) =\\ &= \left(\delta^{-1} \ln X_0 + \epsilon\right) + \sum\limits_{t=K}^{\infty} E(X_t) \le_{(1)}\\ &\le_{(1)} \delta^{-1} \ln X_0 + \epsilon + (1 - \delta)^K X_0 \sum\limits_{i = 0}^{\infty}(1 - \delta)^i =_{(2)} \\ &=_{(2)} \delta^{-1} \ln X_0 + \epsilon + (1 - \delta)^K X_0 \delta^{-1} \le_{(3)} \\ &\le_{(3)} \delta^{-1} \ln X_0 + \epsilon + (1 - \delta)^\epsilon (1 - \delta)^{\delta^{-1} \ln X_0} X_0 \delta^{-1} =_{(4)}\\ &\le_{(4)} \delta^{-1} \ln X_0 + \epsilon + (1 - \delta)^\epsilon e^{- \delta (\delta^{-1} \ln X_0)} X_0 \delta^{-1} =_{(5)}\\ &=_{(5)} \delta^{-1} \ln X_0 + \epsilon + (1 - \delta)^{\epsilon}\delta^{-1} \le_{(6)}\\ &\le_{(6)} \delta^{-1} (\ln X_0 + 1) \end{align*}}[/math]

Пояснение:

  1. Аналогично утверждению(1).
  2. Используем формулу суммы геометрической прогрессии.
  3. Подставляем значение [math]K[/math].
  4. По утверждению(1).
  5. Упрощаем выражение.
  6. Находим экстремумы функции [math]f(\epsilon) = \epsilon + (1 - \delta)^{\epsilon}\delta^{-1}[/math] на интервале [math][0, 1)[/math]

2. Докажем второе утверждение теоремы. Пусть [math]T_c = \lceil \delta^{-1} (\ln X_0 + c) \rceil[/math]. Тогда

[math]\parbox{0px}{\begin{align*} P(T \gt T_c) &\le_{(1)} P(X_{T_c} \gt 0) \le_{(1)}\\ &\le_{(1)} E(X_{T_c}) \le_{(2)}\\ &\le_{(2)} e^{-\delta T_c}X_0 \le_{(3)}\\ &\le_{(3)} e^{-\delta \left( \delta^{-1}(\ln X_0 + c)\right) } X_0 =_{(4)}\\ &=_{(4)} e^{-c} \end{align*}}[/math]

Пояснение:

  1. Аналогично утверждению(3)
  2. По утверждению(1).
  3. Подставляем [math]T_c[/math]
  4. Упрощаем.
[math]\triangleleft[/math]

Примеры использования

Теорема о дрифте достаточно естественно применяется для эволюционных алгоритмов, оперирующих одной особью. Продемонстрируем это.

Пусть в эволюционном алгоритме проcтранство поиска [math]S_n[/math], а целевая функция – [math]f: S_n \rightarrow \mathbb{N}[/math]. Пусть оптимальное значение целевой функции – [math]f_{opt}[/math] Положим, что [math]X_t = |f_{opt} - f(x_t)|[/math], где [math]x_t \in S_n[/math] – особь, полученная на шаге номер [math]t[/math]. Почти все условия теоремы о дрифте выполнены, последнее условие (оценка на [math]E(X_{i+1}|X_i)[/math])доказывается для каждой задачи отдельно.

Продемострируем использование теоремы о дрифте для оценки времени нахождения оптимального решения задачи OneMax при использовании RMHC и (1+1)-ES стратегий. Пространство поиска [math]S_n[/math] – множество битовых строк длины [math]n[/math], целевая функция [math]f(x_1, x_2, \dots , x_n) = OneMax(x_1, x_2, \dots , x_n) = x_1 + x_2, + \dots + x_n [/math]. В качестве оценки сверху на [math]X_0[/math] берем [math]n[/math].

Ниже приведены примеры оценки ожидаемого значения следующего элемента в зависимости от предыдущего ([math]E(X_{i+1}|X_i)[/math]).

Применение к Random Mutation Hill Climbing

Пусть [math]X_i = k \gt 0[/math]. С вероятностью [math](n - k)/n[/math] будет перевернут единичный бит. Полученное решение будет хуже, чем предыдущее и будет отброшено. С вероятностью [math]k/n[/math] будет перевернут нулевой бит. Это приведет к [math]X_{i + 1} = k - 1[/math]. В итоге получаем: [math]E(X_{i + 1} | X_i = k) = \frac{n - k}{n} k + \frac{k}{n} (k - 1) = (1 - \frac{1}{n})k[/math].

Получаем, что [math]\delta = \frac{1}{n}[/math], следовательно [math]E(T) \le n (\ln n + 1)[/math].

Применение к (1+1)-ES

Пусть [math]X_i = k \gt 0[/math]. Вероятность того, что в результате мутации будет переверут ровно один нулевой бит (и только он) составляет [math]k(1/n)(1 - 1/n)^{(n-1)} \ge \frac{k}{n}e^{-1}[/math]. Во всех остальных случаях [math]X_{i + 1} \le k[/math].

Итог: [math]E(X_{i + 1} | X_i = k) \le (1-\frac{k}{n}e^{-1}) k + \frac{k}{n}e^{-1} (k - 1) = (1 - \frac{1}{en})k[/math].

Получаем, что [math]\delta = \frac{1}{en}[/math], следовательно [math]E(T) \le en (\ln n + 1)[/math].

Источники

  1. He, J., Yao, X.: Drift analysis and average time complexity of evolutionary algorithms. Artificial Intelligence 127, 57–85 (2001)
  2. He, J., Yao, X.: A study of drift analysis for estimating computation time of evolutionary algorithms. Natural Computing 3, 21–35 (2004)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. Doerr, B., Johannsen, D., Winzen, C.: Drift analysis and linear functions revisited. In: Proceedings of CEC 2010. IEEE, Los Alamitos (to appear, 2010)
  9. Doerr, B., Johannsen, D., Winzen, C.: Multiplicative drift analysis. In: Proceedings of GECCO 2010. ACM, New York (to appear, 2010)
  10. 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