LXXXXR / CACOM

Code for "Context-aware Communication for Multi-agent Reinforcement Learning"
Apache License 2.0
17 stars 3 forks source link

Context-aware Communication for Multi-agent Reinforcement Learning

This is the implementation of our paper "Context-aware Communication for Multi-agent Reinforcement Learning" in AAMAS 2024. This repo is based on the open-source pymarl framework, and please refer to that repo for more documentation.

Installation instructions

Set up StarCraft II and SMAC:

bash install_sc2.sh
export SC2PATH=[Your SC2 folder like /abc/xyz/3rdparty/StarCraftII]

Install Python environment with conda:

conda create -n cacom python=3.7 -y
conda activate pymarl

then install with requirements.txt using pip:

pip install -r requirements.txt

Run an experiment

python src/main.py --config=[Algorithm name] --env-config=[Env name] --exp-config=[Experiment name]

The config files are all located in src/config.

--config refers to the config files in src/config/algs. --env-config refers to the config files in src/config/envs. --exp-config refers to the config files in src/config/exp. If you want to change the configuration of a particular experiment, you can do so by modifying the yaml file here.

All results will be stored in the work_dirs folder.

For example, run CACOM on MMM3:

python src/main.py --exp-config=mmm3_s0 --config=cacom --env-config=sc2

Citing

If you use this code in your research or find it helpful, please consider citing our paper:

@article{li2024context,
  title={Context-aware Communication for Multi-agent Reinforcement Learning},
  author={Li, Xinran and Zhang, Jun},
  booktitle={accepted by International Conference on Autonomous Agents and Multiagent Systems (AAMAS)},
  year={2024}
}