Project for SJTU AI3601.
Using technique-enhancing MAPPO algorithm for specific multi-agent reinforcement learning task Snakes 3v3. For this specific task, we design features, reshape rewards and use several techniques to improve the agent's performance. The techniques include but are not limited to:
- Normalization
- Policy Entropy
- Learning Rate Decay
- Curriculum Learning
- Self-play Enhancement
- Rule-based Enhancement
-
Install the requirements.
pip install -r requirements.txt
-
Extract the files to the root directory of the official Snake3v3 code provided by JIDI. The structure of files should be like this.
- your working directory |- env # JIDI official provided |- utils # JIDI official provided |- agents # opponents |- src |- requirements.txt |- run.sh |- ... # other directories and files
-
Run the following script for training.
bash run.sh
Note: some agents as opponents are not included in this repository, please train models for them and remove the corresponding comments in src/model/opponent_pool.py to achieve better performance.
-
Credits: The framework of code is based on Lizhi's code.
-
Competition page: JIDI Snakes 3v3.
-
JIDI Snakes 3v3 official example: JIDI AI.