CS188 Project 2

CS188 Project 2: Multi-Agent Search

加州大学伯克利分校EECS 188 AI课程2024年秋季项目2的代写。该项目主题是多智能体搜索(Multi – Agent Search),要求学生为经典的吃豆人游戏(Pacman)设计智能体,包括实现 minimax 和 expectimax搜索算法,并设计评估函数。项目截止日期为10月2日晚上11:59(太平洋时间)。

1. **项目文件结构**
– **编辑文件**:`multiAgents.py`,用于实现多智能体搜索智能体。
– **参考文件**:`pacman.py`(运行游戏的主文件,定义了游戏状态类型)、`game.py`(游戏世界的逻辑)、`util.py`(用于搜索算法的数据结构)等。
– **可忽略文件**:如`graphicsDisplay.py`(图形显示相关)、`ghostAgents.py`(控制幽灵的智能体)等。
2. **项目任务**
– **Q1(4分):反射智能体(Reflex Agent)**:改进`multiAgents.py`中的`ReflexAgent`,使其在`testClassic`布局中表现良好,并在`openClassic`布局上进行测试评分。
– **Q2(5分):极小极大算法(Minimax)**:在`multiAgents.py`的`MinimaxAgent`类中实现对抗搜索智能体,扩展游戏树到任意深度,使用给定的评估函数对叶子节点评分。
– **Q3(5分):α – β剪枝(Alpha – Beta Pruning)**:在`AlphaBetaAgent`中实现α – β剪枝算法,提高搜索效率,确保剪枝后的结果与`MinimaxAgent`相同(极小极大值相同,选择的动作可能因打破平局的行为不同而不同)。
– **Q4(5分):期望极大算法(Expectimax)**:在`ExpectimaxAgent`中实现期望极大算法,用于建模可能做出次优选择的智能体的概率行为。
– **Q5(6分):评估函数(Evaluation Function)**:在`betterEvaluationFunction`中编写一个更好的评估函数,用于评估状态,在`smallClassic`布局上进行测试评分。
3. **项目工具**
– **自动评分器(Autograder)**:可用于在本地对答案进行评分,通过`python autograder.py`命令运行所有问题的测试,也可针对特定问题或测试用例运行。
4. **注意事项**
– 不要从项目1复制文件,否则无法通过Gradescope的自动评分器。
– 不要更改提供的函数或类的名称,否则会影响自动评分器的运行。
– 鼓励学生在遇到问题时向课程工作人员寻求帮助。