This repository contains the coursework for Artificial Intelligence course.
- LeftTurnAgent
- A pacman agent that whenever possible, tries to turn left. Has all of the information.
- HungryAgent
- A pacman agent, whose main goal is to eat all the food. His information limited to up to 5 squares away from him.
- SurvivalAgent
- A pacman agent, whose main goal is to stay alive as much as possible. His information limited to up to 5 squares away from him.
- PartialAgent
- A pacman agent that only has information in his vicinity up to 5 squares down the hallway. He can also see whats one square right around the corner if being at an intersection and can hear what is behind the wall on the square perpendicular to him.
- RandomAgent
- A pacman agent that does a random move without any considerations.
- RandomishAgent
- A pacman agent that chooses a random direction and continues going in that direction until hits a wall and chooses a different random direction.
- SensingAgent
- A pacman agent that displays information about map. Doesn't move.
- MapAgent
- A pacman agent that creates an internal map of the layout and displays it. Makes random moves.
- MDPAgent
- A pacman agent that uses Markov Decision Process to solve the best move to make. Uses Approximate Value Iteration algorithm to calculate utilities of each square. Chooses the next move based on Maximum Expected utility.
- Requires Python 2.7 installed on your system
- To run selected agent, type into the console:
python pacman.py --pacman <Selected Agents class name> -l mediumClassic
- For a different maze layout:
python pacman.py --pacman <Selected Agents class name> --layout smallClassic
- For a maze layout without ghosts:
python pacman.py --pacman <Selected Agents class name> --layout mediumClassicNoGhosts
- List of available layouts:
bigCorners bigMaze bigSafeSearch bigSearch boxSearch capsuleClassic contestClassic contoursMaze greedySearch mediumClassic mediumClassicNoGhosts mediumMDPNoGhosts mediumCorners mediumDottedMaze mediumMaze mediumSafeSearch mediumScaryMaze mediumSearch minimaxClassic oddSearch openClassic openMaze openSearch originalClassic powerClassic smallClassic smallGrid smallMDPGrid smallMaze smallSafeSearch smallSearch testClassic testMaze testSearch tinyCorners tinyMaze tinySafeSearch tinySearch trappedClassic trickyClassic trickySearch