This repository hosts the code for the first two deliverables of the subject. The authors are:
This is a quick overview of the functionality implemented. Further information about how does the algorithm work or pitfalls to avoid can be found inside the file multiAgents.py.
-
Alpha-Beta (recursive) -> AlphaBetaAgent
-
Expectimax (recursive) -> ExpectimaxAgent
-
Evaluation function -> betterEvaluationFunction
-
Mini-Max (iterative) -> IterativeMinimaxAgent
-
Alpha-Beta (iterative) -> IterativeAlphaBetaAgent
The most challanging part has been fine tunning the evaluation function and developing the iterative versions of the algorithms as there were minuances that could be easily overseen causing the algorithms to not work as expected or be not as efficient as they could be.
- In order to try the iterative versions you can pass the tests by replacing the name "IterativeMinimaxAgent" to "MinimaxAgent" and just run the tests. The same thing happens with "IterativeAlphaBetaAgent".
This is a quick overview of the functionality implemented.
- Question 1 -> valueIterationAgents.py
- Question 2 -> analysis.py
- Question 3 -> analysis.py
- Question 4 -> qlearningAgents.py
- Question 5 -> qlearningAgents.py
- Question 6 -> qlearningAgents.py