基于Dijkstra算法的Q-learning光片上网络自适应路由规划方法转让专利

申请号 : CN202010403396.X

文献号 : CN111770019B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李慧陈燕怡顾华玺杨银堂王琨

申请人 : 西安电子科技大学

摘要 :

本发明涉及一种基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,包括:S1:构建网络模型,并定义网络模型参数;S2:根据Dijkstra算法和网络模型,构建每个节点到其他节点的最短路径树,同时按照预设值在各节点存储若干条该节点到目标节点vd的最短路径,并获取源节点vs到目标节点vd的最短路径的路由跳数h(vs,vd);S3:根据Q‑learning算法,采用基于ε‑贪婪策略的链路选择机制进行路径规划,得到源节点vs到目标节点vd的若干条规划路径,获取规划路径的奖励值,规划路径的路由跳数不超过最短路径的路由跳数h(vs,vd);S4:根据规划路径的奖励值,得到最佳路径。本发明的方法克服了Dijkstra算法每个目标点只能产生一条最短路径的缺点。

权利要求 :

1.一种基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,包括:

S1:构建网络模型,并定义网络模型参数;

S2:根据Dijkstra算法和所述网络模型,构建每个节点到其他节点的最短路径树,同时按照预设值在各节点存储若干条该节点到目标节点vd的最短路径,并获取源节点vs到目标节点vd的最短路径的路由跳数h(vs,vd);

S3:根据Q‑learning算法,采用基于ε‑贪婪策略的链路选择机制进行路径规划,得到所述源节点vs到所述目标节点vd的若干条规划路径,获取所述规划路径的奖励值,所述规划路径的路由跳数不超过所述最短路径的路由跳数h(vs,vd);

S4:根据所述规划路径的奖励值,得到最佳路径;

其中,根据Dijkstra算法和所述网络模型,构建每个节点到其他节点的最短路径树,包括:

步骤a:获取当前网络拓扑信息;

步骤b:初始化已确定最短路径的顶点集合N和权重De(v),N={vs},

其中,h(vs,v)表示源节点vs和节点v之间的路由跳数;

步骤c:选取De(w)=min(De(v)),其中节点v和节点w不属于所述已确定最短路径的顶点集合N,则更新所述已确定最短路径的顶点集合N和所述权重De(v),其中,N={N,w},

步骤d:重复步骤c,直到所有节点都在所述已确定最短路径的顶点集合N中;

根据Q‑learning算法,采用基于ε‑贪婪策略的链路选择机制进行路径规划,得到源节点vs到所述目标节点vd的若干条规划路径,包括:步骤1:初始化Q‑learning学习参数以及Q值,所述Q值为Q(vt,linkt),表示第t时刻节点vt的输出数据链路linkt;

步骤2:根据所述Q值,基于所述ε‑贪婪策略选择下一节点vt+1,并获取选择该节点的奖励函数rt+1;

步骤3:根据选择的节点vt+1,更新所述Q值,判断节点vt+1是否为所述目标节点vd,若是则结束本轮学习,得到一条所述规划路径;

若不是,则令计数变量Count=Count+1,判断计数变量Count是否小于所述最短路径的路由跳数h(vs,vd),若是,则重复步骤2‑步骤3;若不是,则结束本轮学习;

步骤4:根据预设的学习轮次得到若干条所述规划路径。

2.根据权利要求1所述的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,所述网络模型参数包括链路使用次数、排队时延和插入损耗。

3.根据权利要求1所述的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,源节点vs到目标节点vd的最短路径的路由跳数h(vs,vd)=De(vd),vd表示目标节点。

4.根据权利要求1所述的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,所述步骤a包括:根据所述网络模型,获取每个节点的链路连接信息分组,每个节点将其链路连接信息分组发送至其他节点,同时存储其他节点发送的所述链路连接信息分组,组成所述当前网络拓扑信息,其中,所述链路连接信息分组包括:节点的网络地址、相邻节点的网络地址以及节点与相邻节点之间的连接信息。

5.根据权利要求1所述的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,所述Q‑learning学习参数包括:学习轮次q_n、学习步长α、折扣系数γ和ε‑贪婪策略概率。

6.根据权利要求1所述的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,初始化Q值包括:根据存储的所述若干条最短路径,设置所述最短路径中节点对应链路的Q值为正数,其余未在所述最短路径中节点对应链路的Q值为零。

7.根据权利要求1所述的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,所述S4包括:判断若干条所述规划路径的奖励值的大小,最大奖励值对应的所述规划路径为最佳路径。

8.根据权利要求7所述的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,其特征在于,所述规划路径的奖励值为路径规划过程中选择节点对应的奖励函数rt+1的总和。

说明书 :

基于Dijkstra算法的Q‑learning光片上网络自适应路由规划

方法

技术领域

[0001] 本发明属于动态路由规划技术领域,具体涉及一种基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法。

背景技术

[0002] 随着数据流量的指数增长和智能设备的快速发展,网络越来越复杂,也变得越来越多样化,需要考虑更多的因素,包括稳定性,安全,带宽,时延,负载等。现在芯片多处理器
能力不断增强,片上通信效率对整体性能至关重要。在整个信息的传送过程中,中间的路由
器需要根据当前的状态来选择下一跳的路由器。然而,从整体和长期来看,全局信息的缺乏
使得所选择的下一跳转发节点往往未必是最佳的,所以人们更关注使用强化学习来解决实
时性、动态性的路由问题。
[0003] 传统的路由方法有Dijkstra(迪克斯特拉)算法和Bellman‑Ford(贝尔曼‑福特)算法等。Dijkstra算法是一种寻找最短路径的著名算法,它能快速给出最短路径,但它只能给
每个目标点提供一条最短路径,不能提供其他可替代的最短路径,而且它只适用于非负权
重的规划。相比Dijkstra算法,Bellman‑Ford算法支持存在负权重的情况,并且代码实现相
对简单,但是Bellman‑Ford算法的时间复杂度较高,收敛速度低于Dijkstra算法,而且
Bellman‑Ford算法要求大量的信息传递,尤其是在遇到负权重时,需要多次迭代。

发明内容

[0004] 为了解决现有技术中存在的上述问题,本发明提供了一种基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法。本发明要解决的技术问题通过以下技术方案实
现:
[0005] 本发明提供了一种基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,包括:
[0006] S1:构建网络模型,并定义网络模型参数;
[0007] S2:根据Dijkstra算法和所述网络模型,构建每个节点到其他节点的最短路径树,同时按照预设值在各节点存储若干条该节点到目标节点vd的最短路径,并获取源节点vs到
目标节点vd的最短路径的路由跳数h(vs,vd);
[0008] S3:根据Q‑learning算法,采用基于ε‑贪婪策略的链路选择机制进行路径规划,得到所述源节点vs到所述目标节点vd的若干条规划路径,获取所述规划路径的奖励值,所述规
划路径的路由跳数不超过所述最短路径的路由跳数h(vs,vd);
[0009] S4:根据所述规划路径的奖励值,得到最佳路径。
[0010] 在本发明的一个实施例中,所述网络模型参数包括链路使用次数、排队时延和插入损耗。
[0011] 在本发明的一个实施例中,根据Dijkstra算法和所述网络模型,构建每个节点到其他节点的最短路径树,包括:
[0012] 步骤a:获取当前网络拓扑信息;
[0013] 步骤b:初始化已确定最短路径的顶点集合N和权重De(v),
[0014] N={vs},
[0015]
[0016] 其中,h(vs,v)表示源节点vs和节点v之间的路由跳数;
[0017] 步骤c:选取De(w)=min(De(v)),其中节点v和节点w不属于所述已确定最短路径的顶点集合N,则更新所述已确定最短路径的顶点集合N和所述权重De(v),其中,
[0018] N={N,w},
[0019]
[0020] 步骤d:重复步骤c,直到所有节点都在所述已确定最短路径的顶点集合N中。
[0021] 在本发明的一个实施例中,源节点vs到目标节点vd的最短路径的路由跳数h(vs,vd)=De(vd),vd表示目标节点。
[0022] 在本发明的一个实施例中,所述步骤a包括:
[0023] 根据所述网络模型,获取每个节点的链路连接信息分组,每个节点将其链路连接信息分组发送至其他节点,同时存储其他节点发送的所述链路连接信息分组,组成所述当
前网络拓扑信息,其中,所述链路连接信息分组包括:节点的网络地址、相邻节点的网络地
址以及节点与相邻节点之间的连接信息。
[0024] 在本发明的一个实施例中,根据Q‑learning算法,采用基于ε‑贪婪策略的链路选择机制进行路径规划,得到源节点vs到所述目标节点vd的若干条规划路径,包括:
[0025] 步骤1:初始化Q‑learning学习参数以及Q值,所述Q值为Q(vt,linkt),表示第t时刻节点vt的输出数据链路linkt;
[0026] 步骤2:根据所述Q值,基于所述ε‑贪婪策略选择下一节点vt+1,并获取选择该节点的奖励函数rt+1;
[0027] 步骤3:根据选择的节点vt+1,更新所述Q值,判断节点vt+1是否为所述目标节点vd,
[0028] 若是则结束本轮学习,得到一条所述规划路径;
[0029] 若不是,则令计数变量Count=Count+1,判断计数变量Count是否小于所述最短路径的路由跳数h(vs,vd),若是,则重复步骤2‑步骤3;若不是,则结束本轮学习;
[0030] 步骤4:根据预设的学习轮次得到若干条所述规划路径。
[0031] 在本发明的一个实施例中,所述Q‑learning学习参数包括:学习轮次q_n、学习步长α、折扣系数γ和ε‑贪婪策略概率。
[0032] 在本发明的一个实施例中,初始化Q值包括:
[0033] 根据存储的所述若干条最短路径,设置所述最短路径中节点对应链路的Q值为正数,其余未在所述最短路径中节点对应链路的Q值为零。
[0034] 在本发明的一个实施例中,所述S4包括:判断若干条所述规划路径的奖励值的大小,最大奖励值对应的所述规划路径为最佳路径。
[0035] 在本发明的一个实施例中,所述规划路径的奖励值为路径规划过程中选择节点对应的奖励函数rt+1的总和。
[0036] 与现有技术相比,本发明的有益效果在于:
[0037] 1、本发明的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,首先根据网络模型,使用Dijkstra算法计算从源节点vs到目标节点vd的最短路径,并获得该最
短路径的路由跳数h(vs,vd),其次使用Dijkstra算法计算的最短路径的路由跳数h(vs,vd)
限制Q‑learning算法设计,采用基于ε‑贪婪策略的链路选择机制,生成规划路径,最后从若
干条规划路径中得到最佳路径。该方法克服了缺乏未知网络环境的先验知识的缺点,基于
强化学习Q‑learning算法,扩大算法的适用范围,也克服了Dijkstra算法每个目标点只能
产生一条最短路径的缺点,使用Q‑learning算法寻找其他替代最短路径,使自动规划路径
更可控。
[0038] 2、本发明的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,相较于单一的Q‑learning算法,寻找最短路径的速度更快,此外,采用迭代的方法,可以找到
最佳路径,不必在乎ε‑贪婪策略造成的收敛结果不稳定现象。
[0039] 3、本发明的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,具有普适性,适合用于不同类型网络和路由器。
[0040] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够
更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

[0041] 图1是本发明实施例提供的一种基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法的流程图;
[0042] 图2是本发明实施例提供的一种Dijkstra算法的系统的流程图;
[0043] 图3是本发明实施例提供的一种Dijkstra算法的具体的流程图;
[0044] 图4是本发明实施例提供的一种Q‑learning算法的系统的流程图;
[0045] 图5是本发明实施例提供的一种Q‑learning算法的具体的流程图;
[0046] 图6是本发明实施例提供的一种奖励函数的流程图。

具体实施方式

[0047] 为了进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及具体实施方式,对依据本发明提出的一种基于Dijkstra算法的Q‑learning光片上网
络自适应路由规划方法进行详细说明。
[0048] 有关本发明的前述及其他技术内容、特点及功效,在以下配合附图的具体实施方式详细说明中即可清楚地呈现。通过具体实施方式的说明,可对本发明为达成预定目的所
采取的技术手段及功效进行更加深入且具体地了解,然而所附附图仅是提供参考与说明之
用,并非用来对本发明的技术方案加以限制。
[0049] 在实际情况中,大多数情况下,由于对网络缺乏先验知识,路由规划难点是了解当前行动将如何影响未来的奖励,即反馈。Q‑learning(Q学习)算法很好地解决了这个问题,
2
它基于马尔科夫链,可以实现自主学习,在t时刻,其总的反馈定义为Gt=rt+1+γrt+2+γrt+3
+.......,并且未来反馈rt+n随着时间间隔n的增加对Gt的影响越来越小。
[0050] 基于Q‑learning的光片上网络自适应性路由可以预测所有可用路径中的最佳路径,具有很好的路径分配成功率。但是该方法存在两个缺点,一是采用ε‑贪婪算法进行探
索,即使过程中不断优化结果,直至最后寻到全局最优解仍然存在多余的探索,结果无法稳
定在最优解;二是时间复杂度较高,收敛速度慢。
[0051] 实施例一
[0052] 基于N×N mesh网络和Cygnus路由器对本实施例的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法进行具体说明,请参见图1,图1是本发明实施例
提供的一种基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法的流程图。如
图所示,本发明的方法包括:
[0053] S1:构建网络模型,并定义网络模型参数;
[0054] 具体地,在本实施例中,网络用加权有向图G(V,E)表示,其中,V表示路由器节点集,E表示路由器节点双向数据链路集。基于N×N mesh网络构建坐标系和五输入五输出
Cygnus路由器,每个节点可以使用坐标(x,y)标识。路径定义为有序点集R(v0,vn)={v0,
v1,...,vn}。其中对任意R中的元素vi,i<=n,vi∈V,vi在全局路径上,位于数据流前方。需要
考虑的因素包括最短路径,路径均衡,排队时延,通信路径的插入损耗,使用权重的方法衡
量各个考虑因素对选取数据链路的影响,可以给出规划路径时考虑因素的优先级,设各考
虑因素优先级为:最先考虑最短路径,其次路径均衡,最后排队时延、通信路径的插入损耗
处于同一优先级。网络模型参数包括链路使用次数、排队时延和插入损耗。其中,
[0055] 路径均衡主要取决于节点vt处链路使用次数H(vt,:),表示从节点vt分别到所有相邻节点之间的链路使用次数表。采用最小选择法选择节点vt的下一节点vt+1,节点vt与节点
vt+1之间的链路使用次数H(vt,vt+1)=min(H(vt,:))。
[0056] 排队时延主要取决于该路由器内部微环谐振器的使用情况,如果有数据包正在使用微环谐振器MR1,则希望MR1不在相同时间内使用,否则会产生排队时延。采用最小选择法
选择节点vt的下一节点vt+1,节点vt与节点vt+1之间的排队时延D(vt,vt+1)=min(D(vt,:))。
[0057] 通信路径中某一节点vi内部传输路径的插入损耗Insert_lossi为,Insert_lossi=B_n×Lbending+C_n×Lcrossing+D_n×Ldrop+T_n×Lthrough(1),
[0058] 其中,Lbending表示波导转弯的损耗参数,Lcrossing表示波导交叉的损耗参数,Ldrop表示微环谐振器处于ON状态的损耗参数,Lthrough表示微环谐振器处于OFF状态的损耗参数,B_
n,C_n,D_n,T_n分别代表通信路径中节点vi的内部传输路径波导转弯,波导交叉,处于ON状
态的微环谐振器,处于OFF状态的微环谐振器的数目。
[0059] 一条通信路径的插入损耗Insert_loss_sum为,
[0060]
[0061] S2:根据Dijkstra算法和所述网络模型,构建每个节点到其他节点的最短路径树,同时按照预设值在各节点存储若干条该节点到目标节点vd的最短路径,并获取源节点vs到
目标节点vd的最短路径的路由跳数h(vs,vd);
[0062] 请结合参见图2和图3,图2是本发明实施例提供的一种Dijkstra算法的系统的流程图;图3是本发明实施例提供的一种Dijkstra算法的具体的流程图。如图所示,根据
Dijkstra算法和所述网络模型,构建每个节点到其他节点的最短路径树,包括:
[0063] 步骤a:获取当前网络拓扑信息;
[0064] 具体地,根据所述网络模型,获取每个节点的链路连接信息分组,每个节点将其链路连接信息分组发送至其他节点,同时存储其他节点发送的所述链路连接信息分组,组成
所述当前网络拓扑信息。其中,所述链路连接信息分组包括:节点的网络地址、相邻节点的
网络地址以及节点与相邻节点之间的连接信息,节点与相邻节点之间的连接信息也就是两
个节点是否直连。
[0065] 步骤b:初始化已确定最短路径的顶点集合N和权重De(v),
[0066] N={vs}   (3),
[0067]
[0068] 其中,h(vs,v)表示源节点vs和节点v之间的路由跳数;
[0069] 步骤c:选取De(w)=min(De(v)),其中节点v和节点w不属于所述已确定最短路径的顶点集合N,则更新所述已确定最短路径的顶点集合N和所述权重De(v),其中,
[0070] N={N,w}   (5),
[0071]
[0072] 步骤d:重复步骤c,直到所有节点都在所述已确定最短路径的顶点集合N中。
[0073] 在本实施例中,在构造最短路径树过程中,需要在各节点存储若干条该节点到目标节点vd的最短路径,存储的最短路径数目根据实际情况设定,同时获取源节点vs到目标节
点vd的最短路径的路由跳数h(vs,vd),其中,h(vs,vd)=De(vd),vd表示目标节点。
[0074] 需要说明的是,在Dijkstra算法中,所有节点都存储有当前网络拓扑信息,在每个节点内部使用Dijkstra算法构造一颗最短路径树,并将规划好的路径填入路由表之中。如
果网络拓扑发生变化,增加或改变相应的链路连接信息分组,再发送给其他节点,重新更新
节点存储的网络拓扑信息,使用Dijkstra算法再次规划路径即可。
[0075] 利用Dijkstra算法得到源节点vs到目标节点vd的最短路径,通过获取源节点vs到目标节点vd的最短路径的路由跳数h(vs,vd),限制设计Q‑learning算法。
[0076] S3:根据Q‑learning算法,采用基于ε‑贪婪策略的链路选择机制进行路径规划,得到所述源节点vs到所述目标节点vd的若干条规划路径,获取所述规划路径的奖励值,所述规
划路径的路由跳数不超过所述最短路径的路由跳数h(vs,vd);
[0077] 请参见图4和图5,图4是本发明实施例提供的一种Q‑learning算法的系统的流程图;图5是本发明实施例提供的一种Q‑learning算法的具体的流程图。如图所示,根据Q‑
learning算法,采用基于ε‑贪婪策略的链路选择机制进行路径规划,得到源节点vs到所述
目标节点vd的若干条规划路径,包括:
[0078] 步骤1:初始化Q‑learning学习参数以及Q值,所述Q值为Q(vt,linkt),表示第t时刻节点vt的输出数据链路linkt;
[0079] 具体地,所述Q‑learning学习参数包括:学习轮次q_n、学习步长α、折扣系数γ和ε‑贪婪策略概率。在本实施例中,ε‑贪婪策略概率的概率ε取值为0.1。
[0080] 初始化Q值包括:根据存储的所述若干条最短路径,设置所述最短路径中节点对应链路的Q值为正数,例如为1,2,3........等较小的正数,其余未在所述最短路径中节点对
应链路的Q值为零。
[0081] 步骤2:根据所述Q值,基于所述ε‑贪婪策略选择下一节点vt+1,并获取选择该节点的奖励函数rt+1;
[0082] 具体地,利用当前的Q值,得到策略π,根据策略π和节点vt,选择数据链路,即节点vt根据当前Q值选择下一节点vt+1。在节点vt处,不同数据链路对应的Q值一般不同,通过比较,
可以得出不同程度的选取意向。链路选择的机制采用基于ε‑贪婪策略,也就是,以1‑ε的概
率基于贪婪策略选取,以ε的概率随机选取,公式如下:
[0083]
[0084] 奖励函数rt+1是当前节点vt选择下一节点vt+1而产生的,使用权重法可以表现不同考虑因素在对链路的选择上产生的影响,所述考虑因素也就是步骤S1中的最短路径,路径
均衡,排队时延以及通信路径的插入损耗。在本实施例中,根据考虑因素,执行当前节点选
择的奖励函数rt+1如下:
[0085] rt+1=a1r1+a2r2+a3r3+a4r4   (8),
[0086] 其中,r1表示当前路径均衡的奖励数值,r2表示当前排队时延的奖励数值,r3表示当前插入损耗的奖励数值,r4表示到达目标节点vd的奖励数值,a1,a2,a3,a4分别表示当前路
径均衡、排队时延、插入损耗和到达目标节点vd的奖励系数。根据优先级,a1>a2=a3。
[0087] 请参见图6,图6是本发明实施例提供的一种奖励函数的流程图。如图所示,本实施例的奖励数值的计量标准如下:
[0088] 路径均衡:如果H(vt,vt+1)不等于min(H(vt,:)),则将当前链路选择视为不利于路径均衡的选择,r1取一个负值,否则,r1=0。
[0089] 排队时延:如果有别的数据包正在使用微环谐振器MR1,而当前选择路径使用MR1,则r2取一个负值,反之,r2=0。
[0090] 插入损耗:插入损耗的奖励数值r3等于‑Insert_lossi。
[0091] 如果节点vt+1为目标节点,则到达目标节点vd的奖励数值r4取正数,反之,r4=0。
[0092] 步骤3:根据选择的节点vt+1,更新所述Q值,判断节点vt+1是否为所述目标节点vd,
[0093] 若是则结束本轮学习,得到一条所述规划路径;
[0094] 若不是,则令计数变量Count=Count+1,判断计数变量Count是否小于所述最短路径的路由跳数h(vs,vd),若是,则重复步骤2‑步骤3;若不是,则结束本轮学习;
[0095] 具体地,在本实施例中,Q值更新公式如下:
[0096]
[0097] 其中,α表示学习步长,反映了Q‑learning算法的收敛快慢程度;γ表示折扣系数,反映未来反馈对当前选择的影响程度。
[0098] 步骤4:根据预设的学习轮次得到若干条所述规划路径。
[0099] 在本实施例中,采取基于ε‑贪婪策略的链路选择机制,能够避免Q‑learning算法收敛在路由规划的局部最优点,选取到路由规划的全局最优点。使用最短路径的路由跳数h
(vs,vd)限制Q‑learning算法,能够加快收敛速度。根据网络的变化情况,Q‑learning算法通
过网络节点之间的交互,能够实时地调整路由规划。
[0100] S4:根据所述规划路径的奖励值,得到最佳路径。
[0101] 具体地,判断若干条所述规划路径的奖励值的大小,最大奖励值对应的所述规划路径为最佳路径。所述规划路径的奖励值为路径规划过程中选择节点对应的奖励函数rt+1
的总和。
[0102] 由于Q‑learning算法的最终收敛结果并不一定是最佳路径,所以根据规划路径对应的每一轮总奖励值,不断迭代找到最大奖励值,最大奖励值对应规划路径即为最佳路径,
采取该迭代方法可以避免基于ε‑贪婪策略的链路选择机制带来的收敛不稳定问题。
[0103] 值得说明的是,在迭代寻找最佳路径的过程中,除去最大奖励值对应的最佳路径,剩余规划路径可根据奖励值大小的不同依次作为源节点vs到目标节点vd的最佳替代路径。
也就是,最大奖励值对应的规划路径为最佳路径,第二大奖励值对应的规划路径为第一最
佳替代路径,第三大奖励值对应的规划路径为第二最佳替代路径,依次类推。
[0104] 本实施例的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,首先根据网络模型,使用Dijkstra算法计算最短路径,并获得从源节点vs到目标节点vd的最短
路径,并获得该最短路径的路由跳数h(vs,vd),其次使用Dijkstra算法计算的最短路径的路
由跳数h(vs,vd)限制条件限制Q‑learning算法设计,采用基于ε‑贪婪策略的链路选择机制,
生成规划路径,最后从若干条规划路径中得到最佳路径。该方法克服了缺乏未知网络环境
的先验知识的缺点,基于强化学习Q‑learning算法,扩大算法的适用范围,也克服了
Dijkstra算法每个目标点只能产生一条最短路径的缺点,使用Q‑learning算法寻找其他替
代最短路径,使自动规划路径更可控。相较于单一的Q‑learning算法,寻找最短路径的速度
更快,此外,采用迭代的方法,可以找到最佳路径,不必在乎ε‑贪婪策略造成的收敛结果不
稳定现象。
[0105] 另外,本实施例的基于Dijkstra算法的Q‑learning光片上网络自适应路由规划方法,具有普适性,适合用于不同类型网络和路由器。如果用于不同网络和路由器,需要修改
标识网络路由器的方法,和探测网络中各个路由器内部不同传输路径对应的插入损耗,以
及路由器与其他路由器的连接情况。对于网格、带环网格(torus)、超立方等网络拓扑结构,
建立XY轴或XYZ轴,以坐标作为标识方法;对于环形网络,可以建立球坐标系,以坐标为标
识;对于不规则的网络拓扑,使用不同的数值标识不同的路由器。对于不同类型的路由器,
例如Crossbar、Cygnus、Crux路由器,只需探测网络中各个路由器内部不同传输路径对应的
插入损耗,以及路由器与其他路由器的连接情况。
[0106] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在
不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的
保护范围。