轮盘赌算法MATLAB实现

轮盘赌(roulette)算法是一种根据概率的选择算法。

这种算法可以想象成往划分好扇区的轮盘里扔色子,事先生成一组满足均匀分布的随机数,代表n次掷色子或者n个色子一起扔,轮盘不动,色子所在区域为选择结果。

设P(i),其中i=1..n,为n个个体被选择的概率,在轮盘上表示为所占扇区的面积百分比,这里显然sum(P)=1。select用来保存n次选择的结果。

MATLAB代码:

这里我们使用了等概率的P矩阵,用来选择1,2,3,4,5五个数。运行一万次求平均大约为3.00和这组数的平均值一样。

 

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注