作业3: Aliens游戏

Modified: 2017/02/19 18:02 by admin - Uncategorized
(Back to course page)

Edit

作业总览

本次作业目的是使用监督学习来模仿人玩游戏的动作。

首先,下载本次作业程序包(点击下载ZIP)

程序包解释:
  • src 是源代码目录
  • sprites 和 examples 目录是运行需要的资源
  • weka.jar 是开源机器学习包
  • model.model 是我训练的一个模型

在本次作业中,你需要收集数据,并训练学习模型。

Edit

收集数据

在Train.java中已经为大家准备好了收集数据的运行入口。运行Train.java,将会记录每一时刻游戏画面的特征和你按下的按键(左、右、空格)。

tools.recorder.java 是提取特征和保存数据文件的代码:
  • featureExtract 函数提取特征,这里我已经写了简单的特征提取方法,就是记录屏幕上每个位置的信息,以及4个游戏状态信息
  • datasetHeader 函数是准备数据集的格式信息(需与提取的特征保持一致)
  • invoke 函数记录特征和按键,按键信息将被视为类别
  • 数据将保存在 AliensRecorder.arff 文件中

你可以修改特征提取的方法,然后运行 Train.java 玩出一场漂亮的游戏(注意,监督学习只能模拟你的行为,如果你的行为有错误,不能纠正你的错误),得到数据文件。

Edit

训练模型

Weka.jar 是优秀的开源机器学习包。Weka可以使用图形界面操作,但鼓励大家阅读weka的源代码(多一些积累,多一点能力)。

双击weka.jar(或从命令行运行 java weka.jar )启动图形界面,选择 Explorer,出现 Explorer 界面:

首先,点击 Openfile,打开 AliensRecorder.arff,然后点击 Classify 进入分类页面:

选择分类器和参数,点击 Start 训练模型,观察训练结果,然后保存模型为 model.model

Edit

测试模型

运行 Test.java ,将读入 model.model 中保存的模型,自动开始游戏。



Edit

作业内容

  1. 对于现有的特征提取方法,收集训练数据,尝试三种以上的学习方法,撰写学习方法的介绍,报告性能对比
  2. 尝试修改特征提取方法,得到更好的学习性能

Edit

作业报告

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

Edit

作业提交

作业报告 存储为PDF文件,用学号命名,例如141221001.pdf,并与的源码打包为 学号命名的.zip文件,例如 141221001.zip

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

注意:作业严禁抄袭!

The end