ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

基于仿生算法的智能系统I

2019-12-02 10:01:05  阅读:1905  来源: 互联网

标签:仿生 父代 基因 智能 算法 适应度 遗传算法


仿生算法
仿生算法是什么?
什么是仿生?
蜜蜂会造房子,人类就学习蜜蜂盖房子的方法,之后便有了航空建造工程的蜂窝结构。

仿生是模仿生物系统的功能和行为,来建造技术系统的一种科学方法。
生活仿生作品
现代的飞机(减少阻力的外部形体)、模仿蜘蛛的爬山越野汽车、雷达系统的电子娃眼、航海的声呐系统、人工肾及人工心脏等,都是仿生的结晶。
是人类模仿生物的功能与行为进而总结出来用于解决问题的方法。
通常通过模拟自然生物进化或者群体社会行为来进行随机搜索。
适用于传统算法难以解决的大规模复杂优化问题。
仿生算法举例
模仿生物进化的遗传算法
模仿蚂蚁寻路的蚁群算法
模仿神经网络系统的人工神经网络
仿生算法和一般算法的区别?
一般算法
基于经验或者已知的规则,针对特定的输入能够计算出确定的输出结果
仿生算法
模仿生物的功能与行为
通过大量演变来逼近结果,演变方法是自然法则:优胜劣汰,适者生存
仿生算法是一类模拟自然生物进化或者群体社会行为的随机搜索方法的统称
人们借用大自然界中生物的优势,制作出各种各样的科技发明,使我们的生活更加方便


基因遗传算法
基因遗传算法是什么?
该算法与大自然遗传规律是一样的吗?
应用基因遗传算法可以做哪些事?

遗传算法是一种受达尔文自然进化理论启发的搜索启发式算法。
该算法反映了自然选择的过程,其中选择最适合的个体进行繁殖下一代。

自然选择的概念:
自然选择的过程始于从群体中选择最适合的个体。
如果父母能很好的适应环境,就更容易存活并产生下一代。
他们的后代将继承父母的特征,并继续影响下一代。这个过程不断迭代,最后存活的都是最适应环境的。

搜索问题中的自然选择
自然选择的概念可以应用于搜索问题
我们考虑问题时,从一个一般的解决方案入手,不断优化成一组最好的解决方案。

基因遗传算法的组成
编码(初始化),适应度函数,选择,交叉,变异
编码->老祖先的诞生
适应度函数->物种适应环境的判断条件
选择、变异、交叉->自然选择与遗传变异
(突变与基因重组)

基因遗传算法的应用
函数优化、组合优化
优化是通过改变参数来最大化或最小化目标函数。
所有可能解(参数值)的集合构成搜索空间中,有一组点是最佳解决方案,优化的目的就是在搜索空间中找到这样一组点。

遗传算法的优缺点
优点 全局搜索性强
缺点 计算量大 具有随机性,无法确保解决方案一定最优
总结
基因遗传算法和自然界遗传法则一样 需要从一个厨师种群出发经过进化,利用适应度函数最终得到最优解。

实例3:拼图游戏
如何用遗传算法模拟扇贝的经历?
用若干个三角形拟合成一个图案

除了利用随机三角形生成图标,还可以利用遗传算法完成拼图

原理 与自然界进化一样,要设立一个淘汰机制且不断提高标准,淘汰掉不符合标准的。
总结:用三角形拟合图案是应用遗传算法的一个实例。覆盖基因,遗传,变异,选择等方面。


拼图的基因
生物基因
基因:生物遗传的基本单位
在一个生物的任何一个细胞中,都有着相同的一套染色体。染色体中决定生物各种形状的就是基因(DNA片段)
个体的遗传信息包括若干条染色体
每条染色体中有若干个基因
每个基因都编码了一个独特的性状

确定一个三角形的因素有哪些?
颜色 位置:三个顶点坐标 透明度
颜色-->三原色
位置-->三个顶点坐标(X,Y)
透明度-->(0~100%)
随机生成一系列的坐标值、颜色值,将这些值组合成一个个随机的三角形
每128个三角形形成一个初始的个体作为遗传算法的最初父代。


遗传和变异
有了父代之后,我们需要通过父代繁衍获得新的子代

遗传
复制:基因复制
交叉:基因自由组合、交叉变换
没有产生新的基因
复制
目的:保留父代的
方式:将基因原封不动的复制给子代
交叉
将来自于父母双方的基因组合在一起,得到新的子代

变异
由基因突变产生新的基因
已有的基因可能不是最优的基因

对于现有的父类,可以选择直接遗传继承,也可以选择交换某些三角形进行交叉。
将某个父类中的部分三角形进行变异
完全随机变异
或在原有基础上进行稍微改变

控制变异的概率
自然界生物变异的概率是不确定的
对于三角形可以桐微调不同变异方式的概率,来获得更好的求解效果。

总结
遗传是直接得到来自父代的性状;变异是随机改变来自父代的性状。父代通过遗传和变异来生成新的子代。


自然选择
达尔文提出的关于生物进化机理的自然选择学说。
在不断变化的生活条件下,具有有利变异的个体则逐渐被淘汰。

大自然靠什么选择优良物种?
长颈鹿 脖子长度
豹子 奔跑速度

适应度函数
脖子长度、奔跑速度都是一个参数我们可以利用适应度函数表示参数值的大小,判断个体是否应该被淘汰。

图片的适应度
要用三角形拼成图片,改如何计算适应度
图片是由一系列像素点构成的
对于每个像素点三个颜色通道分别计算当前图像A与目标图像B的差值。
将这个差值平方相加作为适应度函数,值越小适应度越高。
f=(a1-b1)²+(a2-b2)²+(a3-b3)²

判定与淘汰
有了适应度函数 我们就能够代替大自然去决定哪一代保留,哪一代被淘汰
如果子代适应度高于父代适应度,则子代取代父代,反之子代被淘汰

终止条件
当适应度函数值小于一定阈值
或则循环迭代的次数超过一定的限制
遗传算法终止,所得到的最好后代即是我们要找的最优解

总结
我们将当前图片与目标图片的差异量化为适应度函数。模拟自然选择的过程,适应度的高低来决定某一代结果的淘汰与生存。

标签:仿生,父代,基因,智能,算法,适应度,遗传算法
来源: https://www.cnblogs.com/liugangjiayou/p/11969032.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有