基于进化算法的军事应用

基于进化算法的军事应用

受自然界和生物界规律的启迪,人们根据其原理模仿设计了许多求解问题的算法,包括人工神经网络、模糊逻辑、遗传算法、DNA计算、模拟退火算法、粒子群优化算法、蚁群算法等,这些算法称为智能优化方法。智能优化方法通常包括进化算法和群体智能两大类方法。本节主要介绍进化算法的基本概念,详细介绍遗传算法,这是进化算法的基本框架。然后结合案例模拟遗传算法在海上军事的应用场景。
在开始讲解之前我们再来回顾一下之前的案例。在海上军事作战中,指挥官需要为舰队规划一条最优的作战路径,以实现对敌方舰队的伏击或规避。然而,敌方舰队的移动轨迹难以预测,加之海域环境的复杂性,使得作战路径规划成为一个严峻挑战。在进行路径规划时,我们首先需要考虑到敌方舰队的移动轨迹可能随时发生变化,这为路径规划的增加了难度。其次,海上环境多变,包括恶劣天气、海浪、暗礁等,这些都可能影响舰队的作战路径。舰队的数量和作战资源有限,需要合理规划以最大化作战效率。
那么试想一下,我们用本节的算法该如何解决这个问题呢?

进化算法概念

(1)进化算法的基本概念

进化算法是基于自然选择和自然遗传等生物进化机制的一种搜索算法。进化算法是以达尔文的进化论思想为基础,通过模拟生物进化过程与机制的求解问题的自组织、自适应的人工智能技术,是一类借鉴生物界自然选择和自然遗传机制的随机搜索算法,这些方法本质上从不同角度对达尔文的进化原理进行了不同的运用和阐述,适用于处理传统搜索方法难以解决的复杂和非线性优化问题。我们知道生物进化是通过繁殖、变异、竞争和选择实现的;而进化算法则是通过选择、重组和变异这三种操作实现优化问题的求解。
进化算法是一个“算法簇”,包括遗传算法、遗传规划、进化策略和进化规划等。尽管它有很多变化及不同的遗传基因表达方式,不同的交叉和变异算子,特殊算子的引用,以及不同的再生和选择方法,但它们产生的灵感都来自于大自然的生物进化,进化算法的基本框架是遗传算法所描述的框架。
与普通搜索算法一样,进化算法也是一种迭代算法。不同的是在最优解的搜索过程中,普通搜索算法是从某个单一的初始点开始搜索,而进化算法是从原问题的一组解出发改进到另一组较好的解,再从这组改进的解出发进一步改进。而且,进化算法不是直接对问题的具体参数进行处理,而是要求当原问题的优化模型建立后,还必须对原问题的解进行解码。

(2)进化算法的四个机制(此部分非原创写作)

进化算法一般会通过四个机制的协同作用不断迭代进化种群,逐渐逼近问题的最优解。
(1)遗传机制:基于进化的智能优化方法首先会生成一个初始种群,这个种群中的每个个体都代表问题的一个潜在解。每个个体都由一组基因(或参数)构成,这些基因决定了该个体在问题空间中的位置和特性。
(2)变异机制:在进化过程中,个体会发生变异,即其基因会以一定的概率发生变化。这种变异可以是随机的,也可以是基于某种策略的。变异机制有助于增加种群的多样性,提高算法的全局搜索能力。
(3)选择机制:在每一代进化中,算法会根据个体的适应度(即解的质量)来选择优秀的个体进行繁殖。适应度较高的个体有更大的机会被选中,而适应度较低的个体则可能被淘汰。选择机制有助于保留优秀的基因组合,提高算法的收敛速度和求解质量。
(4)交叉机制:在繁殖过程中,算法会选择两个适应度较高的个体进行交叉操作,即交换它们的一部分基因。交叉操作有助于产生新的基因组合,增加种群的多样性,提高算法的探索能力。

进化算法在智能行动中扮演着至关重要的角色。它能够应对涉及大量决策变量和复杂约束条件的优化问题,通过在大规模、高维度的解空间中搜索,为智能行动提供高效且精准的决策支持。该方法模拟自然进化过程,展现出强大的适应性,能够灵活应对环境或条件的变化,始终保持较高的求解效率和质量。

遗传算法原理介绍

遗传算法的基本概念

遗传算法是1975年由霍兰教授提出。它是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,其目的:一是抽取和解释自然系统的自适应过程;二是设计具有自然系统机制机理的人工系统。遗传算法的基本思想是借鉴生物进化的规律,通过繁殖-竞争-再繁殖-再竞争实现优胜劣汰,使得问题一步步逼近最优解。也就是仿照生物进化过程,按照“优胜劣汰”的自然选择优化的规律和方法,来解决科学研究、工程技术等领域用传统的优化方法难以解决的优化问题。下面介绍遗传算法中的相关概念:
1)基因型:在自然界中,通过基因型表征繁殖,繁殖和突变,基因型是组成染色体的一组基因的集合。在遗传算法中,每个个体都由代表基因集合的染色体构成。例如,一条染色体可以表示为二进制串,其中每个位代表一个基因,如图5.20所示。
在这里插入图片描述

图5.20 基因型
2)种群:遗传算法保持大量的个体——针对当前问题的候选解集合。由于每个个体都由染色体表示,因此这些种族的个体可以看作是染色体集合,如图5.21所示。
在这里插入图片描述

图5.21 染色体集合
3)适应度函数:在算法的每次迭代中,使用适应度函数(也称为目标函数)对个体进行评估。目标函数是用于优化的函数或试图解决的问题。适应度得分更高的个体代表了更好的解,其更有可能被选择繁殖并且其性状会在下一代中得到表现。随着遗传算法的进行,解的质量会提高,适应度会增加,一旦找到具有令人满意的适应度值的解,终止遗传算法。
4)选择:在计算出种群中每个个体的适应度后,使用选择过程来确定种群中的哪个个体将用于繁殖并产生下一代,具有较高值的个体更有可能被选中,并将其遗传物质传递给下一代。仍然有机会选择低适应度值的个体,但概率较低。这样,就不会完全摒弃其遗传物质。这其中涉及到个体适应度的计算。也就是在被选集中每一个个体都具有一个选择概率,选择概率取决于种群个体的适应度及其分布,常见的有适应度比例法、期望值法、排位法、精华保存法、轮盘赌法等。下面重点介绍轮盘赌法。
轮盘赌选择方法的基本思想是每个个体被选中的概率与其适应度函数值大小成正比。也就是说,适应度值高的个体有更大的概率被选中进入下一代种群。具体操作如下:
计算出群体中每个个体的适应度f,N为种群大小;
计算出每个个体被遗传到下一代群体的概率;
P ( x i ) = f ( x i ) C j = 1 N f ( x j ) P\left(x_i\right)=\frac{f\left(x_i\right)}{C_{j=1}^Nf\left(x_j\right)} P(xi)=Cj=1Nf(xj)f(xi)
然后,计算每个个体的累计概率;
q i = Σ j = 1 i   P ( x j ) q_i=\mathrm{\Sigma}_{j=1}^i\ P\left(x_j\right) qi=Σj=1i P(xj) (3)
01区间内产生一个均匀分布的伪随机数r;
r < q [ 1 ] r<q\left[1\right] r<q[1],则选择个体1,否则,选择个体k,使得 q [ k − 1 ] < = q [ k ] q\left[k-1\right]<=q\left[k\right] q[k1]<=q[k]成立;
重复上述步骤。
5)交叉:为了创建一对新个体,通常将从当前代中选择的双亲样本的部分染色体互换(交叉),以创建代表后代的两个新染色体。交叉有很多种方法,比如单点交叉、多点交叉、部分映射交叉、顺序交叉等。其中,单点交叉是指在个体串中随机设定一个交叉点,实行交叉时,该点前活后的两个个体的部分结构互换,并生产两个新的个体,如图5.22所示。多点交叉是指在个体编码串中随机设置多个交叉点,然后进行基因交换以产生两个新的子代个体,如图5.23所示。
在这里插入图片描述

图5.22 单点交叉

在这里插入图片描述

图5.23 多点交叉
6)突变:突变操作的目的是定期随机更新种群,将新模式引入染色体,并鼓励在解空间的未知区域中进行搜索。突变可能表现为基因的随机变化。变异是指基因0、1以一定的概率施行0变1,1变0的操作。变异有局部随机搜索功能,相对变异而言,交叉具有全局随机搜索功能。交叉和变异的操作有利于保持群体的多样性,避免在搜索初期陷入局部极值,如图5.24所示。
在这里插入图片描述

图5.24 突变
7)编码:用二进制码字符串表示所研究问题称为编码,每个字符串称为个体。相当于遗传学中的染色体,在每以遗传代次中个体的组合称为群体。常用的编码方式有二进制编码、实数编码、格雷编码等。
其中二进制编码是一种使用0和1两个数字来表示信息的编码系统。在计算机科学中,二进制编码被广泛应用于数据存储、传输和处理。二进制编码的原理是将任意的十进制数转换为二进制数。例如,将数字7转换为二进制编码,其过程为:从最右边的位开始,该位的权值为2的0次方,即为1。由于7除以2的商为3,余数为1,所以我们在最右边的位上写下数字1。接下来,将商3除以2,得到商1和余数1,将余数1写在左边的一位上。最后,商1除以2得到商0和余数1,将余数1写在最左边的一位上。因此,数字7的二进制编码为111。实数编码是指采用某一个范围内的实数来表示个体的每个基因值,决策变量的个数就是编码长度。实数编码的主要优点在于可以直接表示个体的特征,无需进行二进制转换,从而提高了遗传算法的计算效率。实数编码需要保证基因值在给定的区间范围内,如公式(4)所示。
x ( j ) = a ( j ) + y ( j ) [ b ( j ) − a ( j ) ] , j = 1 , . . . , n x\left(j\right)=a\left(j\right)+y\left(j\right)\left[b\left(j\right)-a\left(j\right)\right],j=1,...,n x(j)=a(j)+y(j)[b(j)a(j)],j=1,...,n
格雷编码是以二进制编码为基础,从二进制串 < s l − 1 , s l − 2 , . . . , s 0 > <s_{l-1},s_{l-2},...,s_0> <sl1,sl2,...,s0>对应的格雷串 < s l − 1 , s l − 2 , . . . , s 0 > <s_{l-1},s_{l-2},...,s_0> <sl1,sl2,...,s0>,则二进制编码转化为各类编码的数学变换为公式(5)。
a i = b 1 i = 1 b i − 1 ⊕ b i I > 1 a_i=b1 i=1bi-1⊕ bi I>1 ai=b1i=1bi1biI>1
(2)遗传算法的流程与案例分析
遗传算法的流程图如图5.25所示。
在这里插入图片描述

基于遗传算法的舰艇编队路径规划

在海上军事行动中,舰艇编队路径规划是一个重要的任务。编队中的舰艇需要协同行动,以完成特定的作战任务,如巡逻、护航、火力支援等。为了提高编队的作战效率和生存能力,需要为编队规划一条最优的路径,以适应敌方舰队的动态变化和复杂的海域环境。
在这里插入图片描述

基于遗传算法的舰艇编队路径规划是一种有效的解决方法。遗传算法是一种模拟自然选择和遗传学的搜索策略,通过迭代优化一组候选解来找到问题的近似最优解。在这个案例中,遗传算法被用来优化舰艇编队的作战路径,以提高编队的作战效率和生存能力。
遗传算法具有较强的全局搜索能力,稳定性、鲁棒性强的特点。但是其运动规则难以确定,控制变量多,易陷入局部最优。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值