是时候玩Pacman了!Pacman将分两个阶段玩游戏。在训练的第一阶段,Pacman将开始学习位置和动作的值。因为学习精确的Q-values值需要很长的时间,即使是很小的网格,Pacman的训练游戏默认以安静模式运行,没有GUI(或控制台)显示。一旦Pacman的训练完成,将进入测试模式。测试时,Pacman的self.epsilon和self.alpha将被设置为0.0,有效地停止Q-learning学习和禁用探索,以允许Pacman利用其学习策略。默认情况下,测试游戏显示在GUI中。在没有任何代码更改的情况下,您应该能够为非常小的网格运行 Q-learning Pacman,如下所示:
python pacman.py -p PacmanQAgent -x 2000 -n 2010 -l smallGrid
请注意,PacmanQAgent的QLearningAgent已经为您定义了。PacmanQAgent的唯一不同之处在于它有默认的学习参数,这些参数对Pacman问题更有效(epsilon=0.05,alpha=0.2,gamma=0.8)。您的代理至少赢得80%的时间,您将获得此问题的全部学分。2000次训练结束后,autograder将进行100次测试。 提示:如果您的qLearningAgent适用于gridworld.py和crawler.py,但似乎没有为smallGrid上的pacman学习提供好的策略,可能是因为您的getAction或computerationFromQValues方法在某些情况下不能正确考虑未看到的动作。特别是,由于未看到的动作在定义上具有0的Q-value值,如果所有已看到的动作都具有负的Q值