بهینه سازی توابع خطی با الگوریتم تکاملی (λ+1) (1+λ) - زمان های اجرا مجانبی مختلف برای موارد مختلف ☆
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|78835||2015||21 صفحه PDF||سفارش دهید||16315 کلمه|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Theoretical Computer Science, Volume 561, Part A, 4 January 2015, Pages 3–23
We analyze how the (1+λ)(1+λ) evolutionary algorithm (EA) optimizes linear pseudo-Boolean functions. We prove that it finds the optimum of any linear function within an expected number of O(1λnlogn+n) iterations. We also show that this bound is sharp for some linear functions, e.g., the binary value function. Since previous works shows an asymptotically smaller runtime for the special case of OneMax, it follows that for the (1+λ)(1+λ) EA different linear functions may have run-times of different asymptotic order. The proof of our upper bound heavily relies on a number of classic and recent drift analysis methods. In particular, we show how to analyze a process displaying different types of drifts in different phases. Our work corrects a wrongfully claimed better asymptotic runtime in an earlier work . We also use our methods to analyze the runtime of the (1+λ)(1+λ) EA on the OneMax test function and obtain a new upper bound of O(nloglogλ/logλ)O(nloglogλ/logλ) for the case that λ is larger than O(lognloglogn/logloglogn)O(lognloglogn/logloglogn); this is the cut-off point where a linear speed-up ceases to exist. While our results are mostly spurred from a theory-driven interest, they also show that choosing the right size of the offspring population can be crucial. For both the binary value and the OneMax test function we observe that once a linear speed-up ceases to exist, in fact, the speed-up from a larger λ reduces to sub-logarithmic (still at the price of a linear increase of the cost of each generation).