作业4: PacMan游戏

Modified: 2018/03/09 15:03 by admin - Uncategorized
(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

作业内容

  1. 阅读代码,阐述强化学习的方法和过程。并且回答以下问题:
    1. 策略模型用什么表示?该表示有何缺点?有何改进方法?
    2. Agent.java 代码中 SIMULATION_DEPTH, m_gamma, m_maxPoolSize 三个变量分别有何作用?
    3. QPolicy.java 代码中,getAction 和 getActionNoExplore 两个函数有何不同?分别用在何处?
  2. 尝试修改特征提取方法,得到更好的学习性能,并报告修改的尝试和得到的结果
  3. 尝试修改强化学习参数,得到更好的学习性能,并报告修改的尝试和得到的结果

Edit

作业报告

本次作业只需要提交报告。报告需详细介绍学习方法和进行的实验尝试。 使用这个文档模版(点击下载) 撰写实验报告。

Edit

作业提交

作业报告 存储为PDF文件,用学号命名,例如151221001.pdf

上传到 ftp://lamda.nju.edu.cn/AI/assignment4/ (用户名: ai18, 密码: ai18)
(注意:该ftp不能替换文件,上传一次后,如果需要修改,请在文件名后加上版本号再上传,例如151221001-1.pdf)

注意:作业严禁抄袭!

The end