Skip to content

lerker/PacmanAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PacmanAI

Berkeley implementation of Pacman AI adapted by Nelson Ponzoni only for teaching propourses

Files you'll edit: search.py: Where all of your search algorithms will reside. searchAgents.py: Where all of your search-based agents will reside. Files you might want to look at: pacman.py: The main file that runs Pacman games. This file describes a Pacman GameState type, which you use in this project. game.py: The logic behind how the Pacman world works. This file describes several supporting types like AgentState, Agent, Direction, and Grid. util.py: Useful data structures for implementing search algorithms.

pacman_game

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. However, these projects don't focus on building AI for video games. Instead, they teach foundational AI concepts, such as informed state-space search, probabilistic inference, and reinforcement learning. These concepts underly real-world application areas such as natural language processing, computer vision, and robotics.

Projects

  • P1 - Search: implement depth-first, breadth-first, uniform cost, and A* search algorithms. These algorithms are used to solve navigation and traveling salesman problems in the Pacman world.

  • P2 - Multi-Agent Search: implement multiagent minimax and expectimax algorithms, as well as designing evaluation functions.

  • P3 - Reinforcement Learning: implement model-based and model-free reinforcement learning algorithms, applied to the AIMA textbook's Gridworld, Pacman, and a simulated crawling robot.

  • P4 - Ghostbusters: implement exact inference using the forward algorithm and approximate inference via particle filters.

  • P5 - Classification: implement standard machine learning classification algorithms using Naive Bayes, Perceptron, and MIRA models to classify digits then extend this by implementing a behavioral cloning Pacman agent.

  • P6 - Contest: Pacman Capture the Flag: create strategies for a team of two agents to play a multi-player capture-the-flag variant of Pacman.

P1 - Search

maze

All those colored walls, mazes give Pacman the blues, so teach him to search. Implement depth-first, breadth-first, uniform cost, and A* search algorithms. These algorithms are used to solve navigation and traveling salesman problems in the Pacman world.

search.py - the search algorithms
searchAgents.py - the search-based agents
pacman.py - the main file that runs Pacman games
game.py - the logic behind how the Pacman world works
util.py - useful data structures for implementing search algorithms

  • Q1: Depth First Search (search.py - depthFirstSearch)
  • Q2: Breadth First Search (search.py - breadthFirstSearch)
  • Q3: Uniform Cost Search (search.py - uniformCostSearch)
  • Q4: A* Search (search.py - aStarSearch)
  • Q5: Corners Problem: Representation (searchAgents.py - CornersProblem)
  • Q6: Corners Problem: Heuristic (searchAgents.py - cornersHeuristic)
  • Q7: Eating All The Dots: Heuristic (searchAgents.py - FoodSearchProblem)
  • Q8: Suboptimal Search (searchAgents.py - findPathToClosestDot)

About

Berkeley implementation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages