CN109816115A - 一种基于改进Q-learning算法的最短路径问题的解决方法 - Google Patents
一种基于改进Q-learning算法的最短路径问题的解决方法 Download PDFInfo
- Publication number
- CN109816115A CN109816115A CN201910011319.7A CN201910011319A CN109816115A CN 109816115 A CN109816115 A CN 109816115A CN 201910011319 A CN201910011319 A CN 201910011319A CN 109816115 A CN109816115 A CN 109816115A
- Authority
- CN
- China
- Prior art keywords
- movement
- denoted
- shortest route
- route problem
- improving
- 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.)
- Pending
Links
Landscapes
- Navigation (AREA)
Abstract
本发明公开了一种基于改进Q‑learning算法的最短路径问题的解决方法,具体包括:建立位置‑动作的价值表格,将Q表全部初始化为0,选择合适的更新步长、贪婪参数、奖赏折扣及平滑参数;根据最短路径问题的要求设置初始位置记作x0,目标位置记作xtf;将当前位置记作X,并将初始位置赋值给当前位置,用epsilon‑greedy方法选取动作,记为A;在X处采取动作A,并记录获得的收益r和采取动作A后转移到的位置X’,若X’等于目标位置xtf,则将初始位置x0赋值给X,否则将X’赋值给X;更新Q表;取位置X邻近的所有位置将其记作X1,X2,…,Xn,并更新Q表;重复上述步骤直到Q表收敛。本发明缓解了目前已有的使用Q‑learning解决最短路径问题问题时Q表格收敛时间长的问题。
Description
技术领域
本发明涉及一种基于改进Q-learning算法的最短路径问题的解决方法,属于强化学习技术领域。
背景技术
最短路径问题广泛存在于导航、城市规划、电子游戏等领域。传统的最短路径问题的解决方法一般依赖于最短路径算法,例如Floyd算法、Dijkstra算法、或者A*算法等搜索算法。近年来,随着强化学习的兴起,强化学习在最短路径问题中的运用也越来越广泛。Q-Learning算法是一种经典的强化学习算法,最早于20世纪90年代初提出,最早的Q-Learning是基于Q表格的,即一张表格,表格中记录了在任一状态下采取任一动作的价值,这个价值一般记作Q(x,a),其中,x表示状态,a表示所采取的动作。虽然Q-Learning的提出距今已经很多年了,但是这种算法依然没有过时,许多改进过的Q-Learning算法大放异彩,例如2013年研究人员将Q-Learning与人工神经网络相结合提出了Deep Q-Learning(DQN)算法;2015年Google公司旗下的DeepMind团队继续改进了DQN算法,将改进后的算法用于玩Atari游戏,并在很多款游戏中取得了超越人类的好成绩。
尽管DQN算法非常强大,但是现实中依旧有一些问题需要使用Q表格来解决,而Q表格有一种缺陷——它没有考虑到不同状态之间的相似程度,而且,当状态的数量比较多时,Q表难以收敛甚至无法收敛。对于很多工程问题而言,有一些状态比较相似,有一些状态不那么相似,在相似的状态上采取的动作也应该是相似的。
发明内容
本发明所要解决的技术问题是:提供一种基于改进Q-learning算法的最短路径问题的解决方法,该方法解决了在使用Q-Learning算法寻找最短路径过程中Q表格难以收敛的问题。
本发明为解决上述技术问题采用以下技术方案:
一种基于改进Q-learning算法的最短路径问题的解决方法,包括如下步骤:
步骤1,建立位置-动作的价值表格,即Q表,将Q表全部初始化为0,并设置如下参数:更新步长α、贪婪参数ε、奖赏折扣γ及平滑参数s;
步骤2,将最短路径问题的初始位置记为x0,目标位置记为xtf;
步骤3,将当前位置记为X,并将初始位置赋值给当前位置,用ε-greedy方法选取动作,将这个被选取的动作记为A;
步骤4,在位置X处采取动作A,并记录获取的收益r和采取动作A后转移到的位置X′,若位置X′等于目标位置xtf,则将初始位置x0赋值给X,否则将X′赋值给X;
步骤5,更新Q表,将Q(X,A)更新为Q(X,A)+α[r+γmaxa Q(X′,a)-Q(X,A)],其中,Q(X,A)表示在位置X处采取动作A所能获得的价值,maxa Q(X′,a)表示在位置X′处采取使Q(X′,a)最大的动作a所获得的价值;
步骤6,将位置X邻近的所有位置记为X1,X2,…,Xn,其中,n=2N,N为最短路径问题所在空间的维数,并将Q(Xi,A)更新为Q(Xi,A)+sα[r+γmaxa Q(X′,a)-Q(X,A)],i=1,2,…,n;
步骤7,重复步骤3-步骤6直至Q表收敛,当Q表收敛后,在当前位置采取Q值最大的动作,即可从初始位置一步一步移动到目标位置。
作为本发明的一种优选方案,步骤3所述用ε-greedy方法选取动作,将这个被选取的动作记为A,具体为:以概率ε随机选取动作,将这个被选取的动作记为A;或者以概率1-ε选取在位置X处Q值最大的动作,将Q值最大的动作记为A。
作为本发明的一种优选方案,步骤6所述位置X邻近的所有位置X1,X2,…,Xn,按照以下方法选取:
X1=(X1-1,X2,…,XN),X2=(X1+1,X2,…,XN),X3=(X1,X2-1,…,XN),
X4=(X1,X2+1,…,XN),……,Xn-1=(X1,X2,…,XN-1),Xn=(X1,X2,…,XN+1),
其中,(X1,X2,…,XN)表示位置X在N维空间中的坐标。
作为本发明的一种优选方案,所述贪婪参数ε为0.1。
作为本发明的一种优选方案,所述奖赏折扣γ为0.9。
作为本发明的一种优选方案,所述平滑参数s为0.3。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明除了更新状态X处的Q值外,还更新了状态X附近的所有状态的Q值,这样做体现了状态空间的连续性,可以加速Q-Learning的收敛。
2、本发明方法能够缓减目前已有的最短路径问题的解决方法收敛时间长的问题。
附图说明
图1是本发明一种基于改进Q-learning算法的最短路径问题的解决方法的流程图。
图2是最短路径问题示意图。
图3是本发明方法与经典Q-learning算法的计算结果对比图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1所示,为本发明一种基于改进Q-learning算法的最短路径问题的解决方法的流程图,具体步骤为:
步骤1、建立位置-动作的价值表格,位置指的是智能体在空间中的位置,动作指的是智能体的移动方向,以下简称Q表。Q(x,a)表示在位置x处采取动作a所能获得的价值,将Q表全部初始化为0,选择合适的更新步长α、贪婪参数ε、奖赏折扣γ及平滑参数s;
步骤2、根据最短路径问题的要求设置初始位置,将初始位置记作x0,将目标位置记作xtf;
步骤3、将当前位置记作X,并将初始位置赋值给当前位置,用ε-greedy方法选取动作,即以概率ε随机选取动作,将这个被选中的动作记作A,或者以概率1-ε选取在位置X处Q值最大的动作,将这个被选中的动作记作A;
步骤4、在X处采取动作A,并记录获得的收益r和采取动作A后转移到的位置X′,若X′等于目标位置xtf,则将初始位置x0赋值给X,否则将X′赋值给X;
步骤5、更新Q表,将Q(X,A)更新为Q(X,A)+α[r+γmaxa Q(X′,a)-Q(X,A)];
步骤6、取位置X邻近的所有位置将其记作X1,X2,…,Xn,并将Q(Xi,A)更新为Q(Xi,A)+sα[r+γmaxa Q(X′,a)-Q(X,A)],其中,i=1,2,…,n;
选取与位置X临近的所有位置记作X1,X2,…,Xn按照以下方法选取:X1=(X1-1,X2,…,XN),X2=(X1+1,X2,…,XN),X3=(X1,X2-1,…,XN),X4=(X1,X2+1,…,XN),……,Xn-1=(X1,X2,…,XN-1),Xn=(X1,X2,…,XN+1)。
步骤7、重复步骤3到6直到Q表收敛。
在Q表收敛之后,只需要在当前位置采取Q值最高的动作,即可从初始位置一步一步移动到目标位置。
Q表的形式由问题的具体形式而定,若待解决的问题是N维空间中的最短路径问题,则Q表是一个N+1维的数组,其中前N维表示位置,第N+1维表示动作,N维空间中的位置X用一个元组表示:(X1,X2,…,XN)。
下面以本发明方法解决一个在32*32的网格中寻找最短路径的问题,如图2所示:将一个agent的初始位置设置为左下角的“x”形标记处,坐标是(1,1),目标位置是圆形标记处,坐标是(17,17)。该agent每次只能沿着上、下、左、右中的某一个方向移动一格,并且agent只能在这个网格中移动不能超出其边界。
步骤1、建立Q表格并全部初始化为0,设置算法的参数:α=0.1、ε=0.1、γ=0.9、s=0.3。表1展示了Q表格的一部分:由于该问题是一个二维空间中的最短路径问题,所以Q表是一个长32宽32高4的3维数组,其中第一层是一个32*32的二维数组,表示在各位置采取“向上移动”这个动作所能获得的价值。类似地,第二层表示在各位置采取“向下移动”这个动作所能获得的价值,第三层表示在各位置采取“向左移动”这个动作所能获得的价值,第四层表示在各位置采取“向右移动”这个动作所能获得的价值。
(a)
(b)
(c)
(d)
表1初始化后的Q表格,其中(a)表示第一层,其中(b)表示第二层,其中(c)表示第三层,其中(d)表示第四层
步骤2、将当前位置设置为初始位置(1,1),将目标位置设置为(17,17);
步骤3、将当前位置记作X,用ε-greedy方法选取动作,即以概率ε随机选取动作,记这个被选中的动作为A,或者以概率1-ε选取Q值最大的动作,记这个被选中的动作为A;
步骤4、采取动作A,并记录获得的收益r和采取动作后转移到的位置X′,若X′为目标位置,则r为100,则将当前位置更新为(1,1),否则r为-1并且将当前位置更新为X′;
步骤5、将Q(X,A)更新为Q(X,A)+α[r+γmaxa Q(X′,a)-Q(X,A)];
步骤6、步骤6、取在网格上与位置X邻近的所有位置(X1-1,X2),(X1+1,X2),(X1,X2-1),(X1,X2+1),分别记作X1,X2,X3,X4。如果上述坐标超出网格边界则忽略,并将Q(Xi,A)更新为Q(Xi,A)+sα[r+γmaxa Q(X′,a)-Q(X,A)],其中,i=1,2,3,4;
步骤7、重复步骤3到6直到Q表收敛。
将从初始位置移动到目标位置的过程称为一个训练周期,于是可以获得一个训练周期内移动的步数随训练周期数的变化,作为对比,再用经典的Q-learning解决这个问题,即删除步骤6,其它参数保持不变,结果如图3所示,其中浅色曲线是经典Q-learning的计算结果,深色曲线是本发明的计算结果,可以看出本发明显著加速了Q-learning的收敛,所需训练的周期数大约减少了一半。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (6)
1.一种基于改进Q-learning算法的最短路径问题的解决方法,其特征在于,包括如下步骤:
步骤1,建立位置-动作的价值表格,即Q表,将Q表全部初始化为0,并设置如下参数:更新步长α、贪婪参数ε、奖赏折扣γ及平滑参数s;
步骤2,将最短路径问题的初始位置记为x0,目标位置记为xtf;
步骤3,将当前位置记为X,并将初始位置赋值给当前位置,用ε-greedy方法选取动作,将这个被选取的动作记为A;
步骤4,在位置X处采取动作A,并记录获取的收益r和采取动作A后转移到的位置X′,若位置X′等于目标位置xtf,则将初始位置x0赋值给X,否则将X′赋值给X;
步骤5,更新Q表,将Q(X,A)更新为Q(X,A)+α[r+γmaxaQ(X′,a)-Q(X,A)],其中,Q(X,A)表示在位置X处采取动作A所能获得的价值,maxaQ(X′,a)表示在位置X′处采取使Q(X′,a)最大的动作a所获得的价值;
步骤6,将位置X邻近的所有位置记为X1,X2,…,Xn,其中,n=2N,N为最短路径问题所在空间的维数,并将Q(Xi,A)更新为Q(Xi,A)+sα[r+γmaxaQ(X′,a)-Q(X,A)],i=1,2,…,n;
步骤7,重复步骤3-步骤6直至Q表收敛,当Q表收敛后,在当前位置采取Q值最大的动作,即可从初始位置一步一步移动到目标位置。
2.根据权利要求1所述基于改进Q-learning算法的最短路径问题的解决方法,其特征在于,步骤3所述用ε-greedy方法选取动作,将这个被选取的动作记为A,具体为:以概率ε随机选取动作,将这个被选取的动作记为A;或者以概率1-ε选取在位置X处Q值最大的动作,将Q值最大的动作记为A。
3.根据权利要求1所述基于改进Q-learning算法的最短路径问题的解决方法,其特征在于,步骤6所述位置X邻近的所有位置X1,X2,…,Xn,按照以下方法选取:
X1=(X1-1,X2,…,XN),X2=(X1+1,X2,…,XN),X3=(X1,X2-1,…,XN),X4=(X1,X2+1,…,XN),……,Xn-1=(X1,X2,…,XN-1),Xn=(X1,X2,…,XN+1),其中,(X1,X2,…,XN)表示位置X在N维空间中的坐标。
4.根据权利要求1所述基于改进Q-learning算法的最短路径问题的解决方法,其特征在于,所述贪婪参数ε为0.1。
5.根据权利要求1所述基于改进Q-learning算法的最短路径问题的解决方法,其特征在于,所述奖赏折扣γ为0.9。
6.根据权利要求1所述基于改进Q-learning算法的最短路径问题的解决方法,其特征在于,所述平滑参数s为0.3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910011319.7A CN109816115A (zh) | 2019-01-07 | 2019-01-07 | 一种基于改进Q-learning算法的最短路径问题的解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910011319.7A CN109816115A (zh) | 2019-01-07 | 2019-01-07 | 一种基于改进Q-learning算法的最短路径问题的解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109816115A true CN109816115A (zh) | 2019-05-28 |
Family
ID=66603902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910011319.7A Pending CN109816115A (zh) | 2019-01-07 | 2019-01-07 | 一种基于改进Q-learning算法的最短路径问题的解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816115A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866482A (zh) * | 2019-11-08 | 2020-03-06 | 广东工业大学 | 一种里程计数据源动态选择方法、装置和设备 |
CN111770019A (zh) * | 2020-05-13 | 2020-10-13 | 西安电子科技大学 | 基于Dijkstra算法的Q-learning光片上网络自适应路由规划方法 |
-
2019
- 2019-01-07 CN CN201910011319.7A patent/CN109816115A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866482A (zh) * | 2019-11-08 | 2020-03-06 | 广东工业大学 | 一种里程计数据源动态选择方法、装置和设备 |
CN111770019A (zh) * | 2020-05-13 | 2020-10-13 | 西安电子科技大学 | 基于Dijkstra算法的Q-learning光片上网络自适应路由规划方法 |
CN111770019B (zh) * | 2020-05-13 | 2021-06-15 | 西安电子科技大学 | 基于Dijkstra算法的Q-learning光片上网络自适应路由规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108053119B (zh) | 一种求解零等待流水车间调度问题的改进粒子群优化方法 | |
CN110083165B (zh) | 一种机器人在复杂狭窄环境下路径规划方法 | |
CN110515303A (zh) | 一种基于ddqn的自适应动态路径规划方法 | |
CN107169557A (zh) | 一种对布谷鸟优化算法进行改进的方法 | |
CN105117575B (zh) | 一种行为处理方法及装置 | |
CN109919319A (zh) | 基于多个历史最佳q网络的深度强化学习方法及设备 | |
CN105893694A (zh) | 一种基于重采样粒子群优化算法的复杂系统设计方法 | |
CN107275801A (zh) | 一种l型阵列天线的基于获得性遗传的阵元排布方法 | |
CN109816115A (zh) | 一种基于改进Q-learning算法的最短路径问题的解决方法 | |
CN111046193B (zh) | 一种基于元学习的领域知识图谱补全方法 | |
CN107506821A (zh) | 一种改进的粒子群优化方法 | |
CN106875050A (zh) | 一种基于改进混沌蜂群算法的工程约束参数优化方法 | |
CN110196602A (zh) | 目标导向集中优化的快速水下机器人三维路径规划方法 | |
CN112904859B (zh) | 一种基于强化学习的多足机器人步态切换方法 | |
CN116242383B (zh) | 一种基于增强哈里斯鹰算法的无人车路径规划方法 | |
CN111709511A (zh) | 一种基于随机无迹Sigma点变异的哈里斯鹰优化算法 | |
CN109326328A (zh) | 一种基于谱系聚类的古生物谱系演化分析方法 | |
CN110490319A (zh) | 基于融合神经网络参数的分布式深度强化学习 | |
CN105117616B (zh) | 基于粒子群算法的微生物发酵优化方法 | |
CN108197186B (zh) | 一种应用于社交网络中的动态图匹配查询方法 | |
CN106909967A (zh) | 一种简单高效的改进人工蜂群优化方法 | |
CN107194155A (zh) | 一种基于小数据集和贝叶斯网络的威胁评估建模方法 | |
Li et al. | Path planning of mobile robot based on dynamic chaotic ant colony optimization algorithm | |
CN109858606A (zh) | 一种改进粒子群算法的方法 | |
CN106611380A (zh) | 一种改进的帝国主义竞争算法求解作业车间调度问题 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |