轮盘赌选择解决思路
发布时间:2011-07-03 09:18:04 文章来源:www.iduyao.cn 采编人员:星星草
轮盘赌选择
重温轮盘赌选择
(Roulette Whell Selection Revisited )
让我们从轮盘赌选择算法开始。请记住,这一个函数的功能是从群体中选择一个 基因组,选中的几率正比于基因组的适应性分数。
SGenome& CgaBob::RouletteWheelSelection()
{
double fSlice = RandFloat()*m_dTotalFitnessScore;
我们从零到整个适应分范围内随机选取了一实数fSlice 。我喜欢把此数看作整个
适应性分数饼图中的一块,如早先在图3.4中所示。 [但并不是其中一块,译注]
double cfTotal = O;
int SelectedGenome = 0;
for (int i=O; i <m_iPopSize; ++i)
{
cfTotal += m_vecGenomes[i].dFitness;
if (cfTotal > fSlice)
{
SelectedGenome = i;
break;
}
}
return m_vecGenomes[SelectedGenome];
}
大家帮助看看这段代码,我怎么看不出这种选择方法中,适应度高的被选中的机率就高呢?
这是《游戏开发中的人工智能技术》一书的一个章节,请高人指点。
原文内容:http://book.csdn.net/bookfiles/206/1002069949.shtml
------解决方案--------------------
轮盘的总面积是m_dTotalFitnessScore,每一个染色体的适应性dFitness越大,它在这个轮盘面积中的比例也越大,
fSlice = RandFloat()*m_dTotalFitnessScore;
这句表示轮盘上的指针随机转到了一个位置,指针和起点的距离是fSlice,起点是从染色体数组的第一条算起,后面的那个循环就是
要发现指针指到了哪一条染色体的范围内。
因为每一个染色体的适应性dFitness越大,它在这个轮盘面积中的比例也越大,它被选中的机会也就越大。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
现在神经网络有什么的用途
神经网络听说不少了,可是就没听说应用什么上面了.
神经网络真的有作用吗?
------解决方案----------...
-
懂得DTP和测试的人过来指点哈
我现在招聘了两家公司一个是DTP排版,一个是博彦的软件测试在武汉,我想问哈哪个公司好一点?发展空间更...
-
SOS~~关于蚁群算法解决机器人路径规划问题的参数设置
rt。急求高人解答~·
有大大知道么?
各个常量参数的设置应该是怎样的?
...
-
我能学人工智能吗?
我对人工智能有点兴趣,本来想考研的时候选人工智能的研究方向的,但是由于我本科专业是软件工程,并没有学人工智能,...
-
如何用matlab编写模糊关系中的合成运算
如题,想请教各位高手,怎么来求两个矩阵的合成运算
------解决方案--------------------
...
-
用什么方法识别是不是人?
哪位大虾能指点:
我现想识别人和桌椅等,就是我现在想做一小实验,就是当人在他前它知道是人,把其他无生命的物...
-
ANFIS
谁有ANFIS MATLAB源代码啊?不胜感激
------解决方案--------------------
直接在help文件里面anfis就可以了撒
自己看看...
-
谁了解BP神经网络啊?
谁了解BP神经网络啊?
一个朋友写了篇论文,让我帮看看,修正一下。
可是我一点也不懂。丢人啊!
------解决方案---...
-
请问各位在哪里可以下载到 Visual Lisp 编程工具
本人最近正在学习人工智能,但是一直用VC++做为练习工具,现在想用一下Lisp,请求各位...
-
求BP仿真算法
网上只有大量的BP学习算法
我已经写了一个BP学习算法程序
网络可以训练成功
但是训练好的网络如何根据输入产生输...