分布式遗传算法无线传感器网络中的应用.docx
- 文档编号:25128171
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:20
- 大小:644.46KB
分布式遗传算法无线传感器网络中的应用.docx
《分布式遗传算法无线传感器网络中的应用.docx》由会员分享,可在线阅读,更多相关《分布式遗传算法无线传感器网络中的应用.docx(20页珍藏版)》请在冰豆网上搜索。
分布式遗传算法无线传感器网络中的应用
无线传感器网络中的分布式遗传算法
摘要:
WSAN是由一个个分散的无线传感器通过自适应、自组织而扩展成的较大的无线传感器网络。
由于节点间相互影响,再加上周围环境复杂多变致使我们必须设计出更强壮的无线传感器网络。
以前稳定成型的逻辑模式已经不能适应现在复杂多变的环境。
为了解决这个问题,我们提出了分布式遗传算法。
该算法能够解决在物理无线传感器网络上分步实施的方案。
为了证实这种方案的可行性,包括在独立、半独立、变化的无线网络上,我们把他应用在两个简单的需要感知、通信、处理等功能的无线网络中,实验证明,分布式遗传算法可以解决节点的扩展并且不受周围环境的变化的限制。
关键词描述分布式、在线、学习、遗传算法
通用术语算法设计
DistributedGeneticEvolutioninWSN
SunXiaojingLiujunwan
(CentralSouthUniversityofForestry&TechnologyChangSha410004)
(sxj6319914@)
ABSTRACT:
WirelessSensorActuatorNetworks(WSANs)extendwirelesssensornetworksthroughactuationcapability.DesigningrobustlogicforWSANshoweverischallengingsincenodescanaffecttheirenvironmentwhichisalreadyinherentlycomplexanddynamic.Fixed(offline)logicdoesnothavetheabilitytoadapttosignificantenvironmentalchangesandcanfailunderchangedconditions.Toaddressthischallenge,wepresentInsituDistributedGeneticProgramming(IDGP)asaframeworkforevolvinglogicpost-deployment(online)andimplementthisframeworkonaphysicallydeployedWSAN.Todemonstratethefeaturesoftheframeworkincludingindividual,cooperativeandheterogeneousevolution,weapplyittotwosimpleoptimisationproblemsrequiringsensing,communicationsandactuation.TheexperimentsconfirmthatIDGPcanevolvecodetoachieveasystemwideobjectivefunctionandisresilienttounexpectedenvironmentalchanges.
KeywordsDistributed,Online,Learning,GeneticProgram
1.1介绍
WSN是典型的由许多资源有限的无线节点组成的被动传感器系统构成的网络【1】。
每个节点通过多跳方式传输高级数据。
实现可靠地、强壮部署这个看是简单的无线网络其实并不容易,目前已经成为业界的挑战。
由越来越多的装置不仅能够检测环境,还能对收集到的数据进行加工处理,这些高级的无线传感器网络以及他们与环境的交互能力使得系统的状态变化莫测。
通常,触发主要用于指导本系统在一个所需的集体行为。
然而,无线传感器网络的分布式特性使得节点仅仅需要知道系统的部分信息,而整个系统来决定合适的节点逻辑而完成任务。
这种“逆问题”工程的集体行为是一个越来越常见的挑战,同时也是面对跨学科,如复杂的系统,多代理系统(MAS),和合作机器人。
无线传感器网络逻辑都是先设计后实践,主要由人和受他们的经验和相关领域知识支配对现实世界的或虚或明的理想化在设计逻辑时通常在考虑到具体操作或者环境条件的时候被限制。
这就是通常所指的“脆”逻辑[6],主要是因为无法预测节点之间复杂的相互作用和动态的物理环境的结果。
为了减少在无线网络中人的干涉作用【17】【9】,在自动化离线设计中各种各样的努力都试图尝试过,但是终究由于离线被模仿,而且这种离线环境不能真实地反映真实世界【12】【3】,所以这些努力都未能实现。
因为它不可能预先获得完整的环境信息,而且无法预测可能出现某些情况,使得预先确定的逻辑失败。
这一问题可以通过在线学习通过适应逻辑部署后解决。
建立遗传编程的学习方法(GP)【7】【9】,通常脱机运行,我们提出分布式遗传算法(IDGP)作为一种方法的框架,来实现WSAN设计逻辑,在无线传感器网络的每个节点都采用遗传算法的设计逻辑被证实在不断变化的复杂环境下具有鲁棒性。
本人主要在简单的无线传感器网络以及有已知的最佳解决方案的对象中进行了验证。
这些对象是我们特意用来研究遗传算法框架的。
并且分布式遗传算法仍然可以解决更复杂的无线传感器网络中。
许多因素都可以影响到对资源准确性的把握,比如个体行为、群体行为、与虚拟区域的距离、时间的长短、天气以及其他潜在因素等等【18】。
要综合考虑这些因素进行建模的话就要通过大量的真实实验中手机大量的数据,进行离线处理。
从而设计出恰当的逻辑模型。
作为一个在线处理机制,IDGP(分布式遗传算法)能够使用复杂的无线传感器网络,并能够解决在无线传感区域内个体行为的相互影响以及环境的动态变化。
本文的其余部分组织如下:
第二节介绍相关的准备工作,第三节介绍了IDGP框架,第四节描述了实验过程及结果,相关讨论还有信息传递等。
第五节讨论通过实验总结的不足之处以及将来需要继续研究的地方,第六节是结论部分。
2.相关工作
2.1无线传感器反应网络(WSAN)
随着科技的发达,目前的传感器都具有了反应(actor)的能力,所以自然也有出现了无线传感器反应网络。
无线传感器反应网络(WirelessSensorandActorNetwork,WSAN)通过散布在空间各区域的传感器节点(Sensor)监测、感知和采集监测对象的信息,并以自组多跳的方式传送到反应节点(Actor)。
Actor节点根据收集的监测信息做出决策并执行相关的操作,从而实现Sensor节点、外部环境、Actor节点间实时动态的交互。
图一:
二者的物理区别图
2.2遗传算法基本原理及算法
遗传算法特征选择的基本原理是用遗传算法寻找一个最优的二进制编码,码中的每一位对应一个特征,若第i位为“1”,则表明对应特征被选取,该特征将出现在分类器中,为“0”,则表明对应特征未被选取,该特征将不出现在分类器中。
其基本步骤为:
(1)编码。
采用二进制编码方法,二进制码的每一位的值,“0”表示特征未被选中;“1”表示特征被选中。
(2)初始群体的生成。
随机产生N个初始串构成初始种群,通常种群数确定为50~100。
function[bin_gen]=encoding(popsize,bits)
bin_gen=randint(popsize,bits);%生成初始种群库。
end
(3)适应度函数。
适应度函数表明个体或解的优劣性。
针对特征选取问题,适应度函数的构造非常重要,它主要依据类别的可分性判据以及特征的分类能力。
适应度函数的有效性将直接决定遗传算法的搜索方向和进化结果。
笔者将重点讨论4种遗传算法特征选取的适应度函数的构造方法。
Program1The“Blink-3”objectivefunction
fos_leds_set(0)
idleOffset=fos_power_battery_current()
delay(50)
isOdd=TRUE
WHILEprogram_is_executing
IF(isOdd)
fitness=fitness+fos_adc_read()
END
LEDmA=fos_power_battery_current()-idleOffset
fitness=fitness-6*LEDmA
isOdd=not(isOdd)
delay(100)
END
(4)将适应度最大的个体.即种群中最好的个体无条件地复制到下一代新种群中,然后对父代种群进行选择、交叉和变异等遗传算子运算,从而繁殖出下一代新种群其它n-1个基因串。
通常采用转轮法作为选取方法,适应度大的基因串选择的机会大,从而被遗传到下一代的机会大,相反,适应度小的基因串选择的机会小,从而被淘汰的机率大。
交叉和变异是产生新个体的遗传算子,交叉率太大,将使高适应度的基因串结构很快被破坏掉,太小则使搜索停止不前,一般取为0.5~0.9。
变异率太大,将使遗传算法变为随机搜索,太小则不会产生新个体,一般取为0.01~0.1。
%%选择采用所谓的轮盘算法
function[finalmax]=selection(pop,fitvalue)
totalfit=sum(fitvalue);%求适应值之和
fitvalue=fitvalue/totalfit;%单个个体被选择的概率
fitvalue=cumsum(fitvalue);%如fitvalue=[1234],则cumsum(fitvalue)=[13610]
sortrand=sort(rand(15,1));%从小到大生成一个概率列(概率是0至1之间的数值)
i=1;
j=1;
newpop=zeros(15,10);
finalmax=0;
%%找出单体个体被选择概率刚刚大于对于编号的随机概率即sortrand(i)) whilei<=15%15为种群库的个数 if(sortrand(i)) newpop(i,: )=pop(j,: );%找最优的适应值 maxdec(i)=bin2dec(num2str(newpop(i,: ))); mymax(i)=-5+maxdec(i)/100;%对应的个体 finmax=30-mymax(i).^2;%对应的适应值 i=i+1; else j=j+1; end end end (5)如果达到设定的结束条件.返回最好的基因串,并将其作为特征选取的依据,算法结束。 否则,回到(4)继续下一代的繁衍。 2.3无线传感器网络中的并行算法比较 目前用来解决无线传感器网络方案的EAS(进化)算法的逻辑已经问题日益突出【8】【19】。 EAS看似非常适合解决WAS得内在并行性问题,但对于物理节点构成的无线网络的扩展却不能实现【11】。 (GPN)遗传算法网络编程是展示全系统逻辑协调的离线处理方法【17】。 他能够适应不断变化的节点间的逻辑通信。 他同时也体现了节点之间扩大通信的重要性,而且他的逻辑实现的独立性很好。 另外一个离线处理方法是(DGPF)分布式遗传算法框架,他是在各个计算机中通过遗传算法编程来解决WSN的离线逻辑的。 所有的离线处理方法中,如何使得算法在我们的真实无线网络【3】中起作用的问题上,模拟的精确度起着至关重要的作用。 然而,即使算法模拟的再准确,有时候也会由于意想不到的环境变化使得捕捉信息失败。 目前网络上大部分的进化算法(EA)的研究都是针对特定任务的单一个体的行为,比如避开障碍物或者算法优化等。 这些方案只能对一台机器的行为进行模拟,不能解决无线传感器网络中的分布式节点间的协调。 使用在无线传感器网络中的GP(遗传算法)体现了在整体系统中EA(遗传算法)参数的重要性【8】【15】,虽然还未在真正的物理网络上证实。 基于动态适应意外情况的分布式代理遗传算法就是一个一个非常好的在线处理系统【5】,也是曾经部署使用的系统。 该系统已经在很多设备上面得到证实,这些设备都是衍生的设备。 这些设备能够按照他们方案执行并且各个设备之间能够互相传递信息。 在这些设备上嵌入这种方案,这些方案都是离线经过证明的,但是运行后却有所变异呢。 如果说考虑到这些最初的演变已经产生了意外并且损坏了设备的话,这些试验还是可以理解的。 任何事情都不会完完全全按照做着自己的预期进行的。 这对研究出在线解决方案还是非常有利的,尽管离线学习被发现了部分缺点。 然而,最显着的缺点是,这种方法设计了一个“群”,逻辑的演变很多程度上依赖于其他机器人的存在,而且所有的机器人都是类似的。 如果环境的变化显著,则这种方法很可能会失效到一个不可接受的程度,因为这种方案依赖于关联的其他节点。 、 我们的目标是能够为客户提供高层次的资源受限的WSAN,并让他们不断的继承他们的逻辑。 我们不清楚我们研究的结果是否能够在上述研究的基础上有所改进。 3.IDGP(分布式遗传算法)框架思路 图二 本部分详细介绍IDGP算法,如图二所示,框架的核心就是IDGP引擎,该引擎在本地运行,在每个节点执行进化的程序。 用户的政策,其中包括系统的适应度函数和其他初始化参数,充当一个关键的输入到IDGP中。 与框架的运行在每个节点,相邻的节点能交换当地产生的结果,这种形式可能会提高收敛性,使得我们能够介绍该方案。 3.1GPOnmotes(分节点上的遗传算法) 遗传编程(GP)使用遗传算法适应在节点不断增长的计算机终端,算法逻辑能够满足指定的适应度函数的演变。 遗传方案的实现引擎通常部署在高端计算机,比如超级计算机或者群集,他们有超强的计算能力和内存。 这主要是源于遗传算法的三个内在特性: (1)需要存储大容量程序的超大内存; (2)大量仿真计算,成为更复杂的问题;(3)要求快速收敛时间。 和高端计算机相比,终端节点的资源非常受限,即使是主流的现代电脑。 终端通常具有较低的处理器,内存有限,有限的能源存储以及射程较短,带宽通信能力低。 这些限制都限制了GP引擎在终端节点呈现出一种瓶颈,因为在终端有严格约束的程序,指令集和代码空间占用的GP引擎的性能。 除了这一难题,IDGP的其他优点就是消除了仿真处理的要求,因为演变是发生在运行时,且是在动态物理环境中。 虽然模拟依赖于特定的环境模式、原位进化依赖于环境中的实时数据,才能使其更多富于表现力和适应性。 然后,WSANS的自适应逻辑带来了另外的风险,系统会达到一个“死胡同”的状态,这种状态是不可接受的。 作为初始示范的IDGP框架,我们假设如下: (1)既不逻辑演进,也没有进化后进入死胡同; (2)IDGP发动机可以得到系统是如何执行的反馈。 部分5.5讨论放宽假设1的影响,而假设2是一个IDGP严格的要求。 3.2遗传算子 当它执行完当前这一代(Np)的所有步骤后,IDGP引擎根据他们的适应度进行排序。 然后,它会将结果最高的选择进入下一代,往往简单的变异可以使得结果更接近现实,更让人能够接受,所以我们对适应度最高的种子进行了变异。 下一步,Nc父代作为单点交叉和重组后产生2个子代,产生过程使用轮盘算法的原则。 适应越高的重组几率越大,甚至有可能自己与自己重组进行遗传下一代,这样有可能产生了自己的克隆到了下一代,因为克隆没有要求必须是对称的交叉点。 这种从相同的解决方案代表中创建两个新的解决方案的能力是对典型的遗传算法GA的一个重要的附带作用。 在评价方案中,其他方案从邻近的节点传播。 如果他们的目标与本节点是反相关的,使用这些方案有可能结果是比随机的还要差。 所以通信也是未知的,以至于不知道有大部分会遗传到该节点在代的一传中。 我们可以设定能够迁移到当前节点的一个上限在一次遗传中,通过随机新创建数量,然后准备进行评估。 遗传操作和产生新的种群在种群的线性扩展中所占的IDGP的开销是非常小额,NP=21小于每一代100毫秒。 这方面的负担通常是相对比较小,人口评估时间。 例如,一个程序评估时间1秒,每个程序的开销是<0.5%。 3.3分布式遗传 到目前为止,我们已经讨论单一mote的逻辑遗传,然而,我们要执行在网络节点下的分布式遗传。 IDGP框架利用岛模型[10]类似广播分布式并行(发展局)GP模型[8]之间共享逻辑将节点和相邻的节点的信息纳入其演变过程。 这并行遗传算法的方法是通过分解方案到广播包的数量,然后重建计划接收的方式。 其他表观遗传特征通过广播,也可以共享,但是我们仅仅限制的信息转移方案。 收到的方案可能在当地池取代方案(目前只随机的方案所取代),并且不能被选为父程序,直到它已被评估。 分布式进化需要适应度信息可用的到节点和其他节点的状态。 这种分散的方法提供了一个集中的可扩展性网络断线的方法和鲁棒性。 当地的反馈是一个明显的方式来实现分布式的演化;然而,在许多情况下,可能需要一个通用的解决方案,这可能不是局部最优。 IDGP框架采用多跳的无线数据包(通常是组播)到提供所有节点的适应度信息。 然后可以用来克服局部最优,以达到理想网络范围的行为。 4.实验和结果 为了说明IDGP框架的各个方面,我们设计一个问题与一个已知的最优解和码,为了解决这个问题实现了IDGP框架在一个节点群设备。 然而,通过模拟与许多GP系统执行进化的离线和验证进行对比,我们执行所有的进化(例如,以在原位物理节点)。 因此实验结果是基于在线性能值而不是仿真。 4.1实验装置 图三 这个FleckTM3b[16],如图三所示,是一种有思科设计低功耗的无线传感器网络设备,用于户外环境监测,可以测量许多外部和传感器包括节点上的电源和LEDS的三种灯光特性,如红、绿、黄这些颜色是被软件控制的。 我们使用FOS(思科自己的操作系统)系统,这是一个轻量级的合作线程系统,专门为家庭设计的设备,应用程序用C编写的,并且支持大量的高水平这样的功能),作为广播消息路由的外部传感器。 这允许以一个紧凑的、优雅的方式编写高度实用程序这很容易理解。 4.2实验一 图四 通过设置发光二极管灯亮的频率,这里我们设置每100秒亮一次而进行的试验,这个实验的目的是评估在WSAN中的IDGP应用程序,该应用程序需要传感和对系统上的ADC读数上做出处理,演示动态变化的条件下的逻辑。 实验结果如下: 图五 通过图五我们可以看出,在经过500次迭代之后系统基本处于非常稳定的状态。 4.3实验三 我们分别在单结构网络、同构无线网络、异构无线网络下进行了测试,结果如下: 图六 从图六我们可以非常清晰的看出,在经过200次迭代之后无论那种网络结构的都趋于稳定状态。 4.4实验四: 动态自适应环境变化 先前的实验中的这些传感器被放在一个盒子中免于外部光源。 设计项目2的前提是假设,没有其他的外部光源。 我们把环境变化的一些外的节点框然后受到其他光源,即阳光透过房间窗户和荧光的房间照明。 优化解决方案是依赖于强度环境光的的光敏二极管和消耗的能量由发光二极管。 环境光的增加,把所有led掉所有的时间变得最优。 在第51代和52代之后85节点和207节点被从盒子移除。 精英分显示自适应值超过“已知的解决方案”,当节点在箱子里面。 可以看出,在图七中最初,改善是由于额外的环境光,然而,当随着适应值增加,发现它不需要求助led的维持一个高适应性,并且节省电力,从而产生更高的自适应值。 分析各种程序在期限内节点是开箱即用的强化了这种猜测与许多程序只是延迟超过评价期。 有趣的是,在节点被放置到盒子里后,节点几乎立即回到节点被从箱子移除之前的一个适应值,表明遗传保持一定的历史。 图七 4.5通信优化 在以往的试验中,适应值是完全靠计算在节点和基于映射值来驱动。 然而,在许多场景中,这是有可能的这适应值可能来自邻近的节点或一个系统的目标函数。 在这个实验中,我们希望证明通信的优化以及基于通信的反应。 再次,我们希望使问题得到简单的定义。 我们因此限制问题到函数的集合{无线电txint(x),集led(x)、广播rxint()}和只使用2个节点,调用一个节点A和一个节点B,我们现在就可以产生一个基地IntToRfmM数据包尘粒(连接到PC)的1赫兹的速度在和发送这些包对节点A,根据MAC的目的地地址进行发送的。 所有的组合发光二极管是每隔8秒一个轮回,反过来能让一个明智的评估期程序和被用于此实验。 节点B的LeD状态通过一个远程过程调用,并用来计算一个适应值发送到节点A和节点B的LED状态.因此该系统可以理想地学会接受节点A的数据包,反过来这对MoteB也会收到消息并设置其相应的led状态。 重要的是,我们做的没有明确的优化通信,而通信必须进化,为了实现预期的目标(节点B的LED状态),目标的最优方案是程序3a和3b。 图八 对于一个分布式系统,我们假设节点正在运行,和评估程序异步地与对方和计算系统范围的目标(即没有全球同步)。 频繁的周期性适应值分数是提供给本地节点和总结在8秒内执行时间的每个程序。 最初,自适应值反馈提供给两个节点,当尘粒B的LED状态不匹配所需的模式和正反馈的时候匹配。 有趣的是,节点进化的“拒绝服务”战略(即宰杀通道和最大化数据包冲突)减少收到负面的数量适应值包。 这种融合到了零,节点没有积极或消极的反馈。 有几种方法进行了测试解决这个问题。 我们认为一个组合频繁的、小负面反馈在本地生成积极的全球大反馈允许微粒趋同最佳的解决方案。 这种组合不优化节点,拥塞频道是唯一积极价值是无线传输。 实现一个可接受的解决方案的关键是对一个给定的目标的适应度函数的选择。 我们平衡当地的消极和全局的积极,以至于节点B的行为,在整个评估期期间,led状态不变,将产生一个整体的零适应值。 评价函数可以表述为: 1.从每个评估(在8秒内)的节点的适应值中减去80 2.在节点A传送个节点B的正确的LED状态的适应值上面添加80 计算最佳得分(8××18080−)=560。 这个结构被设置为5精英,3高排名,10个孩子,2个随机值和1个另一种5%变异速度。 尘粒的进化和由此产生的进化的精英和池的适应值图如图8所示。 有趣的是,最大的适应值达到了640超过了预期的最大值。 这种情况 似乎源于在评价时间内,偶尔接受9个适应值。 额外的指令原因尚不明确,这个策略有一个普通适应值比程序3更少,这样池每次适应值下降,这个策略成为精英和随后主导。 这造成永久的振荡的两个适应值和池fitnesses(滞后相)在两个值之间切换。 图九 5.讨论 原位进化逻辑既有优点也有其缺点。 在这一节中,我们将讨论接下来在WSAN原位进化逻辑中我们将面临的挑战。 5.1环境 原位逻辑评价避免对合成(模拟)模型环境的依赖,没有比现实环境能够更好的呈现环境本身。 这不仅防止了利用人工制品中仿真,的脆弱环境的逻辑演化,同时意味着节点不需要在任何设备上执行仿真,这对资源受限的终端来说是非常有利的。 然而,一个重大的缺点这种方法在所有微粒的所有程序只有一个单一的共享环境。 重置环境恢复到之前评估的每个程序完全相同的初始条件是不可能的。 因此,每个程序可能留下一个“足迹”,可能帮助或阻碍 其他的项目,并将生成一个信用赋值问题这可以减缓甚至防止收敛。 更重要的是环境是否可能以一种方式会有所调整以至于永久的阻止所需的目的是实现。 不像脱机进化,一个人不能回到过去如果目前的一个已经失败了另一项进行优化。 5.2悖论 虽然离线学习逻辑可以提供直接的高性能部署,然而,由于意想不到的环境变化,会表现的更好。 另一方面,在线学习,允许系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 遗传 算法 无线 传感器 网络 中的 应用