摘要
你可能听说过植物和动物的进化,但你知道这种自然过程也可以被工程师用来发明东西吗?动物和植物以惊人的方式进化来在它们的环境中生存。生物学家长期以来一直在研究进化是如何进行的。数学家和计算机科学家与生物学家一起工作,创造出可以进化设计的计算机程序,帮助工程师发明东西。这些被称为进化优化算法,它们可以用来进化更快的飞机,更坚固的桥梁,甚至更好的电子游戏。在本文中,我们将解释这些算法是如何工作的,以及它们的优缺点。
理解进化
进化我们用这个词来描述植物和动物在很长一段时间内的变化。一个物种中的大多数动物可能看起来相似,但它们都略有不同——这意味着我可以从一群狗中认出我的狗!当父母双方都有一个孩子时,这个孩子会有点像他的父母。也许孩子的发色和母亲一样,身高和父亲一样。这种相似性在两代人之间的传递被称为继承.孩子和父母之间也会有细微的差异,可能是鼻子更大或视力更好。这些差异被称为突变.
在自然界中,微小的突变可能意味着动物和植物的生与死的差异。例如,如果两头斑马正在逃离一只正在寻找午餐的狮子,跑得最快的那只会逃脱并幸存下来。幸存下来的斑马将能够生育后代,这些后代可能会继承父母的奔跑速度。跑得快的斑马宝宝也更有可能存活下来,自己生孩子,所以随着时间的推移,斑马种群将成为跑得快的人。这个过程叫做自然选择.
科学家们观察到,在很长一段时间内,物种为了在环境中生存而进化。这是遗传、突变和自然选择共同作用的结果。生物以惊人的方式进化,做出了令人难以置信的事情——从可以改变颜色以躲避捕食者的飞蛾,到可以通过皮肤喝水的蜥蜴。问题是,我们能否利用这些来自大自然的想法来创造令人惊叹的东西发明能做不可思议的事情?
进化优化算法
进化优化算法利用进化论的思想来帮助工程师发明东西。几位计算机科学家提出了进化的概念优化大约在同一时期,在1950年到1960年之间[1].进化优化算法可以用于各种各样的事情,比如设计飞机[2,在电子游戏中构建关卡[3.],甚至创作艺术[4].图1给出了如何使用进化优化算法的更多例子。为了解释进化优化算法是如何工作的,让我们想象一下我们正在设计一座桥。
我们必须做的第一件事是决定桥梁设计的好坏。为了简单起见,我们会说我们希望我们的桥能承受尽可能多的重量——这就是我们的目的或目标。一旦我们确定了一个目标,我们就可以比较两种桥的设计,并决定哪个更好——重量最大的那个。
下一步是创建一些初始桥梁设计。这可以用电脑随机完成,或者我们可以花些时间自己设计。不管怎样,我们都需要很多设计!我们称这组设计为总体。通过在计算机上进行模拟,我们可以预测每个桥梁设计能承受多少重量。使用这些信息,我们可以根据设计的好坏来排列它们(图2).
一旦我们知道种群中哪一种设计能够承受最大的重量,我们就可以选择它们成为“父母”——这与自然界中只有跑得最快的斑马才能存活下来生育孩子的情况类似。当然,桥实际上不可能有“孩子”,但科学家可以编写计算机程序,将两个好的设计结合起来,产生一个新的“孩子”设计,分享“父母”的特征。也许子桥与父桥的一个高度相同,桥腿的数量与另一个相同。然后,我们通过在新设计中随机更改某些内容来应用突变。也许我们可以多加一条腿,或者把高度增加一倍。中显示了两个父设计创建子设计的示例图3.
我们使用继承和突变不断生成新的设计,直到我们拥有一个新的设计种群。然后我们可以在这些新设计上进行模拟,决定哪些是最好的,并重复这个过程。所有这些都是由电脑自动完成的。经过很长一段时间,可能是几周或几个月,我们会发现越来越好的桥梁设计。最终,如果我们真的幸运的话,我们可能会发现一个以前没有人想到过的桥梁设计!
进化优化算法的优点和缺点是什么?
当我们需要设计一些新东西而不知道从哪里开始时,进化优化算法真的很有用。这些计算机程序非常擅长用奇怪的、有时是奇妙的设计给工程师们带来惊喜。例如,NASA使用进化优化算法为卫星设计微小的天线部件[5].进化优化算法创造了奇怪的设计,令工程师们感到惊讶。当他们测试这些进化设计时,他们发现这些设计比人类设计的天线更好。
进化优化算法以许多不同的方式使用随机性。虽然一些科学家认为这是一件好事,但许多工程师和设计师并不同意。如果你用进化优化算法做同样的事情两次,它可能会给你两个不同的答案——这意味着你永远不能确定算法给你的是最好的设计。这种随机性使得一些工程师不信任进化优化算法[6因为我们无法理解为什么算法会选择一种设计而不是另一种。你会乘坐进化优化算法设计的飞机吗?科学家们目前正试图设计一种算法来解释他们所做的决定,以帮助工程师们信任他们。随机性也意味着设计师会想要多次运行进化优化算法,以确保他们得到最好的设计。反复运行进化优化算法可能需要很长时间,甚至比有经验的工程师坐下来自己设计的时间还要长。
在某些情况下,进化优化算法会遇到困难。有时需要考虑的目标不止一个。在设计桥梁时,想象一下,如果我们也关心桥梁的长度和高度。当考虑到重量和承载能力时,我们如何决定哪座桥是最好的呢而且高度/长度吗?增加更多的目标意味着进化优化算法需要更长的时间才能找到解决方案。另一个例子是汽车设计工程师,他需要考虑汽车的外观有多好。很难让计算机预测一个设计看起来是好是坏。进化优化算法可能会设计出一辆没有人想被看到驾驶的车!对于这类事情,我们需要一个人来决定。
另一个依赖算法来做决定的问题是算法只能根据什么来做决定计算机模拟,这并不总是能把事情做好。对于一个进化优化算法来说,花几个小时来建议一个模拟认为是好的设计,而工程师只需要几秒钟就能意识到模拟是错误的,这并不罕见。当这种情况发生时,科学家和工程师需要修复模拟中的错误。所以,虽然进化优化算法是有用的工具,但它们永远不会取代人类设计师。
进化优化算法的未来
正如我们所看到的,进化优化算法采用我们在自然界中看到的过程,并用它们来解决我们自己无法解决的问题。我们现在面临的最大问题之一是气候变化以及我们通过污染对自然造成的破坏。研究新的进化优化算法和使用它们的新方法将有助于我们设计更好、更少污染的车辆和飞机。但即使我们总是需要人类来设计和使用这些算法,在某种程度上,大自然已经来拯救自己了。你认为进化优化算法还能帮助我们解决哪些问题?
自己试试吧!
如果你想尝试用进化算法设计一辆汽车,那就来玩玩我们创造的游戏吧!你可以在浏览器上下载或玩游戏,请按此链接(https://pillbuginteractive.itch.io/genetic-car-designer)来感受一下使用进化算法是什么感觉。一定要和你的朋友分享你最好的设计!
术语表
进化:↑变化:植物和动物在很长一段时间内变化的过程
继承:↑遗传:性状,如头发颜色从父母遗传给子女的过程
突变:↑基因的随机变化,可引起性状的变化。
自然选择:↑只有具有有用特征的生物才能活到生儿育女,并将这些特征遗传下去的过程。
进化优化算法:↑一种使用进化概念来优化某物的算法,通常使用计算机模拟。
优化:↑使事物达到最佳状态的过程。
牛顿:↑我们用牛顿来测量力。例如,重量是重力将物体拉向地球的力,单位为牛顿。
算法:↑解决问题必须遵循的过程或一组规则。
计算机模拟:↑预测现实生活中会发生什么的计算机程序。例如,计算机模拟被用于天气预报的预测。模拟永远不会完美,永远只是我们对可能发生的事情的最佳猜测。
利益冲突
作者声明,这项研究是在没有任何商业或财务关系的情况下进行的,这些关系可能被解释为潜在的利益冲突。
致谢
David Chena, Ben Vincenta和Kafyad Wasti作为暑期研究实习生帮助构建和起草这篇文章。BS的部分资金由斯旺西大学的EPSRC博士培训合作伙伴提供。JV由EPSRC博士培训中心资助,该中心致力于加强人类互动和与数据和智能驱动系统的合作(EP/S021892/1)。
参考文献
[1]↑米切尔,M.和泰勒,C. E. 1999。进化计算:概述。为基础。启生态。系统。30:593 - 616。
[2]↑罗曼,D. S.,埃文斯,B.,沃尔顿,S.和哈桑,O. 2016。一种基于改进布谷鸟搜索的新型气动形状优化算法。达成。数学。模型。40:4543-59。doi: 10.1016 / j.apm.2015.11.023
[3]↑沃尔顿,S. P.,拉哈特,A. A. M.和斯托沃尔德,J. 2021。使用三盲混合方法用户研究评估混合主动性程序关卡设计工具。IEEE反式。第一版。智能。人工智能比赛doi: 10.1109 / TG.2021.3086215
[4]↑den Heijer, E,和Eiben, A. E.研究无监督进化艺术的美学措施。群另一个星球。第一版.(2014) 16:52 - 68。doi: 10.1016 / j.swevo.2014.01.002
[5]↑霍恩比,G.,格洛布斯,A.,林登,D.和洛恩,J. 2006。自动天线设计与进化算法,见面积2006(弗吉尼亚州雷斯顿:美国航空航天学会)。doi: 10.2514/6.2006 -7242
[6]↑文卡莱克,J.,沃尔顿,S.和埃文斯,B. 2021。“这是旅程而不是目的地:构建从业者可以信任的遗传算法”,2021年遗传和进化计算会议伙伴(GECCO ' 21 Companion)(纽约,纽约州:ACM)。doi: 10.1145/3449726.3459483