用Python实现3种轮盘赌选择算法

轮盘赌算法简介

轮盘赌算法是一种基于概率的选择算法,常被用在演化算法的选择策略中。算法将个体(individual)的适应度值在当前群体(population)中的比例作为选择概率。例如在最大化优化问题中,适应度值越大的个体被选择的概率就越大。在最小化问题中,可以采用 maxFitfiti 1fiti 或 基于rank 的计算方法,将最小化问题转化为最大化问题。

几种不同形式的实现方法

本博客介绍了3种实现轮盘赌的方法:
1. 基本的实现方法;
2. 基于二分查找的实现方法;
3. 基于随机接受(Stochastic Acceptance)的实现方法。

参考论文及代码

论文:Lipowski, Adam, and Dorota Lipowska. “Roulette-wheel selection via stochastic acceptance.” Physica A: Statistical Mechanics and its Applications 391.6 (2012): 2193-2196.
代码:GitHub

你可能感兴趣的:(Python)