Skip to content

基于强化学习的一个寻找金币的小游戏(A small game of find gold coins based on reinforcement learning)

Notifications You must be signed in to change notification settings

boyliwensheng/find_gold_reinforce_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简介

这是一个基于强化学习的机器人寻找金币的小游戏,游戏网格里有三个元素:红色圆圈代表机器人、黄色圆圈代表机器人想要寻找的金币,黑色方块代表陷阱。这是一个程序自己玩的游戏,只需要运行程序,点击“开始学习”按钮,程序会自动开始探索环境,找到金币或者掉入陷阱则重新从入口开始探索。在开始运行程序的时候,机器人会像无头苍蝇一样在网格里乱走,经过一段时间的探索(大约5分钟),机器人可以很快地绕过陷阱,直达金币所在地。

程序刚开始机器人的运动轨迹:

image

一段时间后机器人的运动轨迹:

image

模块

这个程序非常简单,主要有两个模块。

  • Main_grid.py:利用PyQt5前端构建网格以及场景里边的元素。
  • RL_brain.py:构建一个强化学习模型,所用到的思想是基本的Q-learning算法。这是一种无模型的强化学习算法,主要利用了贝尔曼方程迭代地优化策略。

使用方式

运行“Main_grid.py”函数,弹出主界面,点击“开始学习”按钮,机器人开始在网格中学习寻找金币,点击“停止学习”按钮,机器人回到初始状态,并且把状态值函数归零。

以后有时间的改进

自定义设置“陷阱”,增加使用者的参与性。

About

基于强化学习的一个寻找金币的小游戏(A small game of find gold coins based on reinforcement learning)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages