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