进化算法——文化算法
现代社会涉及大量的人际交流,通信量在快速增加;社会中还涉及大量的竞争和合作。我们交流的目的有时候是为了合作,有时候则是为了竞争。我们有时候会说出真相因为希望其他人也能如实相告,但也经常为了趋利避害而撒谎。
可以在进化算法中模拟人际交流来研究交流的策略,或寻找优化问题的解。囚徒困境就是代理沟通的一个例子。
目录
文化算法中的信仰空间
文化进化规划
自适应文化模型
文化算法中的信仰空间
人际关系、沟通、合作、欺骗和多目标问题与人类文化有很多共同点。人类学会了以近似最优的方式来关联和构建社会并发展文化。我们没有意识到所有的最优特征已经固有的存在于人类文化中,却在考虑这些特征是否能成为值得做的有趣的研究课题。
文化算法(cultural algorithm,CA)将优化问题的候选解看做个体,这与其他进化算法类似。文化算法还把指导个体进化的准则看成是它们的文化。文化算法对个体与其文化的相互影响建模以得到优化算法。将文化算法中虚拟社会的文化规范称作信仰空间。
在文化算法的每一代中,个体都会重组和变异。这种重组和变异都会受到信仰空间的限制。程序员在设计时可以给信仰空间一些约束,让它支持种群中受欢迎的特征,或者回避不良的特征。
文化算法可以实施双重继承:解的特征来自父代和子代,一代的信仰空间从前一代继承而来。进化仍然是在个体层面上,但受到信仰空间的约束。
在实施文化算法时,信仰空间可以是静态的,也可以是动态的。静态的信仰空间不随时间改变,而动态的信仰空间随时间的变化而变化,文化是可以进化的。在动态信仰空间的文化算法中,不仅种群从一代到下一代,信仰空间也会,信仰空间不仅会影响种群的变化,种群反过来也会影响信仰空间的变化。采用动态信仰空间的这个想法来自对人类社会的观察。文化的进化比生物层的进化快很多。因此,我们希望具有动态信仰空间的文化算法能够比无信仰空间的进化算法更快的找到最优解。
下述算法是对文化算法的基本概述,在初始化候选解的时候同时也初始化信仰空间B。B指导进化过程。算法经由评价每一个个体的费用来推进进化过程,在那之后利用个体来修改B,修改B的选项很多。
文化进化规划
信仰空间指明性能最好的候选解在搜索空间的什么地方。接下来介绍受文化算法影响的进化规划(CAEP)。用2n个参数对信仰空间B编码,这里n为优化问题的维数。区间指明主流文化相信的好解的第k维在搜索空间中的位置。在CAEP中:
其中i∈[1,N],k∈[1,n],其中N为种群规模,n是问题的维数。~N(0,1),是变异方差。如果个体的第k维在信仰空间中,它的变异版本就是均值为的一个随机变量。如果在信仰空间之外,它的变异版本是以距更近的或为均值的随机变量。
如下图所示,在信仰空间中,它就以标准的方式变异。当在信仰空间之外,其变异版本的中心在信仰空间最近的那条边上。变异版本可以最终落在信仰空间之外,实际上,它至少有50%的机会处于之外。
现讨论在CAEP中更新信仰空间的几种方式。可以利用最好的M个个体来更新信仰空间。首先找出最好的M个个体每一维的最小值和最大值:对于k∈[1,n],
其中个体的下标从最好到最差按升序排列,所以{:j∈[1,M]}包含在种群中最好的M个个体中。我们用最小域值和最大阈值影响从一代到下一代的信仰空间:对于k∈[1,n],
参数α∈[0,1]是信仰空间的惯性,它决定信仰空间从一代到下一代的停滞情况。如果α=1,信仰空间不会改变。如果α=0,信仰空间完全由当前种群决定,不会受到前一代信仰空间的影响。
自适应文化模型
自适应文化模型(ACM),以人类社会中个体之间相互影响的方式为基础。例如:
- 个体受到在地理上或关系上与他接近的个体的影响大于距它较远的个体的影响。
- 个体受到与它相似的个体的影响大于与它不同的个体的影响。
- 个题受到成功者的影响大于非成功者的影响。
通过布置优化问题候选解的网格可以模拟ACM。把候选解看成是种群中的个体。度量两个个体的接近程度至少有几种不同的方式。首先,若两个个体被安排在同一个网格中,它们就在地理上相邻。其次,根据它们在解的特征上的相似程度,度量个体在行为上的接近程度。
无论是在地理上或是在行为上,更接近的个体之间都更有可能交换信息,因此,从行为论的角度来看,它们有可能变得更为相似。个体交换信息时,适应性更强的个体更有可能与适应性差的个体分享信息,反之则不然。
只有在地理上相邻并相似才有可能分享信息。
下面算法是对ACM的基本概述。初始化种群,并未每个候选解在网格中安排一个具体的位置。在每次迭代中,随机选择一个个体和它的一个邻居。随机的决定这两个邻居是否分享信息,如果这两个邻居很相似分享信息的概率会更大。如果决定分享信息,则随机的用适应性较强个体的一个解的特征替换适应性较差的那一个解的特征。
总是将适应性更强的个体信息传送给适应性较差的个体。设可调参数p1∈[0.5,1]等于从较好个体分享到较差个体的概率,p1被称为选择压力。总是想让p1大于等于0.5,因为从直观上来说,信息分享的方向不应该从较差到较好。
可以用下面的代码段替换上述算法信息分享的过程。
进化算法——文化算法相关推荐
- 进化算法——约束优化
每一个实际问题,如果不是显式地至少也是隐式地带有约束.约束优化问题可以写成 这个问题包含p+m个约束,其中m个不等式约束,p个等式约束.满足全部约束条件的x的集合被称为可行集.违反一个或多个约束的x的 ...
- 数据 + 进化算法 = 数据驱动的进化优化?进化算法 PK 数学优化
数据 + 进化算法 = 数据驱动的进化优化?进化算法 PK 数学优化 https://baijiahao.baidu.com/s?id=1600164518587031730&wfr=spid ...
- 2018-4-7 差分进化算法
首先差分进化算法是进化算法的一种,它包括变异,交叉,选择,边界检测. 来源: 差分进化算法_百度百科 https://baike.baidu.com/item/%E5%B7%AE%E5%88%86%E ...
- 华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020...
作者 | VincentLee 来源 | 晓飞的算法工程笔记 导读:为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索方法(conti ...
- 谷歌AutoML新进展,进化算法加持,仅用数学运算自动找出ML算法
机器之心报道 参与:魔王.杜伟.小舟 授权转载自公众号机器之心 仅使用基础数学运算就能自动搜索机器学习算法?谷歌 Quoc V. Le 等人提出了 AutoML-Zero 方法. AutoML-Zer ...
- 差分进化算法_差分进化算法
差分进化算法(Differential Evolution Algorithm,DE)是一种高效的全局优化算法.是一种模拟生物进化的随机模型,通过反复迭代,使得那些适应环境的个体被保存了下来.它的进化 ...
- 谷歌大脑AutoML最新进展:用进化算法发现神经网络架构
来源:AI中国 大脑的进化进程持续已久,从5亿年前的蠕虫大脑到现如今各种现代结构.例如,人类的大脑可以完成各种各样的活动,其中许多活动都是毫不费力的.例如,分辨一个视觉场景中是否包含动物或建筑物对我们 ...
- 学界 | 进化算法可以不再需要计算集群,开普敦大学的新方法用一块GPU也能刷新MNIST记录
来源:AI科技评论 概要:最近这项来自南非开普敦大学的研究就带来了新的发现,只用单块GPU的资源就进化出了理想的网络结构,还刷新了三项测试的结果. 作者按:进化算法和生成式对抗性网络GANs类似,提出 ...
- 利用进化算法+多进程/多线程来优化SVM中的两个参数:C和Gamma
该案例展示了如何利用进化算法+多进程/多线程来优化SVM中的两个参数:C和Gamma. 在执行本案例前,需要确保正确安装sklearn,以保证SVM部分的代码能够正常执行. 本函数需要用到一个外部数据 ...
最新文章
- 管道通信C语言,Go语言通道(chan)——goroutine之间通信的管道
- Oracle必知基础总结
- Windows 7怎么关闭自动播放功能?
- Python进阶4——元组与拆包
- DNS RR字段含义
- Google Megastore介绍
- beyond compare类似软件_你用过最好用的截图软件是哪一款
- jmeter经验---java 追加写入代码一例
- KDE——年度最佳桌面环境
- Tomcat - SSL操作大全
- storage 主机集群共享卷数据不同步_codis 高可用集群跳过nginx 代理
- 软件缺陷分析—软件测试之犯罪心理学
- contiki CC2530 CC2430例子描述
- html打印宽度怎么设置,A4纸网页打印 html网页页面的宽度设置成多少
- 【web素材】16—激发你开发灵感的十大创意网站菜单示例效果
- 数据库实验三 数据查询一
- 正态性检验ks和sw区别_t检验常见问题汇总解答,你想知道的都在这里
- python 如何提取 word 内的图片
- 微机原理 || 8253 芯片 (详细讲解 + 经典例题)
- 为什么我的域名在某些地方不能访问,解析到127.0.0.1或者0.0.0.0?