This repository houses code for the AAAI 2021 paper:
Planning with Learned Object Importance in Large Problem Instances using Graph Neural Networks
Tom Silver*, Rohan Chitnis*, Aidan Curtis, Joshua Tenenbaum, Tomas Lozano-Perez, Leslie Pack Kaelbling.
For any questions or issues with the code, please email ronuchit@gmail.com and tslvr@mit.edu.
Link to paper: https://arxiv.org/abs/2009.05613
Link to video: https://www.youtube.com/watch?v=FWsVJc2fvCE
Instructions for running (tested on Mac and Linux):
- Use Python 3.6 or higher.
- Download Python dependencies:
pip install -r requirements.txt
. - Make sure the directory containing this code is in your PYTHONPATH.
- Download and build the plan validation tool available at https://github.com/KCL-Planning/VAL, then make a symlink called
validate
on your path that points to thebuild/Validate
binary, e.g.ln -s <path to VAL>/build/Validate /usr/local/bin/validate
. If done successfully, runningvalidate
on your command line should give an output that starts with the line: "VAL: The PDDL+ plan validation tool". If you have trouble with the symlink, you can just directly changeVALIDATE_CMD
inplanning/validate.py
to point to thebuild/Validate
binary. Note: we have found more success directly downloading binaries from https://dev.azure.com/schlumberger/ai-planning-validation/_build?view=runs (click the latest green run, click one of the Jobs near the bottom, then click "artifacts produced" to get to the downloadable binaries), rather than building from the Github source.
Now, ./run.sh
should work. Different domains and methods can be run by modifying the variables at the top of run.sh.