学习日志-2021.10.09
今日主要内容:
-
成功运行两个sarsa算法相关的项目(用于路径规划):
每轮迭代:Agent走到障碍物上或到达目标。
-
RL_Sarsa_E1(小地图):
迭代1000轮后,自己寻找路径的结果
-
RL_Sarsa_E2(大地图):
跑了快一个小时。。。。(迭代6000轮)
与项目地址Q-Learning算法示例结果不同,应该是算法差异造成的。
-
-
解析项目基本结构:
- 学习模块
- 初始化参数(动作空间、学习率、折扣率、ε等)
- 选择动作(策略函数)
- 学习函数(此处应用Sarsa算法,用于更新Q表;此处应该还另外添加了一个Q表状态的查询,若目前状态不存在于Q表,则将该状态加入Q表)
- 环境模块
- 初始化环境(迷宫大小、障碍设置)
- 接受Agent的动作(返回新的状态和奖励)
- 运行模块
- 将前面两个模块连贯起来(负责显示画面,判断是否达到结束状态,输出最终结果)
- 学习模块
-
后续实现可能会参考以上的算法,具体的应用想去实现小鸟飞行的例子(简单)。