生物进化理论为何可以用在飞行器的优化设计中?读完就懂

生物在竞争中不断进化,又不断将其具有竞争力的基因遗传给后代,如此代代相传,基因占优的个体引导着整个种群的进化方向,在飞行器的设计中,是否也有一样的现象存在呢?读完本文,你就明白。


本文大约2650

建议阅读7 分钟

Enjoy

虽然如今人工智能大火,深度学习、强化学习、机器学习、神经网络等名词反复刷屏,但是读者朋友们,讲真,你们看到这些概念的时候,是了然于心?还是一脸懵逼?

生物进化理论为何可以用在飞行器的优化设计中?读完就懂

笔者在刚接触这些概念反正是一愣一愣的,现在不管谁说到新科技都难免扯上几句人工智能深度学习,而实际上,所谓的人工智能,在早期,业界称为计算智能,而计算智能,就包括神经网络、模糊逻辑和进化计算等,早在60年代中期就引起了众多领域的普遍关注,尤其是进化计算方法,被大量用于机器学习、神经网络训练和自动化任务的优化中。

那么到底什么是进化计算呢?

先用一句话概括“进化计算”是一类模拟生物进化过程与机制求解问题的自组织、自适应的人工智能技术。它起源于60年代J.Holland对于机器学习问题所发展的遗传算法

下文将从进化算法的生物学基础、特点以及如何应用到飞行器的优化设计中进行详细描述。

进化算法的生物学基础

生物在自然界中的生存繁衍,显示出了对自然环境的优异自适应能力,通俗的讲——对生存环境适应性好的生物个体会生存下来,并将其适应性好的基因遗传给后代;对生存环境适应性不好的生物个体就很难生存下来,即便生存下来,其适应性差的基因也会导致后代的适应性差,随着代代相传,适应性不好的个体越来越少,直至消失。

生物进化理论为何可以用在飞行器的优化设计中?读完就懂

用一句话来说就是:物竞天择,适者生存。

  1. 物竞——个体之间的竞争

生物之间的竞争主要体现在两个方面——遗传和变异。遗传大家都懂,就是交配、基因结合、产生遗传了父母基因的后代嘛;变异的情况复杂一点,在自然界中,变异往往是随机的,这和DNA的编码方式有关,也就是说,产生变异的生物个体,可能更适应环境,也可能更加不适应环境。

  1. 天择——自然环境的选择

生物通过遗传将基因传给下一代,又通过变异产生各种各样不同特征的个体,不同的个体对自然环境的适应性不一样,通常来说,父母辈基因适应性好的,后代适应性也好,或者说变异之后基因适应性好的,自然环境就会选择让这种基因的个体更好地繁衍下去;反之,父母辈基因适应性不好的,后代适应性也差,或者说变异之后基因适应性差的,因为无法适应环境,逐渐地就会被淘汰消失。

  1. 适者生存——最终生存下来的永远是能适应环境的

适者生存其实就是从生物群体的概念来说的。生物的个体经历了物竞天择之后,好基因的个体就留存下来,差基因的个体就被淘汰,长此以往,群体中好基因个体的比例越来越多,最后几乎整个群体都是好基因的,这就是适者生存。

就好比说很久很久以前,地球上还没有人类,随着生物的进化,进化成人类的个体显然对地球环境有着更好地适应性,结果就是人类越来越多,最后成了地球的统治者。

生物进化理论为何可以用在飞行器的优化设计中?读完就懂

从一个例子来感受进化算法的特点

现在请诸位读者将自身想象成上天(自然环境),天择的过程由你执行。

你家有一个池塘,池塘里生长着一群繁殖能力很强的鱼,一开始他们的尾巴各种形状都有,这个形状是由这群鱼的基因决定的,鱼的交配是随机的,比如说父母辈中有剪刀形尾巴的鱼,生出来的后代尾巴是剪刀形的概率就比较大,小概率情况下,鱼的基因还会发生突变,比如说半圆形尾巴的鱼基因突变,其基因变得类似剪刀形尾巴的鱼了,他将这一基因传给他的后代,他的后代则会变成剪刀形尾巴的鱼。

你这个塘主啊,有个癖好,就是特别喜欢观赏剪刀形尾巴的鱼,所以你希望你家鱼塘里面全是剪刀形尾巴的鱼,于是,你每隔一段时间,就会把一些鱼捞出来吃掉,这些被吃掉的鱼自然都不是剪刀形尾巴的。

随着时间的推进,那些通过基因突变变成剪刀形尾巴的鱼自然都生存了下来,他们的后代也大都是剪刀形尾巴的,即便有些突变成其他形状,也很快被你捞起来吃掉了,到最后,自然而然,池塘里剪刀形尾巴的鱼越来越多,其他形状的鱼就越来越少。

这就是一个典型的进化计算。

从这个小例子,我们应该注意到进化算法的这么几个特点——随机性、全局搜索性和稳健性。

  1. 随机性:一开始鱼尾巴形状什么都有,甚至可能开始都没有你要的剪刀形,而基因突变的存在更是保证了整个过程可能发生的情况的多样性;

  2. 全局搜索性:你会从整个鱼塘去捞鱼,专门捞出那些你不喜欢观赏的,把它们吃掉,而不是说只盯着池塘的某一个角落去捞;

  3. 稳健性:无论过程如何操作,最后的结果总会是剪刀形尾巴的鱼越来越多,所以这个过程是很稳健的。

如何应用到飞行器的设计中

了解到进化算法的特点之后,相信你们能够想象出许多遗传算法的应用场景,下文,笔者就以飞行器设计中的机翼的优化设计基于进化算法进行举例说明,具体地说明如何将进化算法应用到实际工业中。

生物进化理论为何可以用在飞行器的优化设计中?读完就懂

我们首先来搞清楚机翼优化设计的包含哪些方面、哪些步骤,笔者在此列举如下:

  1. 设计目标

一般来说,机翼的优化设计要求机翼能够产生足够大的升力,同时产生足够小的阻力,也就是升力和阻力的比值——业内称为升阻比——要足够小,这就是咱们的设计目标;

  1. 设计参数

机翼的设计参数有:机翼的翼型、翼型的分布、弦长、弦长的分布、展长、安装角分布、后掠、前掠、上反、下反;可以看到我们在进行机翼设计的时候,参数的数量是相当多的,如此多的参数让我们无法对所有可能的情况一一进行分析对比,此时,借助进化算法将是一个很好的选择;

  1. 设计约束

机翼的设计约束有很多,比如说桨叶刚度的要求限制了弦长的最小值和最大值,展长和弦长的比值——展现比一般也有约定范围,因此,约束是很多的,在进行优化设计的时候,必须借助某些方法才能将约束尽可能多地考虑进去。

搞清楚机翼的设计步骤之后,我们现在将其设计的步骤一一对应到进化算法中:

  • 设计目标--->适应函数

  • 设计参数--->生物基因

  • 设计约束--->规定生物种群的边界

由此我们可以基于进化算法设置一整套机翼优化设计的流程如下:

生物进化理论为何可以用在飞行器的优化设计中?读完就懂

  1. 创建一个机翼类型函数,其中包含一系列的机翼参数(生物基因),还包含了计算机翼升阻力的函数(适应函数);

  2. 通过随机数函数,产生一系列包含不同设计参数的机翼实例,作为初始种群,并根据约束条件,剔除种群中不满足约束的个体;

  3. 计算每个机翼的升阻比,选择升阻比最小的一系列机翼,让他们交换基因(交换参数:例如,取代表父亲的机翼的弦长分布和代表母亲的机翼的安装角分布,组成一个新的机翼,这就是他们的后代),产生后代,并根据约束条件,剔除不满足约束的后代,然后返回第3步开头,往复运算,一直到大部分机翼的升阻比都达到某一个足够大的值,而且随着代数增加,不再变大,就认为计算收敛;

  4. 选取最大升阻比对应的机翼实例,这个机翼就是我们要的结果。

到此,进化算法已经实际应用到机翼优化中了,感兴趣的读者,可以尝试将遗传算法应用到更多的方面,笔者目前也在进行遗传算法在直升机优化设计中的程序编制,等工作快结束的时候,

笔者将会开源部分代码,与读者共享,欢迎关注后续进展。


本号致力于专业概念&知识的科普。互联网没有新鲜事,但我们有专业靠谱的知识,点击关注,掌控新技术的脉搏。


分享到:


相關文章: