Applied Python to Artificial Intelligence Algorithms::
Project links will not be provided since they are
proprietary to UC Berkeley and although the Pac Man code is open
source, the solutions are not allowed to be
shared.
We used Python and a provided Pac Man game written in
Python with the goal of the Pac Man not bumping into
walls, or ghosts that would eat them, and to instead
find food that gave them points, as they got through
various mazes to reach their goal. We learned
about:
-
Search and Planning: Solution Search applied to Pacman
game: We implemented
breadth first search (BFS) using a FIFO data structure to
explore graph paths, depth first search (DFS) using a stack
data structure for exploring graph paths, uniform cost
search and a star search, using priority queues to
explore graph paths and had to compare the results.
We ran the algorithms on different sized mazes for
Pacman to explore and made cost comparisons. We
examined what a greedy search would have been like,
and how some searches do better when you optimize the
heuristics.
-
Constraint Satisfaction Problems:Exercises in
Artificial Intelligence Algorithms
-
Multi Agents Added To Pacman, Including Ghosts, and
Using Minimax and Expectimax Search Design and Better
Evaluation Functions: We designed agents
for the classic version of the Pacman game which was
provided to us, including ghosts. We implemented both
minimax and expectimax search and tried out evaluation
function design.
-
Markov Decision Processes: policies, rewards and
values, value iteration and Reinforcement Learning:
TD/Q Learning, Exploration and Approximation
Reinforcement Learning Project: We implemented
Value Iteration and Q-learning, and tested our agents
first on GridWorld and later to a simulated robot
controller (Crawler) Pacman. Reinforcement learning:
an agent that takes actions on an environment, and the
output state and reward from the action are passed
back to the agent that took the action. It is a
Markov decision process, non-determininsitic.