Pacman with Reinforcement Learning
Forking a Pacman Game to merge with AI Algorithms
My contributions (505 lines of code):
Sprint 1: Basic searching algorithms merged into Pacman | 100 lines of code
- BFS, DFS, A*, UCS, and helper function: 35 lines of code total
- Touch all corners heuristic challenge: 63 lines of code
- Eat the closest food pellet challenge: 2 lines of code + BFS
Sprint 2: (Part I) Multi-agent search using heuristics and minimax | 81 lines of code
- Reflexive Agent (eat food, avoid ghosts): 56 lines of code
- Minimax strategy for Pacman and any number of ghosts: 25 lines of code
Sprint 2: (Part II) Multi-agent search using alpha-beta Pruning, expectimax, and heuristics | 123 lines of code
- Alpha-Beta Pruning: 39 lines of code
- Expectimax: 32 lines of code
- Improved Heuristics: 52 lines of code
Sprint 3: Advanced strategies | 201 lines of code
- Value iteration (offline planner): 40 lines of code
- Asynchronous value iteration (offline planner): 8 lines of code + value iteration
- Prioritized sweeping value iteration (offline planner): 51 lines of code + asynchronous value iteration
- Q-Learning (online): 84 lines of code
- Epsilon Greedy Q-Learning (partially random MDP, online): 5 lines of code + Q-Learning
- Approximate Q-Learning (weighting states, online): 13 lines of code + Q-Learning