【人工智能导论】吃豆人游戏(上):对抗搜索与Minimax算法

吃豆人实验(The Pac-Man Project)简介

【人工智能导论】吃豆人游戏(上):对抗搜索与Minimax算法_第1张图片

The Pac-Man projects were developed for UC Berkeley’s introductory artificial intelligence course, CS 188. They apply an array of AI techniques to playing Pac-Man.
The projects allow students to visualize the results of the techniques they implement. They also contain code examples and clear directions, but do not force students to wade through undue amounts of scaffolding. Finally, Pac-Man provides a challenging problem environment that demands creative solutions; real-world AI problems are challenging, and Pac-Man is too.

  • 吃豆人实验(The Pac-Man Project)是由加利福利亚大学伯克利分校的 John DeNero 和 Dan Klein 设计并开源给学习者使用。实验的初衷是使学生能在有趣的图形化可视化游戏界面中编写他们的AI。

  • 如果你去Google本实验,你会发现本实验还包括两个前置任务:设计基本游戏逻辑和实现简单的走迷宫搜索(如BFS、DFS、A star等)。然而本实验将不聚焦于游戏主体(图形界面和游戏逻辑)的设计,毕竟这是人工智能导论( Introduction to Artificial Intelligence)的课程实验而不是Python程序设计或者游戏设计的课程,我们将仅仅聚焦于吃豆人本身的智能反射体的设计和编写。

  • 本实验包括四个部分:

    1. Reflex Agent
    2. Minimax
    3. Alpha-Beta Pruning
    4. Evaluation Function
  • 本实验基于Python编写。

实验简介原址:The Pac-Man Project
实验文件:Download The Pac-Man Project (GitHub)


实验文件组成

下面简单讲解一下实验文件组成和用法。
【人工智能导论】吃豆人游戏(上):对抗搜索与Minimax算法_第2张图片

<
文件名称 备注
multiAgents.py 唯一需要编写的文件,所有的搜索智能体都将在此文件中
pacman.py 运行吃豆人游戏的主文件,包含了GameState类等
game.py 该文件实现了吃豆人游戏的运行逻辑,包含了像AgentState,Agent,Direction,Grid等几个起到支持作用的类
util.py 该文件包含了实现搜索算法需要的数据结构
ghostAgents.py 该文件控制幽灵的智能体
graphicsDisplay.py 该文件实现吃豆人游戏的图形界面
graphicsUtils.py 该文件为吃豆人游戏的图形界面提供支持

你可能感兴趣的:(算法,python,人工智能,游戏,广度搜索)