A hybrid deep reinforcement learning agent for the Sequence board game.
This project implements an advanced AI agent for the game Sequence, designed for the COMP90054 Sequence competition. The agent combines Deep Q-Learning (DQN) with heuristic evaluation to make intelligent, strategic moves. It is intended for students, researchers, and developers interested in game AI, reinforcement learning, and hybrid agent design.
- Hybrid Decision Making: Combines DQN-based policy with handcrafted heuristics for robust play.
- Deep Q-Network: Neural network models trained to evaluate board states and actions.
- Heuristic Scoring: Domain-specific logic to boost strategic moves (e.g., forming sequences, blocking opponents).
- Flexible Action Mapping: Dynamically maps game actions to neural network outputs.
- Model Loading: Loads pre-trained models for fast inference.
- Extensible: Modular codebase for easy experimentation and extension.
- Python 3.8+
- PyTorch (Deep Learning)
- NumPy (Numerical operations)
- COMP90054 Sequence Framework (Game engine and agent interface)
Clone the repository and set up the environment:
git clone https://github.com/deepakbhagatiitr/AI-Planning-for-Autonomy.git
cd AI Planning for Autonomy
pip install -r docker/requirements.txt(Optional) Use Docker for a reproducible environment:
cd docker
docker build -t sequence-agent .
docker run -it --rm -v $(pwd)/../:/workspace sequence-agent- Implement or modify your agent in
agents/t_XXX/myTeam.py. - Run matches using the provided Sequence game engine:
python -m Sequence.sequence_runner --agents agents/t_024/myTeam.py agents/generic/first_move.py- Train or evaluate models as needed (see code for details).
-
Model Weights:
Place pre-trained model files inagents/t_094/:hybrid_sequence_agent_local.pthhybrid_sequence_agent_target.pth
-
Environment Variables:
(None required by default. Add here if you introduce any.)
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or fix.
- Commit your changes with clear messages.
- Push to your fork and open a Pull Request.
This project is licensed under the MIT License.
