(
Back to course page)
Edit作业总览
本次作业目的是使用强化学习来自主玩Mr. PACMAN游戏。
首先,下载本次作业程序包
(点击下载ZIP) 程序包解释:
- src 是源代码目录
- sprites 和 examples 目录是运行需要的资源
- weka.jar 是开源机器学习包,配置Java项目时需包含此库
在本次作业中,你需要阅读程序,理解其中使用的强化学习算法,并训尝试修改程序提高学习性能。
Edit代码介绍
在之前的作业中,同学们已经了解了GVG-AI游戏的构成。在进行每一步决策时,agent可以通过模拟器进行动作模拟,以得到应该采用的动作。
本次作业中,在进行每一步决策时,我们将通过强化学习,得到Q值函数,并根据Q值函数进行决策。
Assignment4.java 是本次作业的入口,执行该程序,将启动游戏,可以观察到不断学习作出的决策。
controllers.learningmodel 目录下为该次作业的Agent代码,包含Agent.java, QPolicy.java, RLDataExtractor.java
- Agent.java 是Agent的封装
- QPolicy.java 是策略对象
- RLDataExtractor.java 是特征提取方法
Edit作业内容
- 阅读代码,阐述强化学习的方法和过程。并且回答以下问题:
- 策略模型用什么表示?该表示有何缺点?有何改进方法?
- Agent.java 代码中 SIMULATION_DEPTH, m_gamma, m_maxPoolSize 三个变量分别有何作用?
- QPolicy.java 代码中,getAction 和 getActionNoExplore 两个函数有何不同?分别用在何处?
- 尝试修改特征提取方法,得到更好的学习性能,并报告修改的尝试和得到的结果
- 尝试修改强化学习参数,得到更好的学习性能,并报告修改的尝试和得到的结果
Edit作业报告
本次作业只需要提交报告。报告需详细介绍学习方法和进行的实验尝试。
使用
这个文档模版(点击下载) 撰写实验报告。
Edit作业提交
将
作业报告 存储为PDF文件,用学号命名,例如141221001.pdf
上传到
ftp://lamda.nju.edu.cn/AI/assignment4/
(用户名: ai16, 密码: ai16)
(注意:该ftp不能替换文件,上传一次后,如果需要修改,请在文件名后加上版本号再上传,例如141221001-1.pdf)
注意:
作业严禁抄袭!