一种基于Q学习的车载网MAC协议的实现方法转让专利

申请号 : CN201510777878.0

文献号 : CN105306176B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵海涛杜艾芊刘南杰朱洪波

申请人 : 南京邮电大学

摘要 :

本发明公开了一种基于Q学习的车载网MAC协议的实现方法,方法中车辆节点利用Q学习算法,在VANETs(车载自组织网)环境中通过反复试错与环境不断交互学习,根据VANETs环境给予的反馈信号(即奖赏值),动态地调整竞争窗口(CW),使节点总能以最佳的CW(即从周围环境中获得的奖赏值最大时所选的CW值)接入信道,最终达到减少数据帧碰撞率和传输时延,提高节点接入信道的公平性的目的。

权利要求 :

1.一种基于Q学习的车载网MAC协议的实现方法,其特征在于,所述方法包括如下步骤:

步骤1:在VANETs环境中,当前车辆节点有消息要发送时,将其竞争窗口初始化为CWmin后发送数据;

步骤2:判断数据是否成功发送;

步骤3:若接收节点成功接收到消息,发送节点则获得一个正的奖赏值并更新其Q表,然后判断是否还有数据需要发送;

步骤4:若没有数据需要发送,则流程结束;

步骤5:若还有消息需要发送,则减小当前竞争窗口,即竞争窗口为15时不再减小,继续发送消息,返回执行步骤2;

步骤6:若接收节点没有成功接收到消息,发送节点获得一个负的奖赏值并更新其Q表,然后增加当前竞争窗口,即竞争窗口为1023时不再增加,再次发送数据,返回执行步骤2;

所述VANETs环境中,车辆节点利用Q学习算法在周围环境中通过反复试错与环境不断交互学习,根据VANETs环境给予的反馈信号,在节点退避过程中动态地调整竞争窗口,即CW,使节点总能以最佳的CW,即从周围环境中获得的奖赏值最大时所选的CW值接入信道;

QL-MAC中采用的Q-Learning算法定义包括如下:

整个车载自组织网络即Agent学习的环境,网络中的每个车辆节点即Agent,车辆节点在网络中接入信道时所采用的竞争窗口即Agent学习环境的环境状态,由此车辆节点可能采用的所有竞争窗口集即Agent学习环境的状态空间,由于节点在网络中接入信道的竞争窗口通常为2的指数幂减1,因此竞争窗口集为{15,31,63,127,255,511,1023},竞争窗口初始值CWmin为15,最大值CWmax为1023,每一Agent可执行的动作有:

1)增加(I),2)保持(K),3)减少(R),“增加”即增大竞争窗口,“保持”和“减少”则分别是保持竞争窗口大小不变和减小竞争窗口,节点每执行一个动作后,环境状态就发生状态转移,在网络环境中不断探索学习的过程中,每一节点在状态——动作对之间都维护一个Q表,Q表中包含Q值Q(st,at),Q值的变化范围为-1到1,其中st为当前竞争窗口的大小,at为节点可能执行的动作,每发送完一个MAC帧后,节点根据发送状态从网络环境中获得一个奖赏值,若发送成功,节点得到一个正的奖赏,若发送失败,所述算法中定义MAC层重传次数不超过4,即数据重传4次后,发送节点还是接收不到数据帧对应的ACK消息,则定义此次发送失败,节点则得到一个负的奖赏,丢包主要是由与其他数据包发生碰撞造成的,通过对奖赏值进行评价,节点自适应地调整其竞争窗口大小,总选择执行能使累积奖赏值Q值最大化的最优动作;

2)Q值更新,包括:

Agent与环境不断交互学习过程中,节点接入信道可能执行的动作有:增加(I)、保持(K)、减少(R),状态空间为{15,31,63,127,255,511,1023},当竞争窗口为最小值时,竞争窗口无法继续减少,同样地,当竞争窗口为最大值时,竞争窗口无法继续增加;

VANETs中,节点采用QL-MAC算法发送MAC数据帧过程中,利用状态——动作对的值函数Q(st,at)进行迭代,并利用奖赏作为估计函数来选择下一动作,对Q函数进行优化,通过多步迭代学习逼近最优值函数,节点每发送一次数据帧,就更新一次Q表,更新Q值的表达式即Q学习的迭代公式为:其中α为学习率,是Agent在环境中的学习步长,用于控制学习速度,α值越大,Q值收敛越快,由于MAC数据帧发送较为频繁,0.6足以反映网络拓扑的变化程度,所以本发明设α取值为0.6,γ为折扣因子,γ∈[0,1],它体现了Agent对以后环境所给予奖励的重视程度,取值越大表示越重视以后的奖励,反之,则只在乎眼前的奖励,本发明中取γ为0.9,车辆节点在VANETs中初次接入信道发送数据时,会首先初始化Q(st,at)的值,然后根据探索策略在状态st时选择执行动作at,得到下一状态st+1及其奖赏值R,之后根据奖赏值通过迭代公式公式

1更新Q值,一直循环执行直到实现目标状态或达到限制的迭代次数,其中奖赏值R计算如下:

其中RCW表示选择当前的CW值接入信道成功发送数据所获得的正奖赏,发送失败,奖赏值为-1,若当前状态正在发送数据,奖赏值为0,成功发送数据所选的CW值越小,得到的奖赏值就越大,而网络负载过高时,节点从环境中获得负的奖赏从而增加竞争窗口,这样能使节点充分利用信道资源。

说明书 :

一种基于Q学习的车载网MAC协议的实现方法

技术领域

[0001] 本发明涉及车载自组织网络通信协议中基于Q学习的车载网MAC协议的实现方法,属于物联网技术领域。

背景技术

[0002] 近年来,随着交通运输行业的迅速发展,汽车数量急剧增加。遍布广泛的汽车为人们日常出行带来方便的同时,也出现了安全和交通拥堵等各种问题。上个世纪80年代,美国加利福尼亚大学首次提出了智能交通系统(ITS)的概念,用以提高交通运输效率、缓解交通拥塞、减少交通事故。智能交通系统和无线通信技术高速发展的今天,车联网应运而生,它是继互联网、物联网之后的另一个未来智慧城市的标志。车联网中,道路车辆和路边基础设施都安装有短程无线收发器,具有无线通信功能,所以可形成一个无线网络,即车载自组织网(即VANET),VANET是移动自组织网的子类,没有固定的拓扑结构,车辆可通过V2V(即车与车)通信或V2I(即车与路边基础设施)通信获取信息和服务。VANET通过车—车通信和车—路通信实现人—车—路的协同,有效改善了交通安全,提高了交通效率,为用户提供娱乐和Internet接入服务等。
[0003] IEEE802.11p是由IEEE802.11标准扩充的主要用于车载通信的通信协议。IEEE802.11p针对车载环境对IEEE802.11的物理层和MAC层的相关参数做了些许调整,因而能更适用于车载环境中的无线通信。IEEE802.11p是WAVE(Wireless Access in the Vehicular Environment)协议栈的底层协议,已广泛应用于V2V通信。在任一网络环境中,通信协议栈的重要因素之一就是MAC层,IEEE802.11p MAC协议主要解决的是车辆对信道接入的竞争问题,它决定了某一时刻允许哪一节点接入无线信道。由于节点的高速移动性、通信环境的快速变化性及节点密度和节点分布的多变性等,对VANETs共享无线信道的接入控制极具挑战性。因此,设计高可靠性的MAC协议对VANETs尤为重要。为VANET环境设计MAC协议所面临的挑战主要有:在车辆位置和信道特征不断变化的VANET中,实现既高效又公平的信道接入;对不同密度的交通流具有可扩展性;能满足各种不同的应用需求。
[0004] 现有技术中有一种退避算法——基于邻居节点数估计的最小竞争窗口调整算法,该算法改变了CW的调整规则,并根据网络信道的使用情况动态地调整CWmin,通过估计车载网中的竞争节点数来动态地选择合适的CWmin,若数据传输成功,则根据竞争节点数来确定CWmin;若失败,则通过估计车辆密度来控制竞争窗口的增加,还推导出最大退避阶数、信道由于碰撞被检测为繁忙的平均时间和竞争节点数这三个参数与最优CWmin的函数关系,节点成功发送数据后,根据函数计算出适应车载网络状况的最优的CWmin值。利用文中提出的算法在数据包重传之后选择合理的CW,缩短了竞争节点等待重传的时间,使网络吞吐量增加。现有技术中有基于统计次数的退避算法newBEB和基于相对距离的退避算法RBA。在newBEB算法中设定了一个门限值,即发送节点传输成功和传输失败的最大次数。当节点连续发送成功的次数超过传输成功的最大次数时,就增加竞争窗口值,降低其竞争信道的能力,而当节点连续发送失败的次数超过传输失败的最大次数时,就减少竞争窗口值,增强其竞争信道的能力。通过仿真对比分析,newBEB算法有效提高了节点接入信道的公平性。RBA算法中,每个节点根据自己与邻居节点距离的平均值动态地调整竞争窗口的大小,仿真结果表明RBA算法提高了节点接入信道的公平性,降低了丢包率,在一定程度上提高了网络吞吐量。
现有技术中提出一种CW的控制方法——DBM-ACW方法(基于密度调整CW的方法),该方法根据网络中的交通密度选择CW值,通过数据包的传输状态来估测信道条件,并将估测结果存储在CS(信道状态)矢量中。DBM-ACW中,每发生一次丢帧、碰撞或计数器超时,CW值就扩大一倍;更新CS状态前,CS数组中包含两个连续的1,则CW乘以A,若为两个连续的0,则乘以B;除此之外,每接收一次ACK帧,CW值就重设为CWmin。根据信道拥塞的严重程度,CW值的倍乘系数范围为0.2到2,或重设为CWmin。信道十分拥塞时,CW值的倍乘系数选择上限值,可减少节点选择相同退避数的概率;当信道密度降低时,CW值的倍乘系数选择下限值或重设为CWmin,避免节点在信道占用率较低时等待较长的时间接入信道。经仿真对比分析,其整体性能优于其他协议,尤其是网络密度较大时,性能优势尤为突出。现有技术中提出一种基于距离动态调整CW值的方法,适用于在网络负载较重的车载自组织网中广播实时性紧急消息。文中推导出某节点和前一节点之间的距离d和动态竞争窗口CWd之间的关系,利用这一关系式为不断移动的车辆节点动态地分配不同的CW值,可减少由于碰撞需要重传数据包的次数,此外,还能降低数据包碰撞概率、端到端时延及网络负载等,最终使带宽得到有效利用。仿真结果表明,此方法在高速公路交通流中就吞吐量、端到端时延和网络负载而言,网络性能得到有效改善。
[0005] 但是上述现有技术都是在BEB算法的基础上进行了改进,总的来说,数据发生碰撞要退避时还是倍乘CW值,数据成功发送后CW就恢复为15,若有多个节点都同时成功发送完数据,CW值都恢复为15,再次发送数据时又发生碰撞。网络负载情况考虑较少,不适用于不同负载程度的网络,即对不同密度的交通流不具可扩展性,且信道接入公平性也没有得到有效改善。而本发明能够很好地解决上面的问题。

发明内容

[0006] 本发明针对上述现有技术存在的一些问题,提出了一种基于Q学习的车载网MAC协议的实现方法,该方法是基于Q学习的IEEE 802.11p MAC层数据传输方法——QL-MAC算法,它完全不同于以往传统的BEB算法,而是利用Q学习算法,使节点(Agent)不断地与周围环境交互学习。车辆节点在VANETs环境中不断地反复试错,根据从周围环境中获得的反馈信号(即奖赏值),动态地调整竞争窗口(CW),使节点总能以最佳的CW(即从周围环境中获得奖赏值最大时所选的CW值)接入信道,以减少数据帧碰撞率和传输时延,提高节点接入信道的公平性。
[0007] 本发明解决其技术问题所采取的技术方案是:基于Q学习的车载网MAC协议的实现方法,该方法包括如下步骤:
[0008] 步骤1:在VANETs环境中,当前车辆节点有消息要发送时,将其竞争窗口初始化为CWmin后发送数据;
[0009] 步骤2:判断数据是否成功发送;
[0010] 步骤3:若接收节点成功接收到消息,发送节点则获得一个正的奖赏值并更新其Q表,然后判断是否还有数据需要发送;
[0011] 步骤4:若没有数据需要发送,则流程结束;
[0012] 步骤5:若还有消息需要发送,则减小当前竞争窗口(即竞争窗口为15时不再减小),继续发送消息,返回执行步骤2;
[0013] 步骤6:若接收节点没有成功接收到消息,发送节点获得一个负的奖赏值并更新其Q表,然后增加当前竞争窗口(即竞争窗口为1023时不再增加)再次发送数据,返回执行步骤2。
[0014] 进一步的,本发明所述VANETs环境中,车辆节点利用Q学习算法在周围环境中通过反复试错与环境不断交互学习,根据VANETs环境给予的反馈信号,在节点退避过程中动态地调整竞争窗口(即CW),使节点总能以最佳的CW(即从周围环境中获得的奖赏值最大时所选的CW值)接入信道。
[0015] 有益效果:
[0016] 1、本发明的车辆节点利用Q学习算法与周围环境不断交互,根据网络环境反馈的奖赏信号,动态地调整竞争窗口,使节点下次发送数据时总能以最佳的CW值接入信道,提高了数据成功发送的概率,减少了退避次数,数据包接收率及端到端传输时延问题等都得到有效改善。
[0017] 2、采用本发明提出的QL-MAC算法的通信节点能快速适应未知环境,数据包接收率和数据包传输时延都得到有效改善,更重要的是QL-MAC算法能为节点接入信道提供更高的公平性,适用于各种不同负载程度的网络环境。
[0018] 3、本发明减少了数据帧碰撞率和传输时延,提高了节点接入信道的公平性。

附图说明

[0019] 图1为本发明的Q学习状态转移图。
[0020] 图2为本发明的方法流程图。

具体实施方式

[0021] 下面结合说明书附图对本发明创造作进一步的详细说明。
[0022] QL-MAC算法包括如下内容:
[0023] QL-MAC方法通过动态调整竞争窗口来解决碰撞率和时延的问题,它利用Q-Learning算法学习最佳的竞争窗口,由于邻近节点之间互换信标消息可获得邻居节点的位置信息,所以假设每个节点已知其一跳邻居节点的位置信息,在节点成功发送数据帧后,环境给予节点一个正的奖赏,若发送失败,则给予负的奖赏,在网络负载较低时,使节点利用学习所得的最佳CW选择以较小的CW接入信道避免时延增加,网络负载较高时,则利用较大的CW接入信道减少碰撞。本发明所提出的QL-MAC算法可动态地调整竞争窗口,能以较低的时延发送数据,提高了数据包接受率和竞争效率,减少了信道接入时延。
[0024] QL-MAC中采用的Q-Learning算法定义包括如下:
[0025] 整个车载自组织网络即Agent学习的环境,网络中的每个车辆节点即Agent,车辆节点在网络中接入信道时所采用的竞争窗口即Agent学习环境的环境状态,由此车辆节点可能采用的所有竞争窗口集即Agent学习环境的状态空间。由于节点在网络中接入信道的竞争窗口通常为2的指数幂减1,因此竞争窗口集为{15,31,63,127,255,511,1023},竞争窗口初始值CWmin为15,最大值CWmax为1023。每一Agent可执行的动作有:
[0026] 1)增加(I),2)保持(K),3)减少(R)。“增加”即增大竞争窗口,“保持”和“减少”则分别是保持竞争窗口大小不变和减小竞争窗口。节点每执行一个动作后,环境状态就发生状态转移。在网络环境中不断探索学习的过程中,每一节点在状态——动作对之间都维护一个Q表,Q表中包含Q值Q(st,at),Q值的变化范围为-1到1。其中st为当前竞争窗口的大小,at为节点可能执行的动作。每发送完一个MAC帧后,节点根据发送状态从网络环境中获得一个奖赏值,若发送成功,节点得到一个正的奖赏,若发送失败(本算法中定义MAC层重传次数不超过4,即数据重传4次后,发送节点还是接收不到数据帧对应的ACK消息,则定义此次发送失败),节点则得到一个负的奖赏,丢包主要是由与其他数据包发生碰撞造成的,通过对奖赏值进行评价,节点自适应地调整其竞争窗口大小,总选择执行能使累积奖赏值Q值最大化的最优动作。
[0027] 2)Q值更新,包括:
[0028] Agent与环境不断交互学习过程中,节点接入信道可能执行的动作有:增加(I)、保持(K)、减少(R)。状态空间为{15,31,63,127,255,511,1023}。当竞争窗口为最小值时,竞争窗口无法继续减少,同样地,当竞争窗口为最大值时,竞争窗口无法继续增加。如图1所示为节点在网络环境中学习的状态转移图。
[0029] VANETs中,节点采用QL-MAC算法发送MAC数据帧过程中,利用状态——动作对的值函数Q(st,at)进行迭代,并利用奖赏作为估计函数来选择下一动作,对Q函数进行优化,通过多步迭代学习逼近最优值函数,节点每发送一次数据帧,就更新一次Q表,更新Q值的表达式即Q学习的迭代公式为:
[0030]   公式1
[0031] 其中α为学习率,是Agent在环境中的学习步长,用于控制学习速度,α值越大,Q值收敛越快,由于MAC数据帧发送较为频繁,0.6足以反映网络拓扑的变化程度,所以本发明设α取值为0.6。γ为折扣因子,γ∈[0,1],它体现了Agent对以后环境所给予奖励的重视程度,取值越大表示越重视以后的奖励,反之,则只在乎眼前的奖励。本发明中取γ为0.9。车辆节点在VANETs中初次接入信道发送数据时,会首先初始化Q(st,at)的值,然后根据探索策略在状态st时选择执行动作at,得到下一状态st+1及其奖赏值R,之后根据奖赏值通过迭代公式公式1更新Q值,一直循环执行直到实现目标状态或达到限制的迭代次数。其中奖赏值R计算如下:
[0032]   公式2
[0033] 其中RCW表示选择当前的CW值接入信道成功发送数据所获得的正奖赏。发送失败,奖赏值为-1,若当前状态正在发送数据,奖赏值为0。表I中定义了选择各不同大小的CW值成功发送数据所获得的不同奖赏值。成功发送数据所选的CW值越小,得到的奖赏值就越大,而网络负载过高时,节点从环境中获得负的奖赏从而增加竞争窗口,这样能使节点充分利用信道资源。
[0034] 表I CW与奖赏值的关系
[0035]
[0036] 节点每从环境中获得一次奖赏,就按照公式1式更新一次Q值,式中表示执行动作at+1后所获得的最大Q值,即到st+1状态为止节点从环境中所获得的最大累积奖赏值,st+1表示选取执行动作at+1后的状态,例如,竞争窗口大小为15时,节点接入信道发送数据发生碰撞,无法成功发送数据,下次再发送数据就选择执行“增加”动作,增加竞争窗口大小,此时状态转移为{31}。更新Q值的算法包括如下:
[0037]
[0038] 探索、利用和收敛包括如下:
[0039] 强化学习中,“探索”是指Agent要尽可能地经历所有的状态——动作对,从而获得全面充分的经验知识,保证学习过程能收敛到最优的Q值函数,但是过度“探索”会引入冗余信息,浪费存储资源和计算资源,最终影响学习速度。“利用”则是Agent为了从环境中获得较高的奖赏值,总是根据当前的Q表选择执行可以获得高奖赏值的动作,而不愿冒险去尝试可能会产生更高奖赏值但也可能产生低奖赏值的动作。所以寻求“探索”和“利用”间的平衡对保证学习过程能快速收敛到最优Q值函数非常重要,Agent需要不断“探索”次优动作从而使“利用”趋向全局最优。
[0040] QL-MAC算中,节点在网络环境中学习所用的探索策略为强化学习算法中应用较为广泛的ε-greedy动作选取机制,每个Agent节点要执行的第一个动作是将其CW值初始化为15,当Agent对自己所处的网络环境一无所知时,采用最小的CW值是最佳选择。此后节点以概率ε进行探索,寻求新的可能会产生更高奖赏值但也可能产生低奖赏值的动作,以概率1-ε选择当前Q值最高的动作(利用)。本发明中将ε值设为0.382时,使节点能在“探索”和“利用”间取得一个较好的折衷。由于节点接入信道并成功发送数据所选用的CW越小,Agent得到的奖赏就越多,只要当前所选的CW能成功发送数据,节点就绝不会再增加CW,当CW大于
15,而网络负载降低时,QL-MAC算法也会通过探索将CW重设为15,即QL-MAC算法总能使节点在网络环境中通过“探索”和“利用”将CW调整为最佳值。
[0041] 收敛问题也是强化学习算法所研究的一重要问题,Watkins与Dayan利用随机过程和不动点理论给出:1)学习过程具有Markov性;2)所有的状态-动作对能被无限次访问;3)Q表中能存储所有状态——动作对的Q值函数,每个元素分别对应于一个状态——动作对;4)学习率α满足一定的取值条件:0≤αt≤1, 以上四个条件都满足时,Q学习过程可收敛到最优状态——动作对值函数Q*,由此可见,QL-MAC满足收敛的所有条件。