| .gitignore | ||
| ExecutionSkeleton.py | ||
| FourRooms.py | ||
| Makefile | ||
| README.md | ||
| requirements.txt | ||
| Scenario1.py | ||
| Scenario2.py | ||
| Scenario3.py | ||
CSC3022F ML Assignment 2 Channing Bellamy (BLLCHA013) 2 May 2024
Reinforcement learning with Q-learning algorithm for the Four Rooms problem.
This program requires Python 3 (tested on Python 3.12.3) with numpy and matplotlib.
The provided Makefile attempts to set up a Python virtual environment (venv) in the working directory and install the dependencies listed in requirements.txt.
To create a Python virtual environment, run "make" in this directory. To delete the Python virtual environment named ".venv", run "make clean" in this directory.
Please note that Python must be invoked inside the virtual environment. Either run ".venv/bin/python3 <name-of-script.py>" in this directory, or source the activation script in your shell "source .venv/bin/activate" which should put your shell inside the virtual environment.
FourRooms.py - this file is provided as part of the assignment data. It represents a Four Rooms problem "board" of tiles and contains functions to manipulate the agent by taking actions as well as reading the state. ExecutionSkeleton.py - this file is provided as part of the assignment data. It is the skeleton code for Scenario implementations. It is not currently directly used by the other files.
Scenario{1..3}.py - implements reinforcement learning with Q-learning algorithm for the Four Rooms problem. Uses an object of FourRooms.py to represent the tiled area. Scenario 1 has a single package to collect (red). Scenario 2 has 3 packages to collect in no particular order. Scenario 3 has 3 packages to collect in a specific order (first red, then green, then blue last).