You can run experiments for various benchmark environments using src/main.py. The command structure typically involves specifying a --config (the algorithm), an --env-config (the environment wrapper type), and env_args (environment-specific parameters).
Common Environment Commands
Matrix Games (using gymma):
python src/main.py --config=qmix --env-config=gymma with env_args.time_limit=25 env_args.key="matrixgames:penalty-100-nostate-v0"
Level Based Foraging (LBF) (using gymma):
python src/main.py --config=qmix --env-config=gymma with env_args.time_limit=50 env_args.key="lbforaging:Foraging-8x8-2p-2f-coop-v3"
RWARE (using gymma):
python src/main.py --config=qmix --env-config=gymma with env_args.time_limit=500 env_args.key="rware:rware-tiny-2ag-v2"
MPE (PettingZoo) (using gymma):
For MPE environments like simple adversary or simple tag, you can use pre-trained policies to make the task cooperative by setting env_args.pretrained_wrapper:
# For simple tag
python src/main.py --config=qmix --env-config=gymma with env_args.time_limit=25 env_args.key="pz-mpe-simple-tag-v3" env_args.pretrained_wrapper="PretrainedTag"
SMAC (using sc2):
python src/main.py --config=qmix --env-config=sc2 with env_args.map_name="3s5z"
# Example: Running QMIX on a specific SMAC map
python src/main.py --config=qmix --env-config=sc2 with env_args.map_name="3s5z"