This is a project based on DeepMind's Hanabi Learning Environment with a focus on learning for ad-hoc teamplay). The main additions are:
- /Experiments/Rulebased contains implementation of some Hanabi Rule-based agents previously introduced by Walton-Rivers et al. and used in the Hanabi CoG Competition.
- /Experiments/Train_Paired_DQN integrates rule-based agents in the Rainbow training procedure to train variants of Rainbow specialized at playing with any subset of these agents.
- /Experiments/Behavioral_Evaluation performs behavioral analysis of the games played, keeping track of metrics such as communicativeness, information per play (IPP) and number of correct/incorrect plays. Communicativeness and IPP were first introduced in this related paper
Run run_from_checkpoint_rule_based.sh to get performance of rainbow agents vs. rule-based agents. Run run_from_checkpoint_rainbow.sh to get performance of rainbow agents vs. rainbow agents.
This is not an officially supported Google product.
hanabi_learning_environment is a research platform for Hanabi experiments. The file rl_env.py provides an RL environment using an API similar to OpenAI Gym. A lower level game interface is provided in pyhanabi.py for non-RL methods like Monte Carlo tree search.
sudo apt-get install g++ # if you don't already have a CXX compiler
sudo apt-get install cmake # if you don't already have CMake
sudo apt-get install python-pip # if you don't already have pip
pip install cffi # if you don't already have cffi
cmake .
make
python rl_env_example.py # Runs RL episodes
python game_example.py # Plays a game using the lower level interface