人工智能笔记 - 仿生算法
人工智能笔记 - 仿生算法
仿生是模仿生物系统的功能和行为,来建造技术系统的一种科学方法
仿生算法通过大量演变来逼近结果,演变方法是自然法则:优胜劣汰,适者生存
仿生算法举例
- 遗传算法 (模拟生物进化) 
- 蚁群算法 (模仿蚂蚁寻路) 
- 人工神经网络 
基因遗传算法
基因遗传算法是一种受达尔文自然进化理论启发的搜索启发式算法
该算法反应了自然选择的过程,其中选择最合适的个体进行繁殖以产生下一代的后代
组成
- 编码(初始化) 
- 适应度函数 
- 选择 
- 交叉 
- 变异 
主要流程
- 随机生成初始群体 
- 开始主循环(结束条件:迭代次数或适应度满足要求) - 执行策略,计算当前群体中所有个体的适应度 
- 从当前群体中,选择精英作为下一代的父母 
- 将选出的精英父母配对 
- 以极小概率将子代变异 
- 将子代个体添加到新群体中 
 
应用
函数优化,组合优化
优化是通过改变参数来最大化或最小化目标函数
所有可能解(参数值)的集合构成搜索空间
在这个搜索空间中,有一组点是最佳解决方案,优化的目的就是在搜索空间中找到这样的一组点
优缺点
优点:全局搜索性强,不容易停在局部最优点
缺点:
- 计算量较大 
- 具有随机性,无法确保解决方案一定最优 
拼图游戏
拼图的基因
如果把128个半透明三角形看作生物个体,样子就是由三角形决定的
每一个三角形可以看作基因,有着不同的属性
确定三角形的因素:
- 颜色 
- 位置:三顶点坐标 
- 透明度 
随机初始化128个三角形
遗传和变异
通过父代繁衍新的子代
- 遗传 
- 变异 
遗传:
- 复制:基因复制 
- 交叉:基因自由组合,交叉变换 
遗传不会产生新形状
复制
目的:保留父代自身优良的基因
方式:将基因原封不动的复制给子代
交叉
将来自父母双方的基因组合在一起,得到新的子代
变异:
由基因突变产生新的基因
三角形的变异:完全随机变异或根据原有三角形进行稍微改变
适应度函数:判断个体是否应该被淘汰
评论
        其他文章