10分钟搞懂遗传算法
今天给大家说一个奇妙的算法,灵感来源于达尔文的进化论。
达尔文曾说,生物在地球上进化了这么多年,能生存下来的不是最强或最聪明的,而是最适合环境的生物。
而我们的遗传算法就是借助于生物学概念通过淘汰、变异、生存的,得出最终能符合问题的函数。
【10分钟搞懂遗传算法】我们知道DNA一段段的基因编码组成的,数学模型也是又一个个参数组成的。
我们将这些参数类比成一个个小人。
遗传算法的步骤:
初始,我们设定好人群的大小,并随机生成一大堆小人
接着,我们定义好符合我们期望的一个标准
然后,我们按这个标准,选出比较符合这个标准的一部分的小人,让他们繁殖
为了体现变异,我们会随机修改每个小人的一些身体部分。
替代比较不符合标准的那部分人。
我们一直重复步骤3、4、5直到我们这堆小人,越来越符合标准,达到我们的期望后,则停止这个过程。
一图胜万言,我们下面就看一张图。这堆随机的像素点,经过遗传算法的优胜劣汰后,能模拟出一个我们设定好的图片。
文章图片
关于我:
linxinzhe,策略工程师,在某银行从事IT策略研究和规划,领域:企业数字化、企业架构、公司金融、金融科技。文集:[linxinzhe.cn](https://linxinzhe.cn)
推荐阅读
- 【图解】9张图彻底搞懂堆排序
- Vol.3「贫穷会遗传吗(」-171003)
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- 网络|一文彻底搞懂前端监控
- 表观遗传epigenetic|表观遗传epigenetic inheritance
- 读《高手》读后感三
- 秋千秃了是遗传爸爸哈哈哈哈~
- 十分钟搞懂手机号码一键登录
- 一图搞懂扫码登录的技术原理
- Go|Go Quiz: 从Go面试题搞懂slice range遍历的坑