CN111510956B - 一种基于分簇和增强学习的混合路由方法、海洋通信系统 - Google Patents
一种基于分簇和增强学习的混合路由方法、海洋通信系统 Download PDFInfo
- Publication number
- CN111510956B CN111510956B CN202010178384.1A CN202010178384A CN111510956B CN 111510956 B CN111510956 B CN 111510956B CN 202010178384 A CN202010178384 A CN 202010178384A CN 111510956 B CN111510956 B CN 111510956B
- Authority
- CN
- China
- Prior art keywords
- node
- cluster
- value
- neighbor
- nodes
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 116
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000002787 reinforcement Effects 0.000 title claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 19
- 241000854291 Dianthus carthusianorum Species 0.000 claims description 143
- 230000009471 action Effects 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 16
- 230000006399 behavior Effects 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 34
- 230000000875 corresponding effect Effects 0.000 description 22
- 230000008901 benefit Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- PAEZRCINULFAGO-OAQYLSRUSA-N (R)-homocamptothecin Chemical compound CC[C@@]1(O)CC(=O)OCC(C2=O)=C1C=C1N2CC2=CC3=CC=CC=C3N=C21 PAEZRCINULFAGO-OAQYLSRUSA-N 0.000 description 1
- 241000132179 Eurotium medium Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000002601 radiography Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/12—Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/20—Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/246—Connectivity information discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明属于海洋通信技术领域,公开了一种基于分簇和增强学习的混合路由方法、海洋通信系统,宏观上在线学习簇整体的Q值确定最佳下一跳网格,局部确定最佳网格中的特定节点,以选择下一跳节点,结合AODV算法按需路由的思想以及GPSR的贪婪原则实现路由发现过程,当节点需要发送数据包给目的节点时,如果存在相应的路由信息,直接发送数据包,如果没有相应的路由信息,则查找该目的节点是否在邻接表中,根据相应的节点转发策略进行转发,直到到达目的节点。本发明减少了广播的洪泛,减少了路由开销;能有效避免路由空洞的同时,选出的路径更加适合当前的网络状态,丢包率更小。
Description
技术领域
本发明属于海洋通信技术领域,尤其涉及一种基于分簇和增强学习的混合路由方法、海洋通信系统。
背景技术
目前,由于海洋通信环境基础设施的缺乏,使得陆地上成熟的无线通信技术无法直接应用在海洋通信系统,Adhoc是实现海洋远程通信的主要技术之一。
因为AdHoc网络可以采用多跳转发的方式进行数据传输,所以需要路由协议建立从源节点到目的节点之间的可达路径。而路由发现方式和路由选择策略是协议的核心问题。根据路由建立过程的不同,可分为以下几类:主动式路由协议如OLSR,节点周期性地广播路由分组,获得网络中节点间的链路信息。然后根据拓扑信息,结合合适的路由算法,节点建立到达网络内所有节点的路由,并根据接收的路由消息实时更新路由表。按需式路由协议如AODV,当源节点需要发送数据却没有到目的节点的路由,才通过路由发现来获得所需要的路由。基于地理位置的协议如GPSR,网络内的节点在获取自身的定位信息后,通过位置服务协议获得目的节点的位置,使用信标交互的方式获取邻居节点具体地理位置。利用节点的位置,结合相应的路由算法,完成数据分组的转发。
增强学习也称为强化学习,是一类求解序贯优化决策问题的有效方法,近年来已成为机器学习和智能控制领域最活跃的研究分支之一。它通过利用环境的评价性反馈信号来调整自己的行为选择策略,将极大化期望的回报作为学习目标。其中,Q学习算法在独立、同步地解决一些复杂的路由问题时表现出其显著优势,有助于部分网络性能的提升。
目前,有以下几个基于Q学习的路由方法。文献【Wu C,Kumekawa K,KatoT.Distributed Reinforcement Learning Approach for Vehicular Ad Hoc Networks[J].Ieice Transactions on Communications,2010,93-B(6):1431-1442】基于AODV已有的工作机制,利用Q-Learning算法实现了一种适用于高移动网络场景的路由协议QLAODV,其主要利用Q学习算法预测环境的状态信息以及利用单播控制包检查路径的可用性,再根据车辆移动和可用的信道带宽来选择路由。文献【Lai W K,Lin M T,Yang Y H.A machinelearning system for routing decision-making in urban vehicular ad hocnetworks[M].Taylor&Francis,Inc.2015】提出了一种基于机器学习的用于车辆自组网的路由方案,MARS预测了车辆的运动,然后在两个路边单元中选择合适的路径,能够降低延迟并提高分组投递率;文献【Li R,Li F,Li X,et al.QGrid:Q-learning based routingprotocol for vehicular ad hoc networks[C]//PERFORMANCE Computing andCommunications Conference.IEEE,2014:1-8】提出了一种基于强化学习的路由协议QGrid,以提高消息传递的传递率。QGrid在进行路由决策时考虑了微观方面和微观方面。宏观方面通过查询从离线中学习到的Q值表来确定最优下一跳网格。微观方面在最优下一跳网格中确定具体的车辆作为下一跳车辆。Woo-Sung Jung等人在QGris的基础上考虑了链路误差的问题,提出了QGeo【Jung W S,Yim J,Ko Y B.QGeo:Q-Learning based GeographicAd-Hoc Routing Protocol forUnmanned Robotic Networks[J].IEEE CommunicationsLetters,2017,PP(99):1-1】,一种适用于无人机器人网络的Q学习的地理位置自组网路由协议,QGeo相比QGrid可以在高移动场景提高分组投递率,且产生更少的网络流量。文献【郑家瑜,VANET中路由算法研究[D],西安电子科技大学,2017】中提出将Q学习和分簇相结合,通过Q学习选择更稳定的簇建立路由,通过簇首和网关节点进行数据请求和数据传输,节省了网络开销。
在现有的Q学习路由方法中,文献【Wu C,Kumekawa K,Kato T.DistributedReinforcement Learning Approach for Vehicular Ad Hoc Networks[J].IeiceTransactions on Communications,2010,93-B(6):1431-1442】中QLAODV由于进行Q学习的对象是网络中的所有节点,导致收敛速度过慢,尤其是在网络状态过多的情况下,性能并不理想。文献【Lai W K,Lin M T,Yang Y H.A machine learning system for routingdecision-making in urban vehicular ad hoc networks[M].Taylor&Francis,Inc.2015.】中MARS虽然提供了低延迟和高分组投递率,但是它利用了有线骨干网,灵活性不够。文献【Li R,Li F,Li X,et al.QGrid:Q-learning based routing protocol forvehicular ad hoc networks[C]//PERFORMANCE Computing and CommunicationsConference.IEEE,2014:1-8】QGrid考虑了在两个具有低网络开销的邻居网格之间的车辆的运动,它利用了基于Q学习的地理位置网格路由算法,虽然QGrid对每个网格之间的动态变化因素进行了处理,但是这一工作的主要限制在于QGrid没有考虑在同一网格中的节点之间的链路状况,而且由于网格间的信息是离线统计的,会造成拓扑变化时信息不够准确。文献【Jung W S,Yim J,Ko Y B.QGeo:Q-Learning based Geographic Ad-Hoc RoutingProtocol forUnmanned Robotic Networks[J].IEEE Communications Letters,2017,PP(99):1-1】虽然在QGrid的基础上考虑了链路状况的问题,然而它由于学习对象仍然是网络中的单个节点,在大规模网络中也会存在Q表收敛过慢的情况。文献【郑家瑜,VANET中路由算法研究[D],西安电子科技大学,2017】将Q学习和分簇相结合,在簇首和网关节点间广播RREQ包并建立路由,虽然能节省网络开销,但是由于路由都是通过簇首和网关节点建立起来的,导致簇首和网关节点的网络负荷过重。
通过上述分析,现有技术存在的问题及缺陷为:现有的Q学习路由方法存在收敛速度过慢,尤其是在网络状态过多的情况下,性能并不理想;有的协议利用了有线骨干网;有的协议没有考虑在同一网格中的节点之间的链路状况,而且由于网格间的信息是离线统计的,造成拓扑变化时信息不准确;考虑了链路状况的算法没有同时考虑Q表收敛过慢的问题;有的以簇为单位进行学习的算法通过簇首和网关节点建立路由导致簇首和网关节点的网络负荷过重。
解决以上问题及缺陷的难度为:现如今如何设计合理的移动AdHoc网络的网络层的路由协议,已经成为当前AdHoc网络研究的热点问题;好的路由协议,能够保证不同业务的可靠到达,降低网络的传输时延,减小网络中不必要的开销。由于传统优化技术的不足,使得AdHoc网络的性能提升不明显,因此,有必要将智能算法引入到路由协议中,设计适合渔用AdHoc网络的协议。现有的Q学习路由算法都有它各自的适用使用场景,和各自的优缺点,不能直接用于渔用自组网。
解决以上问题及缺陷的意义为:根据渔用自组网的特征,设计适用于渔用自组网的智能路由协议,能够提高网络的整体性能,提升海洋渔业资源管控能力,进一步促进海洋渔业走向极地、走向深海。
发明内容
针对现有技术存在的问题,本发明提供了一种基于分簇和增强学习的混合路由方法、海洋通信系统。
本发明是这样实现的,一种基于分簇和增强学习的混合路由方法,所述基于分簇和增强学习的混合路由方法基于在线学习簇整体的Q值确定最佳下一跳网格,局部确定最佳网格中的特定节点,以选择下一跳节点,结合AODV算法按需路由的思想以及GPSR的贪婪原则实现路由发现过程,当节点需要发送数据包给目的节点时,如果存在相应的路由信息,直接发送数据包,如果没有相应的路由信息,则查找该目的节点是否在邻接表中,根据相应的节点转发策略进行转发,直到到达目的节点;否则通过路由发现过程结合Q学习建立到目的节点的路由信息。
进一步,所述基于分簇和增强学习的混合路由方法包括:
步骤一,源节点需要发送数据包给目的节点时,首先判断是否存在路由信息,若存在则开始传输数据;若不存在,则查找该节点是否在邻接表中,若在,根据本发明中的节点转发策略,在正常参与数据包转发的节点中选择距离目的节点最近的邻居节点进行转发,直到到达目的节点;否则判断自身节点角色,如果是簇成员节点,启动路由发现过程,先发送数据请求包给簇首,然后转到步骤二;若是簇头节点,直接转到步骤二;
步骤二,簇首产生RREQ,并将源节点的地理位置,源节点所在簇ID和Q表最大值一并添加到RREQ中,广播RREQ,转到步骤三;
步骤三,中间节点收到RREQ,若当前节点为普通节点且收到的RREQ为本簇的RREQ,则本地存储RREQ中的Q表最大值;若当前节点为普通节点且收到的RREQ为邻簇的RREQ,则直接丢弃;若当前节点为簇首,则解析RREQ包并根据公式对Q值进行更新,并将更新后的Q表最大值写入RREQ,并广播RREQ,转到步骤四;
根据公式对Q值进行更新:
其中y∈Nx代表着簇首节点y所在的簇在簇首x的邻簇,R为回报函数。定义簇i的Q值表的最大Q值集合为其中d1,d2,...,dn表示目的簇,yi,yj,...,yk表示簇首i所在簇的邻接簇,表示Q值表中以邻接簇yk为到目的簇dn下一转发簇对应的Q值;实际上即MaxQValuesi的一个元素,MaxQValuesi数组由RREQ发送方节点计算并与其RREQ消息一起发送;
步骤四,如果目的节点收到RREQ,产生RREP,选择到源节点所在簇Q值最大的簇作为下一跳转发簇,且在该下一跳转发簇内选择CIj>CIthreshold&&CRij>CRthreshold且到源节点距离最近的邻居节点作为下一跳节点,转到步骤五;否则转到步骤三;
步骤五,中间节点收到RREP,选择到源节点所在簇Q值最大的簇作为下一跳转发簇,且在该簇内选择CIj>CIthreshold&&CRij>CRthreshold且到源节点距离最近的邻居节点作为下一跳节点,并建立正向路由。
步骤六,若源节点收到RREP,路由建立完成,开始传输数据;否则转到步骤五。
进一步,所述基于分簇和增强学习的混合路由方法中的分簇和时帧设计,通过地理位置分簇,并进行时隙划分,减少邻居节点发现时的碰撞,以改进邻居节点发现过程的性能;本发明采用TDMA机制,将时间周期性地划分为一个个时间片,一个时间片为2s,在每个时间片中,又分成邻居发现时段和数传时段;在邻居节点发现阶段,普通节点之间先进行HELLO消息广播,随后进行簇首竞选,距离簇中心最近的节点成为簇首;在数据传输阶段先进行簇首的QHELLO包广播,随后进行数据传输;邻居簇首间通过降低速率的方式实现簇首2倍于普通节点通信距离的方式,使得邻居簇首间直接通信可达,本发明中本簇节点不对来自本簇和邻簇之外的簇首发来的QHELLO包和RREQ包进行处理。
进一步,所述基于分簇和增强学习的混合路由方法通过试错的方法发现最优行为策略,强化学习系统根据内部的工作机制对收到的环境状态s做出相应的行为,系统输出相应的行为动作a,而环境在系统动作a的作用下,变迁到新的状态s′,同时得到环境对于系统的瞬时奖惩反馈r;Q学习系统是系统选择的动作从环境中获得的环境奖赏值累计最大这样一个策略动作,即π:S→A。
其中Q值得更新公式:
其中α表示学习率,γ为折扣因子,ri是回报函数;系统产生该动作的趋势决定于环境的奖赏值,即回报函数,如果为正的奖赏值则趋势会越来越强,如果为负的奖赏值则趋势会越来越弱;对于渔用自组网,当数据包在网络中传输时,在数据包到达目的节点之前,无法确定奖励,不能使用基于模型的方法,故选择使用Q学习来选择最佳路由。
进一步,将地理区域划分成大小一致的正六边形,称为簇;每个渔船本地存储簇首发送的Q表,QCGP路由由两部分组成,从宏观角度确定最佳下一跳簇,从微观角度识别所选网格中的特定渔船;将不同的簇定义为一个状态;每个簇首维护一个由Q值Q(d,x)组成的Q表,Q值的范围从0到1,其中d是以d为簇首的目的簇,x是到达目的簇的下一跳簇首x所在簇;使用一个动态的查询表,这样一个簇首节点的查询表的大小由目标簇和邻居簇的数量决定;q表和学习任务分布在不同的簇中;在QCGP中,当簇首节点接收到QHELLO消息时,可以通过更新Q值实现探测,当选择下一跳时,让簇首贪婪地行动,在每种情况下,获取具有最高Q值的行动;如果数据包能够通过动作到达目的节点,奖励R将为1,否则R将为0,当一个簇首从目的簇首接收到QHELLO时且本簇内节点与邻簇内节点可以通信上,奖励R将为1,否则R将为0,回报函数R的定义如下,其中s∈Nd代表着簇首节点s所代表的簇在目的簇首d的邻簇:
其中,折扣系数γ是一个动态参数,取决于簇内的节点数量;使用动态折扣系数,它主要取决于跳数和簇内节点密度,信息通过节点转发会使得Q值打相应地折扣,簇内节点密度让Q值打相应地折扣;使用分段函数来描述折扣因子的变化;让num(si)表示以si为簇首的簇内节点的个数,QCGP的折扣系数与簇内节点个数有关,不同的簇具有不同的γ值,让其中n=Scene_size/cluster_size,SUM为网络场景中的节点总数,n为网络中簇的平均个数,Scene_size为网络场景的大小,cluster_size为单个蜂窝的大小,γ的定义如下:
根据簇内不同的节点密度,公式将γ值映射到0.2到0.9的范围内;∈[0.2,0.9],设置为0.6,即当网格中的渔船节点数量等于所有网格的平均渔船节点数量,γ取0.6。
进一步,每个簇首使用QHELLO消息与其邻居簇首交换链接信息,该链接信息包括Q表的一部分,簇内节点的IP地址和地理位置和γ值;Qs(d,x)代表着簇首s所在的簇,通过邻簇簇首x所在的簇,到目的簇簇首d所在的簇的Q值;当QHELLO定时器到期时,每个簇首节点首先查询Q表得到一个数组,该数组包含网络中每个目的簇的最大Q值;然后簇首节点根据公式计算γ值,每个簇首节点将MaxQValues,簇内节点的IP地址和地理位置和本簇的γ值附加到QHELLO消息中;
在通信开始时,簇首节点对网络的其他部分一无所知,Q表的所有元素都被初始化为0,Qs(d,x)是簇首节点s估计为通过邻居簇x内的节点向目的簇簇首d内的节点传送分组的实际可能性的值;当从邻居簇首x接收到QHELLO分组时,簇首x根据收到的邻簇内节点地理位置与本簇内节点的地理位置自行计算两个簇内的节点有没有连接得到奖励值R,根据Q表中的max值和γ值对Q值进行更新:
其中y∈Nx代表着簇首节点y所在的簇在簇首x的邻簇,R为回报函数。定义簇i的Q值表的最大Q值集合为其中d1,d2,...,dn表示目的簇,yi,yj,...,yk表示簇首i所在簇的邻接簇,表示Q值表中以邻接簇yk为到目的簇dn下一转发簇对应的Q值;实际上即MaxQValuesi的一个元素,MaxQValuesi数组由QHELLO发送方节点计算并与其QHELLO消息一起发送;
节点不需要维护路由表,本地存储的Q值表中包含对应于不同目标网络的最佳下一跳网络,根据Q值表传输消息,即当前节点选择具有最大Q值的下一跳网格作为目标网格,并使用节点选择策略在目标网格中选择一个节点作为中继节点。
进一步,所述基于分簇和增强学习的混合路由方法中的节点通信质量预测在邻居节点发现阶段,普通节点的HELLO包中包含有节点的IP,地理位置,节点通信空闲度CIi,运动速度和速度方向,收到HELLO包的节点通过这些信息评估邻居节点的通信可靠度,对邻居节点是否参与新的数据包转发进行标记;
(1)节点通信空闲度公式:
其中,CIi表示节点i的缓存空闲比,Bufferi表示节点i的缓存总大小,Mj表示第j个消息的大小,k表示节点i的缓存中存储了k个消息;节点的CIi越大,表明可接收的消息越多,消息丢失的概率越小;
(2)链路连通可靠度,在t时刻,渔船节点i的坐标为(xi(t),yi(t)),速度为vi(t),速度方向为αi,αi为速度与x轴的夹角;邻居渔船节点j的坐标(xj(t),yj(t)),速度为vj(t),速度方向为αj,Dij(t)为在t时刻,渔船节点i和其邻居渔船节点j之间的距离,Dij(t)满足如下关系:
渔船节点i和其邻居渔船节点j在经过时间Δt后到达通信临界点,Dij(t)满足如下关系:
此时渔船节点i的坐标为(xi(t+Δt),yi(t+Δt)),渔船节点j的坐标为(xj(t+Δt),yj(t+Δt)),假定渔船节点i和其邻居渔船节点j的位置在x轴方向上和y轴方向上的差值分别为Δx和Δy,速度在x轴方向上和y轴方向上的差值分别是Δvx和Δvy,则有下列式子:
预测出渔船节点间的连通临界时间Δt:
当渔船节点i和其邻居渔船节点j保持同方向行驶,速度大小相等且保持不变时,渔船间距小于或等于R,此时得到的Δt为无穷大而渔船间的通信通常可以在短时间内快速完成。链路连通可靠度CRij定义如下:
其中treceived为接收到邻居节点HELLO包的时刻,tnow为当前时刻,当tnow-treceived的差值大于渔船节点的连通临界时间Δt,说明该邻居节点已经不在本节点的通信范围之内了,通信可靠度设为0,当tnow-treceived的差值小于渔船节点的连通临界时间Δt时,以度量节点通信可靠度CRij,α为大于或等于1的参数,α值越大,对Δt要求越严格,即相同CRij值,α越大,要求的Δt越大,适合高速移动场景下的预测。
进一步,所述基于分簇和增强学习的混合路由方法设置节点通信空闲度阈值CIthreshold和链路连通可靠度阈值CRthreshold,定义如下:
其中δ和γ为系数,根据网络场景自行设置;本发明中设δ=0.6,γ=0.6,网络中每个渔船节点检测队列缓存,渔船节点j将计算好的节点通信空闲度CIj以及移动速度和速度方向通过HELLO包发送给邻居节点,邻居节点i通过对自己的移动速度和移动方向以及节点j的移动速度和移动方向进行计算,得到链路连通可靠度CRij;当渔船节点的队列缓存过大,或者两个节点之间可连通时间过短时,会导致数据包丢失,不适合进行数据传输;
对负载过重和连通时间过短的邻居节点采取:当邻居节点j的剩余队列缓存空间CIj小于设置的最小阈值CIthreshold或者当邻居节点j与当前节点i的预测连通时间CRij小于设置的最小阈值CRthreshold时,说明邻居渔船节点j的队列数据包缓存较多或者预测链路连通时间较短,认为邻居渔船节点j的节点通信质量不佳,如果参与到数据包转发,会导致丢包和链路断裂,不适合参与到新的数据包转发工作中;当邻居节点j的剩余队列缓存空间CIj大于设置的最小阈值CIthreshold且预测连通时间CRij大于设置的最小阈值CRthreshold时,认为邻居节点j的通信质量较好,参与数据包转发工作;在选择中继节点时,只在正常参与数据包转发的节点之间选择距离目的节点最近的节点作为下一跳转发节点。
进一步,所述基于分簇和增强学习的混合路由方法当节点需要发送数据包给目的节点时,如果存在相应的路由信息,直接发送数据包,如果没有相应的路由信息,则查找该目的节点是否在邻接表中,根据节点转发策略,在正常参与数据包转发的节点中选择距离目的节点最近的邻居节点进行转发,直到到达目的节点;否则通过路由发现过程建立到目的节点的路由信息;在有路由请求时,成员节点向簇首节点发起数据传输请求,簇首节点的RREQ中,加上源节点的地理位置,源节点所在簇ID,以及Q值表的最大值,进行簇间广播;簇内节点只接收本簇簇首RREQ消息中的Q值表内容,邻簇簇首转发RREQ消息的同时,对自己的Q表进行更新,并把更新后的Q值表最大值替换原RREQ消息中的Q值表的最大值;当目的节点收到RREQ的时候,目的节点首先在宏观上以源节点簇首所在的网格为目的簇,选择到目的簇Q值最大的邻簇作为下一转发网格,然后在微观上在下一转发网格中选择距离源节点地理位置最近的邻居节点进行转发。微观转发时,按照节点转发策略,拥塞节点和预测链路通信时间过短的邻居节点不参与数据包转发工作,在正常参与数据包转发工作的节点中用贪婪选择算法,选择微观上的下一跳。
本发明的另一目的在于提供一种所述基于分簇和增强学习的混合路由方法在海洋通信系统中的应用。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明通过以簇为对象进行Q学习,提高了Q学习的收敛速度和准确性,同时将网络拓扑变化造成的影响限制在局部范围内,渔用自组网中节点的移动性给网络通信带来的影响被减小;通过综合考虑节点的队列缓存情况以及与邻居节点相对运动关系,让队列剩余缓存空间小以及预测链路连通时间短的节点不参与新数据包的转发,使得选择的链路更加稳定,数据包不易丢失;按需路由与基于地理位置的贪婪算法的混合路由,以及通过只在簇首之间传递RREQ包,减少了广播的洪泛,减少了路由开销;通过宏观选择下一转发簇,微观选择最优下一跳转发节点,能有效避免路由空洞的同时,还综合考虑了队列容量和链路质量,使得选出的路径更加适合当前的网络状态,丢包率更小。
本发明提出了簇间的增强学习,在宏观上对整个簇的连通性和密集度进行Q学习,定期广播Q表的最大值;在微观上,簇内节点在选择路由时,先选择连通性好的簇,然后在簇内选择队列负载小和链路连通质量好的节点作为中继节点进行下一跳传输。
本发明相较于文献【Wu C,Kumekawa K,Kato T.Distributed ReinforcementLearning Approach for Vehicular Ad Hoc Networks[J].Ieice Transactions onCommunications,2010,93-B(6):1431-1442】以节点为对象进行Q学习收敛速度过慢的问题,本发明通过以簇为单位加快了Q学习的收敛速度。
本发明相较于文献【Lai W K,Lin M T,Yang Y H.A machine learning systemfor routing decision-making in urban vehicular ad hoc networks[M].Taylor&Francis,Inc.2015】中的MARS虽然提供了低延迟和高分组投递率,但是它利用了有线骨干网,而本发明不需要有线骨干网的支撑,实现起来更加灵活,可扩展性更强。
本发明相较于文献【Li R,Li F,Li X,et al.QGrid:Q-learning based routingprotocol for vehicular ad hocnetworks[C]//PERFORMANCE Computing andCommunications Conference.IEEE,2014:1-8】中QGrid没有考虑在同一网格中的节点之间的链路状况,而且由于网格间的信息是离线统计的,会造成拓扑变化时信息不够准确的问题,本发明不仅在宏观上对簇进行Q学习,微观上也考虑了节点之间的链路状况,同时不断更新簇之间的Q表,使得簇之间的学习结果能更准确地反映网络的动态变化。
本发明相较于文献【Jung W S,Yim J,Ko Y B.QGeo:Q-Learning basedGeographic Ad-Hoc Routing Protocol forUnmanned Robotic Networks[J].IEEECommunications Letters,2017,PP(99):1-1】中的QGeo虽然在QGrid的基础上考虑了链路状况的问题,然而它的在大规模网络中也会存在Q表收敛过慢的情况,本发明则在保证Q表收敛速度的情况下同时考虑微观链路,使得选出的路由更优。
本发明相较于文献【郑家瑜,VANET中路由算法研究[D],西安电子科技大学,2017】中结合Q学习,在簇首和网关节点间建立路由,导致网络负载不均匀的问题,本发明通过利用源节点的地理位置,结合贪婪选择算法,同时考虑节点的队列负载和链路质量来建立路由,使得网络整体负载更加平衡,网络整体性能更优。
附图说明
图1是本发明实施例提供的基于分簇和增强学习的混合路由方法流程图。
图2是本发明实施例提供的Q学习模型示意图。
图3是本发明实施例提供的数据包投递率示意图。
图4是本发明实施例提供的时延示意图。
图5是本发明实施例提供的归一化路由开销示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于分簇和增强学习的混合路由方法、海洋通信系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的基于分簇和增强学习的混合路由方法包括以下步骤:
S101:当源节点需要发送数据包给目的节点时,首先判断是否存在路由信息,若存在则开始传输数据;若不存在,则查找该节点是否在邻接表中,若在,根据本发明中的节点转发策略,在正常参与数据包转发的节点中选择距离目的节点最近的邻居节点进行转发,直到到达目的节点;否则判断自身节点角色,如果是簇成员节点,启动路由发现过程,先发送数据请求包给簇首,然后转到步骤S102;若是簇头节点,直接转到步骤S102;
S102:簇首产生RREQ,并将源节点的地理位置,源节点所在簇ID和Q表最大值一并添加到RREQ中,广播RREQ,转到步骤S103;
S103:中间节点收到RREQ,若当前节点为普通节点且收到的RREQ为本簇的RREQ,则本地存储RREQ中的Q表最大值;若当前节点为普通节点且收到的RREQ为邻簇的RREQ,则直接丢弃;若当前节点为簇首,则解析RREQ包并对Q值进行更新,并将更新后的Q表最大值写入RREQ,并广播RREQ,转到步骤S104;
S104:如果目的节点收到RREQ,产生RREP,选择到源节点所在簇Q值最大的簇作为下一跳转发簇,且在该下一跳转发簇内选择CIj>CIthreshold&&CRij>CRthreshold且到源节点距离最近的邻居节点作为下一跳节点,转到步骤五;否则转到步骤S103;
S105:中间节点收到RREP,选择到源节点所在簇Q值最大的簇作为下一跳转发簇,且在该簇内选择CIj>CIthreshold&&CRij>CRthreshold且到源节点距离最近的邻居节点作为下一跳节点,并建立正向路由;
S106:若源节点收到RREP,路由建立完成,开始传输数据;否则转到步骤S105。
下面结合附图对本发明的技术方案作进一步的描述。
本发明里实施的丢包率:为在一定时间内目的节点未成功接收的数据总量占该时间内源节点发送的数据总量的比例。平均端到端时延:为数据分组从源节点发送到目的节点接收所需的平均时间。吞吐量:为单位时间内网络中成功传输的数据总量。强化学习:为根据环境状态到行为映射的不断学习,从而使系统的行为作用在环境中所获得的累积奖赏值最大的过程。Q学习:为当前使用最为广泛的一种强化学习方法,该方法能够实现在线学习寻优,具有降低迭代过程中的计算复杂程度的优势。该方法通过试错的方式,选择使Q值最大的动作为最优动作,从而实现回报函数r为最大的目的,进而获得最优选择策略。Adhoc:即无线移动自组织网络。拓扑动态变化的AdHoc网络,具有无中心、自组织,在不依赖于固定网络设备情况下便可快速搭建等特点,而且数据分组可以多跳传输。MAC:即介质访问控制,它定义了数据帧怎样在介质上进行传输。路由协议:为规定数据从源节点到达目的节点的传输的规则。GPSR:即无线网络的贪婪周边无状态路由协议,它是一种利用路由节点和数据包的目的节点的位置来制定数据包转发策略的方法。归一化路由开销(NRL):通常定义为传输的路由数据包总数与传输成功的数据包总数之比。
本发明提出的QCGP在做出路由决策时考虑了宏观和微观两个方面。宏观方面基于在线学习簇整体的Q值确定最佳下一跳网格,微观方面局部确定最佳网格中的特定节点,以选择下一跳节点。本算法结合AODV算法按需路由的思想以及GPSR的贪婪原则实现路由发现过程,当节点需要发送数据包给目的节点时,如果存在相应的路由信息,直接发送数据包,如果没有相应的路由信息,则查找该目的节点是否在邻接表中,根据相应的节点转发策略进行转发,直到到达目的节点;否则通过路由发现过程结合Q学习建立到目的节点的路由信息。
(1)QCGP中的分簇和时帧设计,通过地理位置分簇,并进行时隙划分,来减少邻居节点发现时的碰撞,以改进邻居节点发现过程的性能。本发明所提出的QCGP混合协议采用TDMA机制,即将时间周期性地划分为一个个时间片,一个时间片为2s,在每个时间片中,又分成邻居发现时段和数传时段。在邻居节点发现阶段,普通节点之间先进行HELLO消息广播,随后进行簇首竞选,距离簇中心最近的节点成为簇首。本发明在数据传输阶段先进行簇首的QHELLO包广播和RREQ包的处理,随后进行数据传输;邻居簇首间通过降低速率的方式实现簇首2倍于普通节点通信距离的方式,使得邻居簇首间直接通信可达,本发明中本簇节点不对来自本簇和邻簇之外的簇首发来的QHELLO包和RREQ包进行处理。
(2)QCGP算法中的Q学习建模,Q学习算法是强化学习算法的一种,所谓强化学习是根据环境状态到行为映射的不断学习,从而使系统的行为作用在环境中所获得的累积奖赏值最大。图2中是其工作的基本模型,Agent智能体感知环境现在的状态并作出相应的动作,环境状态在相应的动作下转变为下一个新的状态,在进入新状态的同时评价该动作的准确性,Agent收到准确性回报信息(Reward)后记录并进行Q评估值的更新。为了使后续的动作能一直有最大的累计回报,Agent必须从这个延迟非直接的回报中不断学习。
本发明是一种基于环境反馈的自适应机器学习方法,通过试错(trial-and-error)的方法发现最优行为策略。强化学习系统根据内部的工作机制对收到的环境状态s做出相应的行为,然后系统输出相应的行为动作a。而环境在系统动作a的作用下,变迁到新的状态s′,同时得到环境对于系统的瞬时奖惩反馈r。Q学习系统的主要目标是系统选择的动作从环境中获得的环境奖赏值累计最大这样一个策略动作,即π:S→A。其中Q值得更新公式(1)所示:
系统要最大化(1)式,其中α表示学习率,γ为折扣因子,ri是回报函数。系统产生该动作的趋势主要决定于环境的奖赏值,即回报函数,如果为正的奖赏值则趋势会越来越强,如果为负的奖赏值则趋势会越来越弱。对于渔用自组网,当数据包在网络中传输时,在数据包到达目的节点之前,无法确定奖励。因此,不可能使用基于模型的方法。因此,本发明使用Q学习,它能够比较可用行动的预期效用,而不需要环境模型。本发明通过总结现有的Q学习路由的优缺点,提出了基于基于分簇和增强学习的混合路由算法。
在QCGP中,本发明将地理区域划分成大小一致的正六边形,称为簇。每个渔船本地存储簇首发送的Q表。QCGP路由由两部分组成,从宏观角度确定最佳下一跳簇,从微观角度识别所选网格中的特定渔船。本发明将不同的簇定义为一个状态,减少学习状态的数量,提高Q学习的收敛速度。整个渔用自组织网络就是环境。每个簇首维护一个由Q值Q(d,x)组成的Q表,Q值的范围从0到1,其中d是以d为簇首的目的簇,x是到达目的簇的下一跳簇首x所在簇。本发明使用一个动态的查询表,这样一个簇首节点的查询表的大小由目标簇和邻居簇的数量决定。q表和学习任务分布在不同的簇(状态)中。在QCGP中,当簇首节点接收到QHELLO消息时,可以通过更新Q值实现探测。因此,当选择下一跳时,本发明让簇首贪婪地行动,在每种情况下,获取具有最高Q值的行动。如果数据包能够通过动作到达目的节点,奖励R将为1,否则R将为0。更具体地说,当一个簇首从目的簇首接收到QHELLO时且本簇内节点与邻簇内节点可以通信上,奖励R将为1,否则R将为0。回报函数R的定义如下,其中s∈Nd代表着簇首节点s所代表的簇在目的簇首d的邻簇:
其中,折扣系数γ是一个动态参数,取决于簇内的节点数量。很容易理解,因为当渔船节点足够密集,这样邻居节点较多,更不容易出现路由空洞,另一方面当渔船节点较密集时,渔船节点运动时的相互制约较严重,相对的移动速度较小,因此通信链路相对稳定,不易出现邻居节点迅速切入或切出。本发明使用动态折扣系数,它主要取决于跳数和簇内节点密度。信息通过节点转发会使得Q值打相应地折扣,簇内节点密度也会让Q值打相应地折扣。这样,本发明可以保证选出来的路由是更短且更可靠的。本发明使用分段函数来描述折扣因子的变化。让num(si)表示以si为簇首的簇内节点的个数。QCGP的折扣系数与簇内节点个数有关。因此,不同的簇具有不同的γ值。让其中n=Scene_size/cluster_size,SUM为网络场景中的节点总数,n为网络中簇的平均个数,Scene_size为网络场景的大小,cluster_size为单个蜂窝的大小。γ的定义如下:
根据簇内不同的节点密度,该公式将γ值映射到0.2到0.9的范围内。一方面,本发明希望更好地区分不同的网格(即,当0≤≤1时),另一方面,本发明不希望从相邻网格获得的q值太大(即,当=1时),这意味着q值受到相邻网格的最大q值的严重影响。同时,本发明不希望q值太小(即,当=0时),这意味着相邻网格的q值对当前网格的q值计算没有影响。因此,本发明权衡一下,让∈[0.2,0.9]。设置为0.6,因为如果网格中的渔船节点数量等于所有网格的平均渔船节点数量,本发明希望的值为0.6。使用折扣系数来反映其他网格中不同渔船密度的影响。
在QCGP路由中,每个簇首都使用QHELLO消息与其邻居簇首交换链接信息。该链接信息包括Q表(最大Q值)的一部分,簇内节点的IP地址和地理位置和γ值。在本发明中,本发明定义Qs(d,x)代表着簇首s所在的簇,通过邻簇簇首x所在的簇,到目的簇簇首d所在的簇的Q值。当QHELLO定时器到期时,每个簇首节点首先查询Q表得到一个数组(MaxQValues),该数组包含网络中每个目的簇的最大Q值。然后簇首节点根据公式(3)计算γ值。然后,每个簇首节点将MaxQValues,簇内节点(包括自己)的IP地址和地理位置和本簇的γ值附加到QHELLO消息中。
本发明假设在通信开始时,簇首节点对网络的其他部分一无所知。这意味着Q表的所有元素(Q值)都被初始化为0。Qs(d,x)是簇首节点s估计为通过邻居簇x内的节点向目的簇簇首d内的节点传送分组的实际可能性的值。该估计代表整个网络的宏观性能,因为它以整个簇的密度为度量值。当从邻居簇首x接收到QHELLO分组时,簇首x根据收到的邻簇内节点地理位置与本簇内节点的地理位置自行计算两个簇内的节点有没有连接来得到奖励值R,根据Q表中的max值和γ值一起按照下式对Q值进行更新:
其中y∈Nx代表着簇首节点y所在的簇在簇首x的邻簇,R为回报函数。定义簇i的Q值表的最大Q值集合为其中d1,d2,...,dn表示目的簇,yi,yj,...,yk表示簇首i所在簇的邻接簇,表示Q值表中以邻接簇yk为到目的簇dn下一转发簇对应的Q值。实际上即MaxQValuesi的一个元素,MaxQValuesi数组由QHELLO发送方节点计算并与其QHELLO消息一起发送。QHELLO发送方节点不需要发送整个查询表,因此可以最小化QHELLO开销。Q学习中为了解决可能会陷入局部最优解的问题,需要随机选择其他动作来进行尝试去寻找全局最优解,过程称为探索。同样,为了解决此问题,本发明中由于每个簇首节点在收到邻居簇首节点的QHELLO消息后都会更新自己的Q表,而且QHELLO消息的更新是周期性的,这个过程就相当于在做探索。所以直接选择Q值最大的动作即为全局最优解。本发明中算法满足收敛的所有条件。一个簇相当于一个状态,每个簇都在使用QHELLO消息对其所有邻居进行采样,而且动作值(Q值)也是离散的。因此,本发明可以证明本发明提出的算法收敛到了最优值。由于簇首进行QHELLO包广播时,通过降低通信速率换取了两倍的通信范围,簇内的节点不仅能收到本簇簇首的QHELLO包,还能收到邻簇簇首的QHELLO包。当收到本簇簇首的QHELLO包之后,保留MaxQValues数组,该数组包含到网络中每个目的簇的最大Q值,同时,将QHELLO包中不是自己的邻居节点,但是在同一个簇内的其他节点的IP地址和地理位置存储下来,放在邻接表中。当收到邻簇簇首的QHELLO包之后,将包中的节点的IP地址和地理位置也存储下来,放在邻接表中。这样,每个节点在本地存储了簇内所有节点以及邻簇所有节点的IP地址和地理位置,当有数传请求时,如果目的节点是本簇节点或者邻簇节点,则在正常参与数据包传输的邻居节点中结合贪婪转发原则直接对数据包进行转发。
在QCGP中,节点不需要维护路由表,它们仅根据本地存储的Q值表传输消息,即当前节点选择具有最大Q值的下一跳网格作为目标网格,并使用节点选择策略在目标网格中选择一个节点作为中继节点。Q值表中包含对应于不同目标网格的最佳下一跳网格。由于QCGP中的折扣因子与密度有关,因此QCGP可以看作是基于密度的路由算法。但是QCGP与传统的基于密度的路由算法的区别在于,QCGP在做出路由决策时考虑了宏观。
和微观两个方面。宏观方面基于在线学习簇整体的Q值确定最佳下一跳网格,微观方面局部确定最佳网格中的特定节点,以选择下一跳节点。关于下一跳节点的选择,本发明采用贪婪选择算法,并综合考虑节点通信空闲度和链路通信可靠度对节点的通信质量进行评估。令通信剩余缓存空间小或链路连通时间短的节点不参与新的路由包的数据转发,在正常参与数据包传输的节点中选择距离目的节点最近的节点作为下一跳节点参与数据包转发。
(3)QCGP算法中的节点通信质量预测
在邻居节点发现阶段,普通节点的HELLO包中包含有节点的IP,地理位置,节点通信空闲度CIi,运动速度和速度方向,收到HELLO包的节点通过这些信息来评估邻居节点的通信可靠度,对邻居节点是否参与新的数据包转发进行标记,来提高链路的可靠性。
(i)节点通信空闲度(Node communication idleness)
为了减少消息的丢失,在路由选择过程中,需要考虑节点的通信空闲度情况。当候选节点承担的通信业务过多,剩余的缓存空间太小,会造成消息丢失问题,使得网络传输性能下降。为了解决这个问题,定义“通信空闲度”的概念,表示节点剩余的缓存大小占总缓存的比率。节点通信空闲度公式如下:
其中,CIi表示节点i的缓存空闲比,Bufferi表示节点i的缓存总大小,Mj表示第j个消息的大小,k表示节点i的缓存中存储了k个消息。节点的CIi越大,表明可接收的消息越多,消息丢失的概率越小。
(ii)链路连通可靠度(Communication reliability)
在渔用自组网中,所有的渔船都可以通过装备的GPS和传感器等设备获取位置和速度等信息,利用这些信息可以对渔船节点间的链路连通可靠度预测。现假定在场景中,在t时刻,渔船节点i的坐标为(xi(t),yi(t)),速度为vi(t),速度方向为αi,αi为速度与x轴的夹角。其邻居渔船节点j的坐标(xj(t),yj(t)),速度为vj(t),速度方向为αj。Dij(t)为在t时刻,渔船节点i和其邻居渔船节点j之间的距离,Dij(t)满足如下关系:
假设渔船节点i和其邻居渔船节点j在经过时间Δt后到达通信临界点,Dij(t)满足如下关系:
Dij(t+Δt)=R (7)
此时渔船节点i的坐标为(xi(t+Δt),yi(t+Δt)),渔船节点j的坐标为(xj(t+Δt),yj(t+Δt))。假定渔船节点i和其邻居渔船节点j的位置在x轴方向上和y轴方向上的差值分别为Δx和Δy,速度在x轴方向上和y轴方向上的差值分别是Δvx和Δvy。则有下列式子:
联合(6)(7)(8)式,经过计算可以预测出渔船节点间的连通临界时间Δt:
假设渔船节点i和其邻居渔船节点j保持同方向行驶,速度大小相等且保持不变,渔船间距小于或等于R,此时得到的Δt为无穷大,而渔船间的通信一般可以在短时间内快速完成。链路连通可靠度CRij定义如下:
其中treceived为接收到邻居节点HELLO包的时刻,tnow为当前时刻,当tnow-treceived的差值大于渔船节点的连通临界时间Δt,说明该邻居节点已经不在本节点的通信范围之内了,通信可靠度设为0,当tnow-treceived的差值小于渔船节点的连通临界时间Δt时,以来度量节点通信可靠度CRij,α为大于或等于1的参数,α值越大,对Δt要求越严格,即相同CRij值,α越大,要求的Δt越大,适合高速移动场景下的预测。本发明中,设α为2。CRij值越大,说明邻居渔船节点j在渔船节点i的通信范围内的时间越长,则节点通信可靠度越好。
本发明为综合考虑数据包转发时节点的拥塞程度和运动状态,在本算法中定义了节点通信质量。当节点通信空闲度和链路连通可靠度在一定的阈值下,认为该节点的通信质量不佳,不适合参与数据包的转发,为此,本发明设置节点通信空闲度阈值CIthreshold和链路连通可靠度阈值CRthreshold,其定义如下:
其中δ和γ为系数,可根据网络场景自行设置。本发明中设δ=0.6,γ=0.6。网络中每个渔船节点检测队列缓存,渔船节点j将计算好的节点通信空闲度CIj以及移动速度和速度方向通过HELLO包发送给邻居节点,邻居节点i通过对自己的移动速度和移动方向以及节点j的移动速度和移动方向进行计算,得到链路连通可靠度CRij。当渔船节点的队列缓存过大,或者两个节点之间可连通时间过短时,都会导致数据包丢失。为避免这种现象,本发明对负载过重和连通时间过短的邻居节点采取下表所示的措施:
表1节点通信质量应对措施
当邻居节点j的剩余队列缓存空间CIj小于设置的最小阈值CIthreshold或者当邻居节点j与当前节点i的预测连通时间CRij小于设置的最小阈值CRthreshold时,说明邻居渔船节点j的队列数据包缓存较多或者预测链路连通时间较短,认为邻居渔船节点j的节点通信质量不佳,如果参与到数据包转发,会导致丢包和链路断裂,不适合参与到新的数据包转发工作中。当邻居节点j的剩余队列缓存空间CIj大于设置的最小阈值CIthreshold且预测连通时间CRij大于设置的最小阈值CRthreshold时,认为邻居节点j的通信质量较好,适合参与数据包转发工作。在选择中继节点时,只在正常参与数据包转发的节点之间选择距离目的节点最近的节点作为下一跳转发节点,这样可以保证建立的路由链路更稳定,数据包更不容易丢失,减轻了网络的负载的也同时提高了链路的可靠性。
(4)QCGP算法的路由发现过程
本发明结合AODV算法按需路由的思想以及GPSR的贪婪原则实现路由发现过程,当节点需要发送数据包给目的节点时,如果存在相应的路由信息,直接发送数据包,如果没有相应的路由信息,则查找该目的节点是否在邻接表中,根据(3)中的节点转发策略,在正常参与数据包转发的节点中选择距离目的节点最近的邻居节点进行转发,直到到达目的节点;否则通过路由发现过程建立到目的节点的路由信息。在有路由请求时,成员节点向簇首节点发起请求,簇首节点的RREQ中,加上源节点的地理位置,源节点所在簇ID,以及Q值表的最大值,进行簇间广播。簇内节点只接收本簇簇首RREQ消息中的Q值表内容,邻簇簇首转发RREQ消息的同时,对自己的Q表进行更新,并把更新后的Q值表最大值替换原RREQ消息中的Q值表的最大值。当目的节点收到RREQ的时候,目的节点在自己的邻居节点中,在宏观上选择以源节点簇首所在的网格为目的簇,到目的簇Q值最大的邻簇作为下一转发网格,在微观上在下一转发网格中选择距离源节点地理位置最近的节点进行转发。微观转发时,为了保证链路通信质量,按照本发明中的节点转发策略,拥塞节点和预测链路通信时间过短的邻居节点不参与数据包转发工作,在正常参与数据包转发工作的节点中用贪婪选择算法,来选择微观上的下一跳。
下面结合具体实验效果及仿真对本发明作进一步描述。
为了能够更加清晰的评价本文提出的QCGP协议的整体性能,在仿真中将使用丢包率,平均端到端时延、归一化路由开销三个性能指标对HCPT协议进行性能评价。在仿真中分别对比了QLAODV、AODV路由协议在MAC层使用IEEE802.11协议下的网络性能。
考虑实际某宽带渔用通信系统,通信速率100Mbps,通信半径25Km,为了能够和现有论文结果进行对比,将真实的参数缩小100倍,得到本次模拟场景如下:40个节点随机分布在大小为500*500的范围内,单跳最大无线传输距离为r=250m,载波侦听范围cr=550m,信道带宽B=1Mbps,并设置用于蜂窝分簇的边长为R=166.7m。网络中的最小时隙间隔为20us,在QCGP协议中一个时间周期为2s,其中前0.06秒为邻居节点发现时隙。总仿真时间为100s,应用恒定比特率(CBR)源,每100毫秒发送长度为512字节的数据包,未列出的参数被设置为NS-2中的默认值。
由图3、图4和图5可知,QCGP协议与QLAODV、AODV协议相比,有更大的数据包投递率,更小的端到端时延和归一化路由开销,能更高效地传输数据。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种基于分簇和增强学习的混合路由方法,其特征在于,所述基于分簇和增强学习的混合路由方法包括:
步骤一,源节点需要发送数据包给目的节点时,首先判断是否存在路由信息,若存在则开始传输数据;若不存在,则查找该节点是否在邻接表中,若在,根据节点转发策略,在正常参与数据包转发的节点中选择距离目的节点最近的邻居节点进行转发,直到到达目的节点;否则判断自身节点角色,如果是簇成员节点,启动路由发现过程,先发送数据请求包给簇首,然后转到步骤二;若是簇头节点,直接转到步骤二;
步骤二,簇首产生RREQ,并将源节点的地理位置,源节点所在簇ID和Q表最大值一并添加到RREQ中,广播RREQ,转到步骤三;
步骤三,中间节点收到RREQ,若当前节点为普通节点且收到的RREQ为本簇的RREQ,则本地存储RREQ中的Q表最大值;若当前节点为普通节点且收到的RREQ为邻簇的RREQ,则直接丢弃;若当前节点为簇首,则解析RREQ包并根据公式对Q值进行更新,并将更新后的Q表最大值写入RREQ,并广播RREQ,转到步骤四;
强化学习系统根据内部的工作机制对收到的环境状态s做出相应的行为,系统输出相应的行为动作a,而环境在系统动作a的作用下,变迁到新的状态s′,同时得到环境对于系统的瞬时奖惩反馈r;Q学习系统是系统选择的动作从环境中获得的环境奖赏值累计最大策略动作,即π:s→a,其中Q值得更新公式:
其中α表示学习率,γ为折扣因子,ri是回报函数;系统产生该动作的趋势决定于环境的奖赏值,即回报函数,如果为正的奖赏值则趋势会越来越强,如果为负的奖赏值则趋势会越来越弱;定义簇i的Q值表的最大Q值集合为其中d1,d2,...,dn表示目的簇,yi,yj,...,yk表示簇首i所在簇及邻接簇,表示以yk为簇首的所在簇为下一跳簇,达到以dn为簇首的目的簇所对应的Q值;即MaxQValuesi的一个元素,MaxQValuesi数组由RREQ发送方节点计算并与其RREQ消息一起发送;
步骤四,如果目的节点收到RREQ,产生RREP,选择到源节点所在簇Q值最大的簇作为下一跳转发簇,且在该下一跳转发簇内选择CIj>CIthreshold&&CRij>CRthreshold且到源节点距离最近的邻居节点作为下一跳节点,转到步骤五;否则转到步骤三,其中节点通信空闲度阈值CIthreshold和链路连通可靠度阈值CRthreshold,CRij表示链路连通可靠度;
步骤五,中间节点收到RREP,选择到源节点所在簇Q值最大的簇作为下一跳转发簇,且在该簇内选择CIj>CIthreshold&&CRij>CRthreshold且到源节点距离最近的邻居节点作为下一跳节点,并建立正向路由;
步骤六,若源节点收到RREP,路由建立完成,开始传输数据;否则转到步骤五。
2.如权利要求1所述的基于分簇和增强学习的混合路由方法,其特征在于,所述基于分簇和增强学习的混合路由方法中采用TDMA机制,将时间周期性地划分为一个个时间片,一个时间片为2s,在每个时间片中,又分成邻居发现时段和数据传输时段;在邻居节点发现阶段,普通节点之间先进行HELLO消息广播,随后进行簇首竞选,距离簇中心最近的节点成为簇首;在数据传输阶段先进行簇首的QHELLO包广播,随后进行数据传输;邻居簇首间通过降低信息速率的方式实现簇首2倍于普通节点通信距离的方式,使得邻居簇首间直接通信可达,本簇节点不对来自本簇和邻簇之外的簇首发来的QHELLO包和RREQ包进行处理。
3.如权利要求1所述的基于分簇和增强学习的混合路由方法,其特征在于,将地理区域划分成大小一致的正六边形,称为簇;每个渔船本地存储簇首发送的Q表,QCGP路由由两部分组成,从宏观角度确定最佳下一跳簇,从微观角度识别所选网格中的特定渔船;每个簇首维护一个由Q值Q(d,x)组成的Q表,Q值的范围从0到1,其中d是以d为簇首的目的簇,x是到达目的簇的下一跳簇首x所在簇;使用一个动态的查询表,一个簇首节点的查询表的大小由目标簇和邻居簇的数量决定;Q表和学习任务分布在不同的簇中;在QCGP中,当簇首节点接收到QHELLO消息时,通过更新Q值实现探测,当选择下一跳时,让簇首贪婪地行动,在每种情况下,获取具有最高Q值的行动;如果数据包能够通过动作到达目的节点,奖励R将为1,否则R将为0,当一个簇首从目的簇首接收到QHELLO时且本簇内节点与邻簇内节点可以通信,奖励R将为1,否则R将为0,回报函数R的定义如下,其中s∈Nd代表着簇首节点s所在的簇是目的簇首d所在的簇的相邻簇:
其中,折扣因子γ是一个动态参数,取决于簇内的节点数量;使用动态折扣因子,它取决于跳数和簇内节点密度,信息通过节点转发会使得Q值打相应地折扣,簇内节点密度让Q值打相应地折扣;使用分段函数来描述折扣因子的变化;让num(si)表示以si为簇首的簇内节点的个数,QCGP的折扣系数与簇内节点个数有关,不同的簇具有不同的γ值,让其中n=Scene_size/cluster_size,SUM为网络场景中的节点总数,n为网络中簇的平均个数,Scene_size为网络场景的大小,cluster_size为单个蜂窝的大小,γ的定义如下:
根据簇内不同的节点密度,公式将γ值映射到0.2到0.9的范围内;γ∈[0.2,0.9],当网格中的渔船节点数量等于所有网格的平均渔船节点数量,γ取0.6。
4.如权利要求1所述的基于分簇和增强学习的混合路由方法,其特征在于,每个簇首使用QHELLO消息与其邻居簇首交换链接信息,该链接信息包括Q表的一部分,簇内节点的IP地址和地理位置和γ值;Qs(d,x)代表着簇首s所在的簇,通过邻簇簇首x所在的簇,到目的簇簇首d所在的簇的Q值;当QHELLO定时器到期时,每个簇首节点首先查询Q表得到一个数组,该数组包含网络中每个目的簇的最大Q值;然后簇首节点根据公式计算γ值,每个簇首节点将MaxQValues,簇内节点的IP地址和地理位置和本簇的γ值附加到QHELLO消息中;在通信开始时,Q表的所有元素都被初始化为0,当从邻簇簇首x接收到QHELLO分组时,簇首根据收到的邻簇内节点地理位置与本簇内节点的地理位置自行计算两个簇内的节点奖励值R,根据Q表中的max值和γ值对Q值进行更新;
节点不需要维护路由表,本地存储的Q值表中包含对应于不同目标网格的最佳下一跳网格,根据Q值表传输消息,即当前节点选择具有最大Q值的下一跳网格作为目标网格,并使用节点选择策略在目标网格中选择一个节点作为中继节点。
5.如权利要求1所述的基于分簇和增强学习的混合路由方法,其特征在于,在邻居节点发现阶段预测节点通信质量,普通节点的HELLO包中包含有节点的IP,地理位置,节点通信空闲度CIi,运动速度和速度方向,收到HELLO包的节点通过这些信息评估邻居节点的通信质量,对邻居节点是否参与新的数据包转发进行标记;
(1)节点通信空闲度公式:
其中,CIi表示节点i的通信空闲度,Bufferi表示节点i的缓存总大小,Mj表示第j个消息的大小,k表示节点i的缓存中存储了k个消息;节点的CIi越大,表明可接收的消息越多,消息丢失的概率越小;
(2)链路连通可靠度,在t时刻,渔船节点i的坐标为(xi(t),yi(t)),速度为vi(t),速度方向为αi,αi为速度与x轴的夹角;邻居渔船节点j的坐标(xj(t),yj(t)),速度为vj(t),速度方向为αj,Dij(t)为在t时刻,渔船节点i和其邻居渔船节点j之间的距离,Dij(t)满足如下关系:
渔船节点i和其邻居渔船节点j在经过时间Δt后到达通信临界点,Dij(t)满足如下关系:
此时渔船节点i的坐标为(xi(t+Δt),yi(t+Δt)),渔船节点j的坐标为(xj(t+Δt),yj(t+Δt)),渔船节点i和其邻居渔船节点j的位置在x轴方向上和y轴方向上的差值分别为Δx和Δy,速度在x轴方向上和y轴方向上的差值分别是Δvx和Δvy,则有下列式子:
Δx=xi(t)-xj(t)
Δy=yi(t)-yj(t)
Δvx=vi(t)cos(αi)-vj(t)cos(αj)
Δvy=vi(t)sin(αi)-vj(t)sin(αj)
预测出渔船节点间的连通临界时间Δt:
当渔船节点i和其邻居渔船节点j保持同方向行驶,速度大小相等且保持不变时,渔船间距小于或等于Lc,此时得到的Δt为无穷大,链路连通可靠度CRij定义如下:
6.如权利要求5所述的基于分簇和增强学习的混合路由方法,其特征在于,所述基于分簇和增强学习的混合路由方法设置节点通信空闲度阈值CIthreshold和链路连通可靠度阈值CRthreshold,根据网络场景自行设置;设CIthreshold=0.6,CRthreshold=0.6,网络中每个渔船节点检测队列缓存,渔船节点j将计算好的节点通信空闲度CIj以及移动速度和速度方向通过HELLO包发送给邻居节点,邻居节点i通过对自己的移动速度和移动方向以及节点j的移动速度和移动方向进行计算,得到链路连通可靠度CRij;
当邻居节点j的剩余队列缓存空间CIj小于设置的阈值CIthreshold或者当邻居节点j与当前节点i的预测连通时间CRij小于设置的阈值CRthreshold时,不参与到新的数据包转发工作中;当邻居节点j的剩余队列缓存空间CIj大于设置的阈值CIthreshold且预测连通时间CRij大于设置的阈值CRthreshold时,参与数据包转发工作;在选择中继节点时,只在正常参与数据包转发的节点中选择距离目的节点最近的节点作为下一跳转发节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010178384.1A CN111510956B (zh) | 2020-03-14 | 2020-03-14 | 一种基于分簇和增强学习的混合路由方法、海洋通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010178384.1A CN111510956B (zh) | 2020-03-14 | 2020-03-14 | 一种基于分簇和增强学习的混合路由方法、海洋通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510956A CN111510956A (zh) | 2020-08-07 |
CN111510956B true CN111510956B (zh) | 2023-07-07 |
Family
ID=71863871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010178384.1A Active CN111510956B (zh) | 2020-03-14 | 2020-03-14 | 一种基于分簇和增强学习的混合路由方法、海洋通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111510956B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202848B (zh) * | 2020-09-15 | 2021-11-30 | 中国科学院计算技术研究所 | 基于深度强化学习的无人系统网络自适应路由方法和系统 |
CN112383947B (zh) * | 2020-11-16 | 2022-07-22 | 电子科技大学 | 基于网络环境的无线自组网混合式路由协议方法 |
CN112637861A (zh) * | 2020-12-22 | 2021-04-09 | 北京理工大学 | 一种高效减少路由碰撞的组网协议 |
CN112822752B (zh) * | 2021-01-07 | 2022-10-25 | 西安电子科技大学 | 一种无人机自组织网络的路由建立方法及系统 |
CN113613307B (zh) * | 2021-07-15 | 2023-08-04 | 天津(滨海)人工智能军民融合创新中心 | 一种基于局部主动路由辅助的按需路由方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103781148A (zh) * | 2014-02-25 | 2014-05-07 | 重庆邮电大学 | 车载自组织网络中基于链路感知的稳定成簇路由方法 |
CN104640168A (zh) * | 2014-12-04 | 2015-05-20 | 北京理工大学 | 基于q学习的车载自组织网络路由方法 |
CN105828287A (zh) * | 2016-03-11 | 2016-08-03 | 南京航空航天大学 | 一种基于强化学习的无线传感器网络协同跟踪方法 |
CN110049530A (zh) * | 2019-05-24 | 2019-07-23 | 西安电子科技大学 | 车载自组织网络中基于q学习和信任模型的路由方法 |
-
2020
- 2020-03-14 CN CN202010178384.1A patent/CN111510956B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103781148A (zh) * | 2014-02-25 | 2014-05-07 | 重庆邮电大学 | 车载自组织网络中基于链路感知的稳定成簇路由方法 |
CN104640168A (zh) * | 2014-12-04 | 2015-05-20 | 北京理工大学 | 基于q学习的车载自组织网络路由方法 |
CN105828287A (zh) * | 2016-03-11 | 2016-08-03 | 南京航空航天大学 | 一种基于强化学习的无线传感器网络协同跟踪方法 |
CN110049530A (zh) * | 2019-05-24 | 2019-07-23 | 西安电子科技大学 | 车载自组织网络中基于q学习和信任模型的路由方法 |
Non-Patent Citations (1)
Title |
---|
Yifan Qiu et al.."Cluster and Time Slot Based Cross-Layer Protocol for Ad Hoc Network".《EAI International Conference on and Networking in China(ChinaCom 2019)》.2020,368-384. * |
Also Published As
Publication number | Publication date |
---|---|
CN111510956A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111510956B (zh) | 一种基于分簇和增强学习的混合路由方法、海洋通信系统 | |
Sarkar et al. | Enhanced-Ant-AODV for optimal route selection in mobile ad-hoc network | |
CN111741448B (zh) | 一种基于边缘计算策略的分簇aodv路由方法 | |
CN108684063B (zh) | 一种基于网络拓扑变化的按需路由协议改进方法 | |
CN114339936A (zh) | 基于q学习的飞行器自组织网络优化链路状态路由机制 | |
CN114641049A (zh) | 一种基于模糊逻辑的无人机自组网分层路由方法 | |
Zhang et al. | V2V routing in VANET based on fuzzy logic and reinforcement learning | |
Hussain et al. | Performance evaluation of vertical handover in Internet of Vehicles | |
CN117793844A (zh) | 一种基于模糊逻辑的地理位置路由方法 | |
Smail et al. | Energy-aware and stable cluster-based multipath routing protocol for wireless ad hoc networks | |
Simi et al. | Intelligence in wireless network routing through reinforcement learning | |
Alghamdi et al. | Energy-efficient adaptive forwarding scheme for MANETs | |
Liu et al. | A biologically inspired congestion control routing algorithm for MANETs | |
CN114449608A (zh) | 一种基于Q-Learning的无人机自组网自适应路由方法 | |
Mahesh et al. | SFTD: A SMART forwarding technique based reliable data dissemination scheme for VANETs | |
Bokhari et al. | AMIRA: interference-aware routing using ant colony optimization in wireless mesh networks | |
Sheng et al. | A vehicle distribution prediction based routing protocol in large-scale urban VANET | |
CN115119281B (zh) | 用于卸载5g蜂窝物联网的v2v路由框架的设计方法 | |
Hasnain | A survey on the application of machine learning in ad hoc networks routing | |
Ali et al. | Signal strength based link sensing for mobile ad-hoc networks | |
Shaleena et al. | ENERGY-AWARE CONSISTENT LINK-BASED FUZZY ROUTING PROTOCOL IN FANET | |
Kumar et al. | Energy efficient hybrid AOMDV-SSPSO protocol for improvement of MANET network lifetime | |
Hu et al. | Stability-based RREQ forwarding game for stability-oriented route discovery in MANETs | |
Mohan et al. | Link Stability and Obstacle Avoidance Based Traffic-Aware Reactive Routing Protocol for Mobile Ad-Hoc Networks. | |
Hu | Research on an Improved DSR Protocol Based on the MarKov Model |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240102 Address after: Room 201, 6th Floor, Building A, Qilin Technology Innovation Park, Nanjing, Jiangsu Province, 210000, No. 100 Tianjiao Road, Qilin Technology Innovation Park, Nanjing, Jiangsu Province Patentee after: Nanjing Yining Technology Co.,Ltd. Address before: 116016 No.3, 5th floor, no.33-1 Bayi Road, Xigang District, Dalian City, Liaoning Province Patentee before: DALIAN HAOYANG TECHNOLOGY DEVELOPMENT Co.,Ltd. |
|
TR01 | Transfer of patent right |