以下为原创代码,这段代码解决的是TSP问题,采用的思路是强化学习的Q-learning方法。 import numpy as np epsilon = 0.5 gamma = 0.98 lr = 0.1 distance =np.array([[0,7,6,1,3],[7,0,3,7,8],[6,3,0,12,11],[1,7,12,0,2],[3,8,11,2,0]]) R_table = 11-distance space = [0,1,2,3,4] Q_table = np.zeros((5,5)) for i in range(10): path = [0] for j in range(4): #print(path) s = list(path)[j] s_row = Q_table[s] remain = set(space)-set(path) max_value = -1000 for rm in remain: Q_ = Q_table[s, rm] if Q_>max_value: max_value = Q_ a = rm if np.random.uniform()<epsilon: a = np.random.choice(np.array(list(set(space)-set(path)))) if j!=3: Q_table[s,a] = (1-lr)Q_table[s,a]+lr(R_table[s,a]+gamma*max_value) else: Q_table[s,a] = (1-lr)Q_table[s,a]+lrR_table[s,a] path.append(a) Q_table[a,0] = (1-lr)Q_table[a,0]+lrR_table[a,0] path.append(0) print(Q_table) #即可得到最佳的TSP路径的Q表
强化学习用于路径规划,以Q-learning解决TSP问题为例
原创
©著作权归作者所有:来自51CTO博客作者fonzie的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
解决Python使用GPU
本文简单介绍了使用Python解决使用GPU的方法,并给出了TensorFlow和PyTorch示例;本文还介绍了TensorFlow GPU的安装版本介绍,以及介绍了安装CUDA的详细教程。
CUDA bash Python TensorFlow PyTorch -
MySQL主从同步延迟解决
mysql主从同步延迟解决
MySQL 主从同步 mysql主从同步