欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP写遗传算法

程序员文章站 2022-04-15 21:43:29
...

这篇文章主要介绍了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通道包含透明通道。

相关推荐:

PHP实现KMP算法

以上就是PHP写遗传算法 的详细内容,更多请关注其它相关文章!

相关标签: php 算法 遗传