这篇文章主要介绍了PHP写遗传算法 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
本文尝试用PHP语言编写遗传算法
遗传算法的具体介绍,请自行搜索,本文也没有完全按照网络上的写法做,作者水平有限,使用的中间算法也都不怎么高明,请各位带着批评看文章。
本文采用的遗传算法步骤
- ①初始种群
- ②淘汰
- ③交叉
- ④变异
- ⑤重建种群并迭代②-④步
- ⑥画图等额外操作
第一节 故事前情与算法梗概
一、故事前情
本文引入某大神关于扇贝的故事,PHP代码大致也是这么写的。
某海滩上有一群扇贝无忧虑的生活着,上帝闲来无事派bob过来用遗传算法整这群扇贝,bob来了之后,给扇贝提了要求:
①你们只能有16个扇贝,每一代我要杀死2个,哪2个贝壳上的图案最不像谷歌浏览器图标我就杀谁;
②剩余的14个中有4个扇贝两两结合生2个孩子,再凑够16个,如此循环;
这些扇贝很是苦恼啊,可是又有什么办法呢,一些扇贝离开了,之后正好留下来16个,就是这些扇贝,创造了后来的chrome扇贝。
二、算法梗概
遗传算法模拟达尔文孟德斯鸠这类神人的遗传学规律,对种群进行筛选,繁殖,变异,如此经过多代,即可培育出那些符合规则的目标。
遗传算法的
第一步是要建立初始种群,初始种群可以是随机建立的,比如故事中最开始的16个扇贝。
第二步是建立淘汰机制,也就是筛选程序,为此我们为扇贝增加一个适应度属性,也就是扇贝背上的图案,与我们的chrome图标有多像,这里的适应度计算标准为,像素点4通道差值(绝对值)之和,4通道包含透明通道。
本文尝试用PHP语言编写遗传算法
遗传算法的具体介绍,请自行搜索,本文也没有完全按照网络上的写法做,作者水平有限,使用的中间算法也都不怎么高明,请各位带着批评看文章。
本文采用的遗传算法步骤
- ①初始种群
- ②淘汰
- ③交叉
- ④变异
- ⑤重建种群并迭代②-④步
- ⑥画图等额外操作
第一节 故事前情与算法梗概
一、故事前情
本文引入某大神关于扇贝的故事,PHP代码大致也是这么写的。
某海滩上有一群扇贝无忧虑的生活着,上帝闲来无事派bob过来用遗传算法整这群扇贝,bob来了之后,给扇贝提了要求:
①你们只能有16个扇贝,每一代我要杀死2个,哪2个贝壳上的图案最不像谷歌浏览器图标我就杀谁;
②剩余的14个中有4个扇贝两两结合生2个孩子,再凑够16个,如此循环;
这些扇贝很是苦恼啊,可是又有什么办法呢,一些扇贝离开了,之后正好留下来16个,就是这些扇贝,创造了后来的chrome扇贝。
二、算法梗概
遗传算法模拟达尔文孟德斯鸠这类神人的遗传学规律,对种群进行筛选,繁殖,变异,如此经过多代,即可培育出那些符合规则的目标。
遗传算法的
第一步是要建立初始种群,初始种群可以是随机建立的,比如故事中最开始的16个扇贝。
第二步是建立淘汰机制,也就是筛选程序,为此我们为扇贝增加一个适应度属性,也就是扇贝背上的图案,与我们的chrome图标有多像,这里的适应度计算标准为,像素点4通道差值(绝对值)之和,4通道包含透明通道。
相关推荐: