CN111413463B - 一种基于自适应神经演化算法的二维污染源定位方法 - Google Patents
一种基于自适应神经演化算法的二维污染源定位方法 Download PDFInfo
- Publication number
- CN111413463B CN111413463B CN202010216369.1A CN202010216369A CN111413463B CN 111413463 B CN111413463 B CN 111413463B CN 202010216369 A CN202010216369 A CN 202010216369A CN 111413463 B CN111413463 B CN 111413463B
- Authority
- CN
- China
- Prior art keywords
- individual
- agent
- fitness
- iteration
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N33/00—Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S15/00—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
- G01S15/02—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems using reflection of acoustic waves
- G01S15/06—Systems determining the position data of a target
- G01S15/08—Systems for measuring distance only
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S15/00—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
- G01S15/88—Sonar systems specially adapted for specific applications
- G01S15/93—Sonar systems specially adapted for specific applications for anti-collision purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Food Science & Technology (AREA)
- Medicinal Chemistry (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
Abstract
本发明提供了一种基于自适应神经演化算法的二维污染源定位方法;首先划定待测区域;然后使用自适应神经演化算法生成多个个体控制智能体在待检测区域中运动,计算各个个体的适应度函数,得出此次迭代中最优的个体;重复执行多次,得出完整迭代实验中最优的个体,该个体即为最优神经网络;最后利用最优神经网络控制合适的智能体在实际环境中运动,智能体就可以避开障碍物并准确定位污染源。本发明的有益效果是:本发明所提出的技术方案让智能体自动学习,使其朝着污染浓度更高的地方移动并避障;同时本发明还以剩余能量比例作为评价指标,使得智能体在运动的过程中使用较少的能量就能定位到污染源,能有效减少成本、提高定位精度以及减少能耗。
Description
技术领域
本发明涉及污染源定位领域,尤其涉及一种基于自适应神经演化算法的二维污染源定位方法。
背景技术
快速准确的污染源定位对改善环境和减少健康危害具有非常重要的意义。传统的污染源定位算法大致分为两类:一是粗略定位方法,如质心定位算法、等高线定位算法、贝叶斯定位算法等。这类方法算法无需构建扩散模型,但定位精度不高;另一类是基于扩散模型的反演算法,如极大似然估计定位算法、最小二乘法定位算法、最小无偏估计定位算法等。这类方法需要污染源扩散的先验知识。
近年来,越来越多的科研人员利用搭载传感器的智能体进行污染源定位。基于浓度梯度的定位算法,以正六边形定位方法为依据,以浓度梯度为判断条件,实现污染源的定位,但是智能体会在污染带来回穿梭,搜索路程可能远大于其他方法。基于粒子群算法的定位方法,通过粒子群算法控制多个智能体快速定位污染源,提高了定位效率,但容易陷入局部最优解。一种基于路径规划和浓度梯度的定位方法,在考虑到避障问题的同时,实现了污染源定位,但是这种方法需要将环境栅格化,由此产生的误差会影响定位结果。
此外,大多数方法都没有考虑到检测误差、障碍物、能量消耗等因素,无法满足复杂环境的应用需求。
发明内容
为了解决上述问题,解决检测误差、障碍物、能量消耗等因素带来的影响,本发明提供了一种基于自适应神经演化算法的二维污染源定位方法,主要包括以下步骤:
S101:划定待测区域,并在所述待检测区域内投入污染物;
S102:使用自适应神经演化算法生成多个个体,各个个体分别控制智能体在待检测区域中运动寻找污染源,并计算各个个体的适应度函数,得出一次迭代中最优的个体;其中,所有个体控制的智能体均停止运动后为一次迭代;
S103:判断迭代次数是否达到H次?若是,得出完整迭代实验中最优的个体,该个体即为最优神经网络;并到步骤S104;否则,返回步骤S102,进行下一次迭代;其中,H为预设的迭代次数;
S104:利用所述的最优神经网络控制智能体在实际有污染环境中运动,对所述的实际有污染环境中的污染源进行定位。
进一步地,步骤S101中,划定待测区域,并在所述待检测区域内投入污染物;具体包括:
S201:选定一个待检测区域m×n;其中,m和n分别为待检测区域的长和宽,且均为预设值;
S202:在初始时刻,向所述的待检测区域中的(x,y)位置投入污染物,则 (x,y)为污染源所在位置;污染物的扩散模型如公式(1)所示:
上式中,Ci,j为所述待检测区域中任意位置(xi,yj)污染物的浓度设定值;di,j为从待检测区域的任意位置(xi,yj)到污染源位置的欧氏距离,即:
R为待检测区域的坐标原点(0,0)到污染源位置的欧氏距离,即:
noise为待检测区域的浓度误差,范围为(-ρ,ρ),呈随机分布,其中ρ为预设值。
进一步地,步骤S102~S103,具体包括:
S301:为智能体设定4个传感器,包括:3个超声波传感器和1个浓度传感器;
超声波传感器的标志位为sk,标志位集合为S={s1,s2,s3};标志位sk取值为:
上式中,l为预先设定的距离阈值,且l>0;d为超声波传感器探测的距离;
浓度传感器的标志位为P,取值为:
上式中,△c为浓度传感器探测到的当前时刻的浓度c1与前一时刻的浓度c0的差值,设置△c的初始值为0,即:
S302:在自适应神经演化算法初始化时,同时产生一个包含n个“个体”的初始种群,每个个体对应一个不同权重和结构的神经网络模型;
S303:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;
将各个个体控制的智能体的标志位S和P组成对应个体的神经网络输入集合I,神经网络对应输出结果控制智能体调整方向和速度;所述输出结果包括:“前进”、“后退”、“左转”或者“右转”;
定义所有个体控制智能体从开始运动到停止运动为一次迭代实验;其中,智能体在运动过程中,根据所述的4个传感器采集的数据不断进行判断,当发生以下三种情况时,智能体停止运动:
a)智能体定位到污染源;
b)智能体与障碍物发生碰撞;
c)智能体的能量用尽;
S304:在一次迭代实验结束时,计算每个个体的适应度,将适应度最大的个体作为此次迭代实验的适应度最好的个体winner;
S305:将各个个体的适应度传递给对应的自适应神经演化算法,用于调整算法的变异概率和对应的神经网络模型的权重,生成下一代个体,并用于下一次迭代;
S306:判断迭代次数是否大于或者等于H;若是,则到步骤S307;否则,返回步骤S303,以进行下一次迭代实验;
S307:得到适应度最好的个体集合Winner={winner1,winner2,…,winnerH};其中,winnerj为第j次迭代实验的适应度最好的个体;
将所述的适应度最好的个体集合Winner中适应度最大的个体称为best,该个体即为最优神经网络;利用该最优神经网络控制智能体在待检测区域中运动,智能体就可以避开障碍物并准确定位污染源。
进一步地,步骤S302中,在进行迭代实验之前,预先选取一个较大的数N,将区间[1,N+1)分为k个间隔为m的区间,如[1,m+1),[m+1,2m+1),…,[N-m+1, N+1);分别在k个区间中随机选取1个整数,并将选取的k个整数{n1,n2,…,nk-1,nk} 分别作为初始种群数,进行一次迭代实验,且这k次迭代实验的结果相互独立;比较k次迭代实验获取的适应度{F1,F2,…,Fk-1,Fk},将最大的适应度作为最好的适应度Fbest。选取最好的适应度Fbest对应的初始种群数nbest作为完整迭代实验的初始种群数ninitial,并将ninitial作为步骤S302中个体的初始种群数n.
进一步地,步骤S303,具体包括:
S401:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;
S402:将每个未停止运动的个体控制的智能体采集的污染物浓度 {c1,c2,…,cninitial}分别与预设的污染物浓度阈值σ进行比较,以判断各个未停止运动的个体控制的智能体所在位置是否为污染源;若是,则到步骤S404;否则,到步骤S403;针对某个未停止运动的个体z,具体为:
若|cz–σ|<τ,则认为个体z控制的智能体所在位置即为污染源,此时个体z 控制的智能体停止运动,并到步骤S404;其中,cz为第z个未停止运动的个体控制的智能体采集的污染物浓度;z=1,2,…,ninitial;ninitial为当前未停止运动的智能体的总个数;其中,τ为预设的浓度差阈值;
S403:将每个未停止运动的个体控制的智能体的超声波传感器标志位集合S 和浓度传感器标志位P组成其对应神经网络的输入集合I={P,S},各神经网络均对应输出命令结果;各个未停止运动的个体控制的智能体根据对应神经网络输出的命令结果调整运动的角度和速度;在运动过程中,若智能体与障碍物发生碰撞或者能量用尽,则该智能体停止运动;其中,所述命令结果为“00”、“01”、“10”或者“11”,“00”表示后退,“01”表示左转,“10”表示右转,“11”表示前进;
S404:判断是否所有个体控制的智能体都停止了运动;若是,结束此次迭代实验;否则,返回步骤S402。
进一步地,步骤S403中,设定每个个体控制的智能体的运动周期为T=1,每个运动周期消耗的能量为Estep=2×10-4,初始能量Efull=1;设定当前时刻t0智能体运动速度为v0,运动角度为θ0,智能体的剩余能量为E0,所在位置为(x0,y0),该位置检测的污染物浓度为c0;
相应地,下一时刻t1智能体的速度为v1,运动角度为θ1,剩余能量为E1,新的位置为(x1,y1),检测的污染物浓度为c1;其中,智能体运动过程中的最大速度设定为vmax=1,任意两个相邻时刻的角度变化值为Δθ,其最大值表示为Δθmax=π/2;在t1时刻,智能体按θ1方向从(x0,y0)运动到(x1,y1);θ1、v1、E1、 (x1,y1)的计算公式如下:
v=e-c×vmax (7)
上式中,v1为下一时刻t1智能体的的速度,根据v=e-c×vmax计算得到。
进一步地,步骤S304中,个体i的适应度的计算方法,具体为:当智能体在个体i控制下停止运动时,记录个体i控制的智能体最终位置的污染物浓度ci和个体i控制的智能体的剩余能量Ei,其中,i=1,2,…,n;
在一次迭代结束后,得到此次迭代中污染物浓度集合C={c1,c2,…,cn}和剩余能量集合E={E1,E2,…,En};利用适应度函数对每个个体进行一次评估,并将其分为不同物种;其中,适应度函数为:
上式中,F是经过变换后的适应度函数;f是原本的适应度函数,若目标函数是求最小值,则f直接取目标函数;若目标函数是求最大值,则需要将目标函数先转化为求最小值,再赋值给f;α是一个随迭代次数增加而逐渐增加的正数;h 是当前迭代次数;β是一个根据最大迭代次数计算所得的常数;favg是当前物种的平均适应度;ε是一个预设的很小的正数,目的是防止favg为0时,算式分母为0;H是预设的迭代次数;w是设定的权值,且0≤w≤1。
进一步地,步骤S305中,某个个体的变异概率调整如下:
上式中,Fmax为该个体所在物种的最大适应度,Favg为该个体所在物种的平均适应度,F为个体的适应度,pm1和pm2是常数,且0<pm1<pm2<1。
进一步地,步骤S305中,某个神经网络的权重调整如下:
上式中,oa是节点a的输出;ob是节点b的输出;η是学习率;X是oa和ob的相关比值;Y是oa所占比值;Z是ob所占比值;wa,b是调整前的权值;wa,b’是调整后的权值;△wa,b是权值的变化值。
本发明提供的技术方案带来的有益效果是:本发明所提出的技术方案让智能体自动学习,使其朝着污染浓度更高的地方移动并避障;同时本发明还以剩余能量比例作为评价指标,使得智能体在运动的过程中使用较少的能量就能定位到污染源,能有效减少成本、提高定位精度以及减少能耗。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例中一种基于自适应神经演化算法的二维污染源定位方法的流程图;
图2是本发明实施例中智能体与障碍物碰撞示意图;
图3是本发明实施例中一种基于自适应神经演化算法的二维污染源定位方法的详细实施流程图;
图4-12是本发明实施例中多种待测环境示意图;
图13是本发明实施例中智能体传感器分布图;
图14-22是本发明实施例中迭代运行20次后多种待测环境对应的winner结果示意图;图14-22分别对应图4-12。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本发明的实施例提供了一种基于自适应神经演化算法的二维污染源定位方法;
请参考图1,图1是本发明实施例中一种基于自适应神经演化算法的二维污染源定位方法的流程图,具体包括如下步骤:
S101:划定待测区域,并在所述待检测区域内投入污染物;
S102:使用自适应神经演化算法生成多个个体,各个个体分别控制智能体在待检测区域中运动寻找污染源,并计算各个个体的适应度函数,得出一次迭代中最优的个体;其中,所有个体控制的智能体均停止运动后为一次迭代;
S103:判断迭代次数是否达到H次?若是,得出完整迭代实验中最优的个体,该个体即为最优神经网络;并到步骤S104;否则,返回步骤S102,进行下一次迭代;其中,H为预设的迭代次数,在本发明实施例中H取值为20;
S104:利用所述的最优神经网络控制合适的智能体在实际有污染环境中运动,对所述的实际有污染环境中的污染源进行定位。
步骤S101中,划定待测区域,并在所述待检测区域内投入污染物;具体包括:
S201:选定一个待检测区域m×n;其中,m和n分别为待检测区域的长和宽,且均为预设值;
S202:在初始时刻,向所述的待检测区域中的(x,y)位置投入污染物,则 (x,y)为污染源所在位置;污染物的扩散模型如公式(1)所示:
上式中,Ci,j为所述待检测区域中任意位置(xi,yj)污染物的浓度设定值;di,j为从待检测区域的任意位置(xi,yj)到污染源位置的欧氏距离,即:
R为待检测区域的坐标原点(0,0)到污染源位置的欧氏距离,即:
noise为待检测区域的浓度误差,范围为(-ρ,ρ),呈随机分布,其中ρ为预设值。
步骤S102~S103,具体包括:
S301:为智能体设定4个传感器,包括:3个超声波传感器和1个浓度传感器;
超声波传感器的标志位为sk,标志位集合为S={s1,s2,s3};标志位sk取值为:
上式中,l为预先设定的距离阈值,且l>0;d为超声波传感器探测的距离;
浓度传感器的标志位为P,取值为:
上式中,△c为浓度传感器探测到的当前时刻的浓度c1与前一时刻的浓度c0的差值,设置△c的初始值为0,即:
S302:在自适应神经演化算法初始化时,同时产生一个包含n个“个体”的初始种群,每个个体对应一个不同权重和结构的神经网络模型;
S303:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;
将各个个体控制的智能体的标志位S和P组成对应个体的神经网络输入集合I,神经网络对应输出结果控制智能体调整方向和速度;所述输出结果包括:“前进”、“后退”、“左转”或者“右转”;
定义所有个体控制智能体从开始运动到停止运动为一次迭代实验;其中,智能体在运动过程中,根据所述的4个传感器采集的数据不断进行判断,当发生以下三种情况时,智能体停止运动:
a)智能体定位到污染源;
b)智能体与障碍物发生碰撞;
c)智能体的能量用尽;
S304:在一次迭代实验结束时,计算每个个体的适应度,将适应度最大的个体作为此次迭代实验的适应度最好的个体winner;
S305:将各个个体的适应度传递给对应的自适应神经演化算法,用于调整算法的变异概率和对应的神经网络模型的权重,生成下一代个体,并用于下一次迭代;
S306:判断迭代次数是否大于或者等于H;若是,则到步骤S307;否则,返回步骤S303,以进行下一次迭代实验;
S307:得到适应度最好的个体集合Winner={winner1,winner2,…,winnerH};其中,winnerj为第j次迭代实验的适应度最好的个体;
将所述的适应度最好的个体集合Winner中适应度最大的个体称为best,该个体即为最优神经网络;利用该最优神经网络控制智能体在待检测区域中运动,智能体就可以避开障碍物并准确定位污染源。
步骤S302中,在进行迭代实验之前,预先选取一个较大的数N,将区间[1, N+1)分为k个间隔为m的区间,如[1,m+1),[m+1,2m+1),…,[N-m+1,N+1);分别在k个区间中随机选取1个整数,并将选取的k个整数{n1,n2,…,nk-1,nk}分别作为初始种群数,进行一次迭代实验,且这k次迭代实验的结果相互独立;比较 k次迭代实验获取的适应度{F1,F2,…,Fk-1,Fk},将最大的适应度作为最好的适应度Fbest。选取最好的适应度Fbest对应的初始种群数nbest作为完整迭代实验的初始种群数ninitial,并将ninitial作为步骤S302中个体的初始种群数n;在本发明实施例中N的取值为250或者200。
步骤S303,具体包括:
S401:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;
S402:将每个未停止运动的个体控制的智能体采集的污染物浓度 {c1,c2,…,cninitial}分别与预设的污染物浓度阈值σ进行比较,以判断各个未停止运动的个体控制的智能体所在位置是否为污染源;若是,则到步骤S404;否则,到步骤S403;针对某个未停止运动的个体z,具体为:
若|cz–σ|<τ,则认为个体z控制的智能体所在位置即为污染源,此时个体z 控制的智能体停止运动,并到步骤S404;其中,cz为第z个未停止运动的个体控制的智能体采集的污染物浓度;z=1,2,…,ninitial;ninitial为当前未停止运动的智能体的总个数;其中,τ为预设的浓度差阈值;
S403:将每个未停止运动的个体控制的智能体的超声波传感器标志位集合S 和浓度传感器标志位C组成其对应神经网络的输入集合I={P,S},各神经网络均对应输出命令结果;各个未停止运动的个体控制的智能体根据对应神经网络输出的命令结果调整运动的角度和速度;在运动过程中,若智能体与障碍物发生碰撞或者能量用尽,则该智能体停止运动;其中,所述命令结果为“00”、“01”、“10”或者“11”,“00”表示后退,“01”表示左转,“10”表示右转,“11”表示前进;
S404:判断是否所有个体控制的智能体都停止了运动;若是,结束此次迭代实验;否则,返回步骤S402。
步骤S403中,设定每个个体控制的智能体的运动周期为T=1,每个运动周期消耗的能量为Estep=2×10-4,初始能量Efull=1;设定当前时刻t0智能体运动速度为v0,运动角度为θ0,智能体的剩余能量为E0,所在位置为(x0,y0),该位置检测的污染物浓度为c0;
相应地,下一时刻t1智能体的速度为v1,运动角度为θ1,剩余能量为E1,新的位置为(x1,y1),检测的污染物浓度为c1;其中,智能体运动过程中的最大速度设定为vmax=1,任意两个相邻时刻的角度变化值为Δθ,其最大值表示为Δθmax=π/2;在t1时刻,智能体按θ1方向从(x0,y0)运动到(x1,y1);θ1、v1、E1、 (x1,y1)的计算公式如下:
v=e-c×vmax (7)
上式中,v1为下一时刻t1智能体的的速度,根据v=e-c×vmax计算得到。
步骤S304中,个体i的适应度的计算方法,具体为:当智能体在个体i控制下停止运动时,记录个体i控制的智能体最终位置的污染物浓度ci和个体i控制的智能体的剩余能量Ei,其中,i=1,2,…,n;
在一次迭代结束后,得到此次迭代中污染物浓度集合C={c1,c2,…,cn}和剩余能量集合E={E1,E2,…,En};利用适应度函数对每个个体进行一次评估,并将其分为不同物种;其中,适应度函数为:
上式中,F是经过变换后的适应度函数;f是原本的适应度函数,若目标函数(利用智能算法求解相关问题时,可以将这个问题转换成求解一个函数的最值,这个函数即为目标函数)是求最小值,则f直接取目标函数;若目标函数是求最大值,则需要将目标函数先转化为求最小值,再赋值给f;α是一个随迭代次数增加而逐渐增加的正数;h是当前迭代次数;β是一个根据最大迭代次数计算所得的常数;favg是当前物种的平均适应度;ε是一个预设的很小的正数,目的是防止favg为0时,算式分母为0;H是预设的迭代次数;w是设定的权值,且0≤w≤1。
智能体与障碍物是否发生碰撞的判断条件为:以智能体的质心到智能体的边缘的最远距离的为半径的圆形范围内是否与障碍物相交;若是,则碰撞了,否则,没有;这个需要根据具体的智能体形状进行具体设,不易进行公式展开描述,画图进行说明,如图2所示,图2中矩形框为智能体,虚线为智能体的质心到智能体边缘的最远距离,虚线圆为根据最远距离画的圆形范围,黑色矩形为障碍物,有图可知虚线圆与障碍物相交,所以判断智能体与障碍物发生碰撞。
步骤S305中,某个个体的变异概率调整如下:
上式中,Fmax为该个体所在物种的最大适应度,Favg为该个体所在物种的平均适应度,F为个体的适应度,pm1和pm2是常数,且0<pm1<pm2<1。
步骤S305中,某个神经网络的权重调整如下:
上式中,oa是节点a的输出;ob是节点b的输出;η是学习率;X是oa和ob的相关比值;Y是oa所占比值;Z是ob所占比值;wa,b是调整前的权值;wa,b’是调整后的权值;△wa,b是权值的变化值。
请参阅图3,图3是本发明实施例中一种基于自适应神经演化算法的二维污染源定位方法的详细实施流程图;在本发明实施例中,根据图3所示流程对本发明所提出的技术方案进行进一步说明,具体包括如下步骤:
步骤1:选定污染区域,在本实施例中,将环境设置在960×508的区域;
步骤2:在初始时刻,向待检测的(816,432)位置投入污染物,如图4-12 (图4-12中的黑色线条为障碍物),在任意位置(xi,yj)污染物的浓度设定值为:
其中,di,j为从待检测区域的任意位置到污染源位置的欧氏距离,即:
R为待检测区域的坐标原点(0,0)到污染源位置的欧氏距离,即:
预设值ρ=10-4,则noise为待检测区域的浓度误差范围为(-10-4,10-4),呈随机分布。
步骤3:为智能体设定4个传感器,分别为3个超声波传感器和1个浓度传感器,如图13。
超声波传感器的标志位为sk,标志位集合为S={s1,s2,s3}。标志位sk取值为:
其中,d为超声波传感器探测的距离;
浓度传感器的标志位为P,取值为:
其中,△c为浓度传感器探测到的当前时刻的浓度c1与前一时刻的浓度c0的差值,设置△c的初始值为0,即:
步骤4:设定智能体的起点位置为(60,60),初始种群数n=250,区间数量k=5,最大迭代次数H=20,正数ε=0.01,权值w=0.7,pm1=0.5,pm2=0.8,学习率η=0.01, oa和ob的相关比值X=1,oa所占比值Y=1,ob所占比值Z=1,使用自适应神经演化算法生成神经网络。
步骤5:设定污染物浓度阈值σ=1和浓度差阈值τ=0.0013,将所有个体控制智能体采集的污染物浓度{c1,c2,…,cninitial}分别与阈值σ进行比较;若|ci-σ|<τ,则认为智能体所在位置即为污染源,此时个体i控制的智能体会停止运动;否则,执行步骤6;其中,ci是个体i控制的智能体采集的污染物浓度,i=1,2,…,ninitial。
步骤6:将智能体的超声波传感器标志位集合S和浓度传感器标志位C组成其神经网络的输入集合I={P,S},神经网络对应输出四种命令,“00”表示后退,“01”表示左转,“10”表示右转,“11”表示前进;智能体根据命令,调整自己的角度和速度;若智能体发生碰撞或者能量用尽,则该智能体停止运动,否则,继续执行步骤5的阈值判断(不再重新设定阈值,停止运动的智能体不再判断,只判断未停止的智能体)和步骤6;
步骤7:当所有个体控制的智能体停止运行后,根据适应度函数,得出此次迭代的胜者winner,结束此次迭代。将所有个体的适应度传递给自适应神经演化算法,用于调整算法的变异概率和神经网络的权重,生成下一代个体,并用于算法的下一次迭代。
步骤8:执行完整的迭代实验后,得到适应度最好的个体集合Winner= {winner1,winner2,…,winner20},适应度最大的个体称为best,该个体即为最优神经网络。利用最优神经网络控制合适的智能体在实际环境中运动,智能体就可以避开障碍物并准确定位污染源。
本示例中,将自适应神经演化算法应用于未知环境的污染源定位,为了验证本发明的有效性,对多个不同的环境进行了试验。并根据不同的环境和最终的胜者winner,绘制了不同的轨迹图,具体请参考图12-20;图14总运行了1485个时间步,剩余能量比70.30%;图15总运行了1946个时间步,剩余能量比61.08%;
图16总运行了1645个时间步,剩余能量比67.10%;图17总运行了1931个时间步,剩余能量比61.38%;图18总运行了1699个时间步,剩余能量比66.02%;
图19总运行了1737个时间步,剩余能量比65.26%;图20总运行了2130个时间步,剩余能量比57.40%;图21总运行了1780个时间步,剩余能量比64.40%;
图22总运行了2075个时间步,剩余能量比58.50%;图中的颜色越深表示污染物浓度越大,黑色矩形为待测区域中的障碍物。
另外,“智能体”是人工智能领域里的一个专业词汇,可以理解为“任何能通过传感器感知环境和通过执行器作用于环境的实体”,例如像人类智能体:眼睛、耳朵和其他感觉器官是传感器;手,腿和其他身体部分是执行器。智能体可根据具体污染环境的要求进行自由选择,例如:水面可以使用小船,空中可以选择无人机,地面上可以选择小车等。
本发明的有益效果是:本发明所提出的技术方案让智能体自动学习,使其朝着污染浓度更高的地方移动并避障;同时本发明还以剩余能量比例作为评价指标,使得智能体在运动的过程中使用较少的能量就能定位到污染源,能有效减少成本、提高定位精度以及减少能耗。
上面结合附图对本发明的示例进行了描述,但是本发明并不将优先于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以做出很多形式,例如智能体的种类可以根据监测环境的污染类型进行选择,不局限于小船、小车或者无人机,这些均属于本发明的保护之内。
Claims (5)
1.一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:包括以下步骤:
S101:划定待检测区域,并在所述待检测区域内投入污染物;
S102:使用自适应神经演化算法生成多个个体,各个个体分别控制智能体在待检测区域中运动寻找污染源,并计算各个个体的适应度函数,得出一次迭代中最优的个体;其中,所有个体控制的智能体均停止运动后为一次迭代;
S103:判断迭代次数是否达到H次?若是,得出完整迭代实验中最优的个体,该个体即为最优神经网络;并到步骤S104;否则,返回步骤S102,进行下一次迭代;其中,H为预设的迭代次数;
S104:利用所述的最优神经网络控制智能体在实际有污染环境中运动,对所述的实际有污染环境中的污染源进行定位;
步骤S102~S103,具体包括:
S301:为智能体设定4个传感器,包括:3个超声波传感器和1个浓度传感器;
超声波传感器的标志位为sk,标志位集合为S={s1,s2,s3};标志位sk取值为:
上式中,l为预先设定的距离阈值,且l>0;d为超声波传感器探测的距离;
浓度传感器的标志位为P,取值为:
上式中,△c为浓度传感器探测到的当前时刻的浓度c1与前一时刻的浓度c0的差值,设置△c的初始值为0,即:
S302:在自适应神经演化算法初始化时,同时产生一个包含n个“个体”的初始种群,每个个体对应一个不同权重和结构的神经网络模型;
步骤S302中,在进行迭代实验之前,预先选取一个较大的数N,将区间[1,N+1)分为k个间隔为m的区间,如[1,m+1),[m+1,2m+1),…,[N-m+1,N+1);分别在k个区间中随机选取1个整数,并将选取的k个整数{n1,n2,…,nk-1,nk}分别作为初始种群数,进行一次迭代实验,且这k次迭代实验的结果相互独立;比较k次迭代实验获取的适应度{F1,F2,…,Fk-1,Fk},将最大的适应度作为最好的适应度Fbest;选取最好的适应度Fbest对应的初始种群数nbest作为完整迭代实验的初始种群数ninitial,并将ninitial作为步骤S302中个体的初始种群数n;
S303:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;
将各个个体控制的智能体的标志位S和P组成对应个体的神经网络输入集合I,神经网络对应输出结果控制智能体调整方向和速度;所述输出结果包括:“前进”、“后退”、“左转”或者“右转”;
定义所有个体控制智能体从开始运动到停止运动为一次迭代实验;其中,智能体在运动过程中,根据所述的4个传感器采集的数据不断进行判断,当发生以下三种情况时,智能体停止运动:
a)智能体定位到污染源;
b)智能体与障碍物发生碰撞;
c)智能体的能量用尽;
S304:在一次迭代实验结束时,计算每个个体的适应度,将适应度最大的个体作为此次迭代实验的适应度最好的个体winner;
步骤S304中,个体i的适应度的计算方法,具体为:当智能体在个体i控制下停止运动时,记录个体i控制的智能体最终位置的污染物浓度ci和个体i控制的智能体的剩余能量Ei,其中,i=1,2,…,n;
在一次迭代结束后,得到此次迭代中污染物浓度集合C={c1,c2,…,cn}和剩余能量集合E={E1,E2,…,En};利用适应度函数对每个个体进行一次评估,并将其分为不同物种;其中,适应度函数为:
上式中,F是经过变换后的适应度函数;f是原本的适应度函数,若目标函数是求最小值,则f直接取目标函数;若目标函数是求最大值,则需要将目标函数先转化为求最小值,再赋值给f;α是一个随迭代次数增加而逐渐增加的正数;h是当前迭代次数;β是一个根据最大迭代次数计算所得的常数;favg是当前物种的平均适应度;ε是一个预设的很小的正数,目的是防止favg为0时,算式分母为0;H是预设的迭代次数;w是设定的权值,且0≤w≤1;S305:将各个个体的适应度传递给对应的自适应神经演化算法,用于调整算法的变异概率和对应的神经网络模型的权重,生成下一代个体,并用于下一次迭代;
步骤S305中,某个个体的变异概率调整如下:
上式中,Fmax为该个体所在物种的最大适应度,Favg为该个体所在物种的平均适应度,F为个体的适应度,pm1和pm2是预设的常数,且0<pm1<pm2<1;
步骤S305中,某个神经网络的权重调整如下:
上式中,oa是节点a的输出;ob是节点b的输出;η是学习率;X是oa和ob的相关比值;Y是oa所占比值;Z是ob所占比值;wa,b是调整前的权值;wa,b’是调整后的权值;△wa,b是权值的变化值;
S306:判断迭代次数是否大于或者等于H;若是,则到步骤S307;否则,返回步骤S303,以进行下一次迭代实验;
S307:得到适应度最好的个体集合Winner={winner1,winner2,…,winnerj,…,winnerH};其中,winnerj为第j次迭代实验的适应度最好的个体;
将所述的适应度最好的个体集合Winner中适应度最大的个体称为best,该个体即为最优神经网络;利用该最优神经网络控制智能体在待检测区域中运动,智能体就可以避开障碍物并准确定位污染源。
2.如权利要求1所述的一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:步骤S101中,划定待检测区域,并在所述待检测区域内投入污染物;具体包括:
S201:选定一个待检测区域m×n;其中,m和n分别为待检测区域的长和宽,且均为预设值;
S202:在初始时刻,向所述的待检测区域中的(x,y)位置投入污染物,则(x,y)为污染源所在位置;污染物的扩散模型如公式(7)所示:
上式中,Ci,j为所述待检测区域中任意位置(xi,yj)污染物的浓度设定值;di,j为从待检测区域的任意位置(xi,yj)到污染源位置的欧氏距离,即:
R为待检测区域的坐标原点(0,0)到污染源位置的欧氏距离,即:
noise为待检测区域的浓度误差,范围为(-ρ,ρ),呈随机分布,其中ρ为预设值。
3.如权利要求1所述的一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:步骤S302中,在进行迭代实验之前,预先选取一个较大的数N,将区间[1,N+1)分为k个间隔为m的区间,如[1,m+1),[m+1,2m+1),…,[N-m+1,N+1);分别在k个区间中随机选取1个整数,并将选取的k个整数{n1,n2,…,nk-1,nk}分别作为初始种群数,进行一次迭代实验,且这k次迭代实验的结果相互独立;比较k次迭代实验获取的适应度{F1,F2,…,Fk-1,Fk},将最大的适应度作为最好的适应度Fbest;选取最好的适应度Fbest对应的初始种群数nbest作为完整迭代实验的初始种群数ninitial,并将ninitial作为步骤S302中个体的初始种群数n。
4.如权利要求1所述的一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:步骤S303,具体包括:
S401:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;
S402:将每个未停止运动的个体控制的智能体采集的污染物浓度{c1,c2,…,cninitial}分别与预设的污染物浓度阈值σ进行比较,以判断各个未停止运动的个体控制的智能体所在位置是否为污染源;若是,则到步骤S404;否则,到步骤S403;针对某个未停止运动的个体z,具体为:
若|cz–σ|<τ,则认为个体z控制的智能体所在位置即为污染源,此时个体z控制的智能体停止运动,并到步骤S404;其中,cz为第z个未停止运动的个体控制的智能体采集的污染物浓度;z=1,2,…,ninitial;ninitial为当前未停止运动的智能体的总个数;其中,τ为预设的浓度差阈值;
S403:将每个未停止运动的个体控制的智能体的超声波传感器标志位集合S和浓度传感器标志位P组成其对应神经网络的输入集合I={P,S},各神经网络均对应输出命令结果;各个未停止运动的个体控制的智能体根据对应神经网络输出的命令结果调整运动的角度和速度;在运动过程中,若智能体与障碍物发生碰撞或者能量用尽,则该智能体停止运动;其中,所述命令结果为“00”、“01”、“10”或者“11”,“00”表示后退,“01”表示左转,“10”表示右转,“11”表示前进;
S404:判断是否所有个体控制的智能体都停止了运动;若是,结束此次迭代实验;否则,返回步骤S402。
5.如权利要求4所述的一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:步骤S403中,设定每个个体控制的智能体的运动周期为T=1,每个运动周期消耗的能量为Estep=2×10-4,初始能量Efull=1;设定当前时刻t0智能体运动速度为v0,运动角度为θ0,智能体的剩余能量为E0,所在位置为(x0,y0),该位置检测的污染物浓度为c0;
相应地,下一时刻t1智能体的速度为v1,运动角度为θ1,剩余能量为E1,新的位置为(x1,y1),检测的污染物浓度为c1;其中,智能体运动过程中的最大速度设定为vmax=1,任意两个相邻时刻的角度变化值为Δθ,其最大值表示为Δθmax=π/2;在t1时刻,智能体按θ1方向从(x0,y0)运动到(x1,y1);θ1、v1、E1、(x1,y1)的计算公式如下:
v=e-c×vmax (10)
上式中,v1为下一时刻t1智能体的速度,根据v=e-c×vmax计算得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216369.1A CN111413463B (zh) | 2020-03-25 | 2020-03-25 | 一种基于自适应神经演化算法的二维污染源定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216369.1A CN111413463B (zh) | 2020-03-25 | 2020-03-25 | 一种基于自适应神经演化算法的二维污染源定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111413463A CN111413463A (zh) | 2020-07-14 |
CN111413463B true CN111413463B (zh) | 2021-06-25 |
Family
ID=71491410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010216369.1A Expired - Fee Related CN111413463B (zh) | 2020-03-25 | 2020-03-25 | 一种基于自适应神经演化算法的二维污染源定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111413463B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303252A (zh) * | 2015-10-12 | 2016-02-03 | 国家计算机网络与信息安全管理中心 | 基于遗传算法的多阶段神经网络模型训练方法 |
CN109946432A (zh) * | 2019-01-30 | 2019-06-28 | 中国地质大学(武汉) | 一种基于改进细菌趋化算法的二维水污染源定位方法 |
CN110443365A (zh) * | 2019-06-26 | 2019-11-12 | 中国地质大学(武汉) | 一种基于增强拓扑神经演化算法的二维污染源定位方法 |
-
2020
- 2020-03-25 CN CN202010216369.1A patent/CN111413463B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303252A (zh) * | 2015-10-12 | 2016-02-03 | 国家计算机网络与信息安全管理中心 | 基于遗传算法的多阶段神经网络模型训练方法 |
CN109946432A (zh) * | 2019-01-30 | 2019-06-28 | 中国地质大学(武汉) | 一种基于改进细菌趋化算法的二维水污染源定位方法 |
CN110443365A (zh) * | 2019-06-26 | 2019-11-12 | 中国地质大学(武汉) | 一种基于增强拓扑神经演化算法的二维污染源定位方法 |
Non-Patent Citations (3)
Title |
---|
基于云自适应遗传算法的无人机路径规划技术研究;鲍泽阳;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20180315(第03期);第18-30页 * |
基于牛顿法的二维污染源扩散源溯源定位;王迎彬 等;《水电能源科学》;20191130;第37卷(第11期);第49、54-57页 * |
遗传进化神经网络算法的分类问题中的设计和研究;尤一帆;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110715(第07期);第5-42页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111413463A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Juang et al. | Reinforcement ant optimized fuzzy controller for mobile-robot wall-following control | |
Chi et al. | Obstacle avoidance in mobile robot using neural network | |
Shamsfakhr et al. | A neural network approach to navigation of a mobile robot and obstacle avoidance in dynamic and unknown environments | |
Deepak et al. | PSO based path planner of an autonomous mobile robot | |
CN106873599A (zh) | 基于蚁群算法和极坐标变换的无人自行车路径规划方法 | |
CN107168324A (zh) | 一种基于anfis模糊神经网络的机器人路径规划方法 | |
CN109300144A (zh) | 一种融合社会力模型和卡尔曼滤波的行人轨迹预测方法 | |
CN108732931A (zh) | 一种基于jit-rvm的多模态间歇过程建模方法 | |
CN111413463B (zh) | 一种基于自适应神经演化算法的二维污染源定位方法 | |
Tahboub et al. | A neuro-fuzzy reasoning system for mobile robot navigation | |
CN103792846A (zh) | 基于Skinner操作条件反射原理的机器人避障导航方法 | |
CN110443365B (zh) | 一种基于增强拓扑神经演化算法的二维污染源定位方法 | |
Chen et al. | Mobile robot wall-following control by improved artificial bee colony algorithm to design a compensatory fuzzy logic controller | |
CN112269367B (zh) | 基于eemd-组合神经网络空气处理系统的故障检测方法及系统 | |
Doellinger et al. | Environment-aware multi-target tracking of pedestrians | |
Haider et al. | Autonomous mobile robot navigation using adaptive neuro fuzzy inference system | |
Park et al. | Receding horizon-based infotaxis with random sampling for source search and estimation in complex environments | |
Hagras et al. | Online learning of the sensors fuzzy membership functions in autonomous mobile robots | |
Botteghi et al. | Entropy-based exploration for mobile robot navigation: a learning-based approach | |
Miraswan et al. | Particle swarm optimization and fuzzy logic control in gas leakage detector mobile robot | |
Sunny et al. | An autonomous robot: Using ANN to navigate in a static path | |
Lichtensteiger et al. | The evolution of an artificial compound eye by using adaptive hardware | |
Wang | Robot obstacle avoidance and navigation control algorithm research based on multi-sensor information fusion | |
Martínez et al. | A study on machine learning models for convergence time predictions in reactive navigation strategies | |
Kadri et al. | Model free adaptive control based on FRM with an approach to reduce the control activity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210625 |
|
CF01 | Termination of patent right due to non-payment of annual fee |