Starting from:
$30

$24

HSEA-第二次作业

任务一(30pts) 实现演化算法玩Pacman游戏

在 evolutionAgents.py 中实现演化算法,并用来玩pacman游戏中的bigMaze、openMaze、smallMaze三个地图。


evolutionAgents.py 中仅给出简单参考,你可以在此基础上完善,或者自己另行实现。


该任务汇报的重点包括:

 说明你所实现的演化算法的一些关键步骤:

 演化算法玩Pacman的整体流程

 解的表示和合法解的生成

 评估函数设计

 演化算子设计

 以及其它你认为重要的部件

 说明你所实现的演化算法的实验效果:

 演化算法的具体参数设定

 演化算法整体运行流程中使用评估函数的次数,以及相应达到的分数(即演化算法的效率)


由于演化算法具有随机性,你应当运行多次算法来汇报结果

任务二(10pts) 在Search和Classic环境中测试你的演化算法

这个任务要求你在Search和Classic环境中测试你在任务一中实现的演化算法,具体测试地图:

Search1、 Search2 、 Search3;


minimaxClassic、originalClassic、powerClassic。


该任务汇报的重点包括:

 你如何调节参数来在这些环境中提升演化算法的效率,以及为什么要这样调。

任务三(20pts) 改进演化算法

对所实现的演化算法进行改进,并在任务二中的几个环境中进行测试。

可能的改进方向:

 解的表示改进

 评估函数改进

 演化算子改进

 参数优化

可能能参考的论文:

[RHEA] Rolling Horizon Evolution versus Tree Search for Navigation in Single-Player Real-Time Games

[Adaptive-RHEA] Self-Adaptive Rolling Horizon Evolutionary Algorithms for General Video Game Playing


该任务汇报的重点包括:

 演化算法的改进思路,即为什么要这么做?


你可以针对性地根据Search或者Classic环境的特点来改进算法,或者对算法进行通用的改进

 具体的改进实现;

 改进后的演化算法效率。

评分标准


作业的评分主要参考任务的完成情况(60%)以及报告的书写(40%)。

在报告中,你需要分别阐述每个任务的解决过程。实验报告应包括但不限于:任务叙述+解决方法+实验效果+必要分析,以及说明如何运行你的代码来获得实验中报告的结果。

特别提醒:一份逻辑清晰的实验报告和实验效果同等重要。

如果你的算法能取得好的效果,实验报告却潦草,最终也会影响你的分数。如果你无法实现效果好的算法,一份展现你努力尝试过程的报告也会弥补一些分数。

作业提交

 你需要提交一份压缩文件,以“学号_姓名”的方式命名,如“MG21370001_张三.zip”。文件中需要包含完整的项目代码和实验报告,在作业截止日期(11.26 23:59)前发送到xuek@lamda.nju.edu.cn,邮件标题命名和压缩文件一致。

 延期提交的折扣为-5/天,即每延迟一天,本次作业得分减5。你的作业流程可简单分为:熟悉代码、编程、修改、书写实验报告,请合理分配时间。

 作业的说明和代码会发布在课程群/课程主页。

注:若发现结果造假和作业出现雷同的情况,会根据相关规定给予惩罚,详情请参考课程主页中

“学术诚信”的相关内容。请同学们务必独立完成作业!

More products