复杂系统是如何进化出解决问题的策略的呢?昨天讲了“并行级差扫描”策略,今天讲讲“遗传算法”策略。
用大白话说,遗传算法就是:系统先随机探索,各种策略随机生成,然后打分,适应度高的高分。根据分数,选中高分的“优良”策略(其实一开始都不咋的),作为父代,繁衍下一代策略。
请注意,子代不是完全复制父代,会有稍微的随机变异。繁衍完毕后,下一代再根据适应度打分,选高分的作为新的父代,再繁衍,再稍微变异,如此循环。
这么经过N多代的自然选择,系统会进化出“智能”,甚至是人类不能理解的“智能”,比如Alphago Zero的围棋招数。
这就是“遗传算法”,你给它问题,它演化策略,从随机中寻找适应,最终进化出人类不能理解的策略。
你看,你训练机器,给它反馈,高分还是低分。比如机器人捡易拉罐,遇到易拉罐不捡是低分,捡了是高分。拐弯跑去别的没有易拉罐的方向,是低分。跑去有易拉罐的方向是高分。
只要反馈明确,它会渐渐演化出“智能”,比如放弃直接捡易拉罐,先把周围易拉罐集成一堆,这个“方法”会进化出来。因为从父代到子代,有随机的变异,只要有一次变异出这个“方法”,发现是高分,这“方法”就遗传下来了。
总结,这就是“遗传算法”,优秀的父代,变异的子代,再选取新的父代。如此循环。
遗传算法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 00 目录 遗传算法定义 生物学术语 问题导入 大体实现 具体细节 代码实现 01 什么是遗传算法? 1.1 遗传...