作者yauhh (哟)
看板Programming
标题Re: 如何使用genetic algorithm
时间Fri Jan 21 14:17:00 2011
※ 引述《konayuki (粉雪)》之铭言:
: ※ [本文转录自 ask 看板 #1DE80XAa ]
: 作者: konayuki (粉雪) 看板: ask
: 标题: 如何使用genetic algorithm
: 时间: Fri Jan 21 02:34:06 2011
: 最近遇到一题
: http://ppt.cc/fiq4
: 题目要求写出个函式的图形会"大致符合"这个图
: 并建议我用genetic algorithm
: 但我没接触过演算法,完全一窍不通,不知道该怎麽做
: 请问这题应该如何做呢?
: 我应该要用什麽软体(程式)来做?
: 或者genetic algorithm有什麽教学网址嘛,感谢专业的人回答
遗传演算法大概就是交配,突变,择优的那一套.
你可以想想,按图来看,产生400-800之间的输入,先用某个预定的函数
一对一mapping到0-1.0之间的数值. 产生出来的结果应该会与要求的目标数值群
有一些差异. 用另一个算式想办法把实际产生值对预期产生值求偏差值,
这个偏差值可以当作权重.
从原本一个400-800之间的输入,用交配,突变等方式产生至少二个子代,
然後彼此比较一下,二个子代喂入系统所得的输出,偏差值是否比
原来的输入喂入系统所得的输出偏差值来得低.
如果得到偏差值较低的子代,可以选择那个子代,而把亲代丢掉.
如果产生的子代偏差值都比较不理想,可以重新做一次产生子代并测试的动作.
刚开始的函数可能是简单的一对一对应,每个对应的系数定为1.
新选出子代时,将子代与亲代的输入输出用公式算出修正量,回来调整系数.
如果偏差值计算公式与函数修正公式选得不错,折线的变化会得到效果,愈来愈接近
期望的折线.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.64.101
※ 编辑: yauhh 来自: 61.231.64.101 (01/21 14:26)