大家都知道植物和动物的进化
但你知道
工程师也可以利用这种自然过程
来发明东西吗?
动物和植物在艰难复杂的环境中
需要不断进化来适应
正所谓物竞天择,适者生存
图源:摄图网
长期以来,生物学家一直在研究进化是如何运作的,而数学家和计算机科学家与生物学家合作,创建了可以改进设计的计算机程序,来帮助工程师发明东西——这被称为进化优化算法,它们可以用来设计更快的飞机、更坚固的桥梁,甚至更好的游戏。
到底什么是进化?
进化是我们用来描述植物和动物在很长一段时间内如何变化的词。
比如,一个孩子会有点像他的父母。也许孩子和母亲有一样的头发颜色,和父亲一样高。这种相似性在代际之间的传递被称为遗传。
孩子和父母之间也会有细微的差异,可能是更大的鼻子或者更好的视力。这些差异被称为突变。
图源:摄图网
在自然界中,微小的突变可能意味着动植物的生与死之间的差异。例如,如果两匹斑马正在逃离一只正在寻找午餐的狮子,那么跑得最快的将是逃脱并幸存下来的那只。幸存的斑马将能够生下后代,可能会继承父母的奔跑速度。快速斑马宝宝也更有可能生存并自己生孩子,因此随着时间的推移,斑马种群将成为快速奔跑者。这个过程就是自然选择。
物种进化是为了在他们的环境中生存,这是遗传、突变和自然选择的结合。
生物以惊人的方式进化,做着不可思议的事情——从可以改变颜色以躲避捕食者的飞蛾到可以通过皮肤喝水的蜥蜴。
那么,我们能否利用这些来自大自然的想法来创造发明?
进化优化算法
关于这个问题,有几位计算机科学家提出了进化优化算法的想法。
在1950年到1960年之间,进化优化算法可用于各种事情,例如设计飞机,在视频游戏中构建关卡,甚至创作艺术。
现在,让我们想象我们正在尝试设计一座桥:
**首先,我们需要设定一个目标。例如我们希望桥梁尽可能多地承受重量。**一旦确定了目标,我们就可以比较两种桥梁设计——哪个是能承载最重的那个,哪个就更好。
**下一步是创建一些起始桥接设计。**这可以用计算机随机完成,或者我们可以花一些时间自己设计它们。通过在计算机上运行仿真,我们可以预测每个桥梁设计可以承受多少重量。利用这些信息,我们可以根据设计的质量对设计进行排序。
一旦我们知道哪些设计可以承受最大的重量,我们就可以选择他们作为“父母”——类似于自然界中的情况,还记得吗?只有最快的斑马才能生孩子。
当然,桥梁实际上不可能有“孩子”,但科学家可以编写计算机程序,能够将两种好的设计结合起来,产生一个新的“孩子”设计,共享“父母”双方的特征。
**不断使用继承和突变生成新的设计,然后对这些新设计进行仿真,确定哪些设计最好,然后重复该过程。**所有这些都是由计算机自动完成的。在很长一段时间内,可能是几周或几个月,就能找到越来越好的桥梁设计。
进化优化算法的优缺点
当我们需要设计新的东西并且不知道从哪里开始时,进化优化算法非常有用。
然而,进化优化算法存在随机性,这种随机性导致一些工程师不信任进化优化算法,随机性还意味着设计人员需要多次运行进化优化算法,以确保他们获得最佳设计。反复运行进化优化算法可能需要很长时间,甚至比经验丰富的工程师坐下来自己设计一些东西所需的时间还要长。
图源:摄图网
**在某些情况下,进化优化算法会挣扎。**例如通常要考虑的目标不止一个,添加更多目标意味着进化优化算法需要更长的时间才能找到解决方案。
进化优化算法需要花费数小时来“进化”出好的设计,而工程师只需花费几秒钟就能意识到仿真是错误的,当这种情况发生时,科学家和工程师需要修复错误。因此,虽然进化优化算法是有用的工具,但它们永远不会取代人类设计师。
参考文献:
[1]米切尔M,泰勒C. E. 1999 进化计算:概述
[2]霍恩比,格洛布斯,林登,D.罗恩,J. 2006 自动天线设计与进化算法 莱斯顿弗吉尼亚州:美国航空航天研究所
[3]J.文森莱克,S.沃尔顿,B.埃文斯,2021 这是旅程而不是目的地:构建从业者可以信任的遗传算法
[4]王帅发,郑金华,胡建杰等.自适应偏好半径划分区域的多目标进化方法 .软件学报,2017 ,28(10) :2704-2721)
[5]邱飞岳,吴裕市,邱启仓,王丽萍 .基于双极偏好占优的高维目标进化算法 .软件学报,2013 ,24(3) :476-489)
[6]巩敦卫,刘益萍,孙晓燕等 .基于目标分解的高维多目标并 行进化优化方法. 自动化学报,2015 ,41(8) :1438-1451
END
作者:不是穿9号的四分卫
青岛科技大学 机器人及智能制造技术专业研究生
审核专家:陈明威 青岛科技大学机电学院
责编:咕噜