进化计算
编辑在计算机科学中,进化计算是一个受生物进化启发的全局优化算法系列,也是研究这些算法的人工智能和软计算的子领域。从技术上讲,它们是一系列基于群体的试错问题解决方法,具有元启发式或随机优化的特点。在进化计算中,初始的候选解决方案集被生成并反复更新。每个新的一代都是通过随机地删除不太需要的解决方案,并引入小的随机变化而产生的。在生物学术语中,一个解决方案的群体要经过自然选择(或人工选择)和变异。其结果是,群体将逐渐演化出更多的适合性,在这种情况下,就是算法所选择的适合性函数。进化计算技术可以在广泛的问题环境中产生高度优化的解决方案,使其在计算机科学中很受欢迎。存在许多变体和扩展,适合于更具体的问题系列和数据结构。进化计算有时也被用在进化生物学中,作为研究一般进化过程的共同方面的硅基实验程序。
进化计算的历史
编辑模仿进化过程来解决问题的概念起源于计算机出现之前,比如艾伦-图灵在1948年提出了一种遗传搜索的方法。图灵的B型U型机类似于原始的神经网络,神经元之间的连接是通过某种遗传算法学习的。他的P型u-machines类似于强化学习的方法,其中快乐和痛苦信号引导机器学习某些行为。然而,图灵的论文直到1968年才发表,而他在1954年去世,所以这项早期工作对后来发展的进化计算领域几乎没有影响。进化计算作为一个领域在20世纪50年代和60年xxx始认真地进行。这时有几个独立的尝试在计算中使用进化过程,这些尝试分别发展了大约15年。为了实现这一目标,在不同地方出现了三个分支:进化策略、进化编程和遗传算法。第四个分支,遗传编程,最终在20世纪90年代初出现了。这些方法在选择方法、允许的突变和遗传数据的表示方法上有所不同。到20世纪90年代,这些历史分支之间的区别已经开始模糊,1991年创造了"进化计算"一词,以表示存在于所有四个范式的领域。在这个系统中,有限状态机被用来解决一个预测问题:这些机器将被变异(增加或删除状态,或改变状态转换规则),这些变异的机器中xxx的将在未来几代中进一步进化。最终的有限状态机在需要时可用于生成预测。
进化编程方法被成功应用于预测问题、系统识别和自动控制。它最终被扩展到处理时间序列数据,并对博弈策略的演变进行建模。由于传统的梯度下降技术产生的结果可能会陷入局部最小值,Rechenberg和Schwefel提出,随机突变(应用于一些解决方案矢量的所有参数)可以用来摆脱这些最小值。子代解决方案从父代解决方案中产生,两者中更成功的被保留到未来的世代。这种技术首先被两人用来成功解决流体力学中的优化问题。最初,这种优化技术是在没有计算机的情况下进行的,而是依靠骰子来确定随机突变。以比特串表示的染色体种群通过人工选择过程进行转化,选择比特串中特定的"等位基因"位。在其他变异方法中,染色体之间的相互作用被用来模拟不同生物体之间的DNA重组。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/163683/