This repository contains the source code of LatPlan.
- Asai, M.; Fukunaga, A: 2018. Classical Planning in Deep Latent Space: Breaking the Subsymbolic-Symbolic Boundary.
- Accepted in AAAI-2018.
- Asai, M.; Fukunaga, A: 2017. Classical Planning in Deep Latent Space: From Unlabeled Images to PDDL (and back).
- In Knowledge Engineering for Planning and Scheduling (KEPS) Workshop (ICAPS2017).
- In Cognitum Workshop at ICJAI-2017.
- In Neural-Symbolic Workshop 2017.
- Arxiv https://arxiv.org/abs/1705.00154
install.sh should install the required libraries on a standard Ubuntu rig.
It requires sudo
several times. However Python packages are installed in the user directory.
Run do-everything.sh
to generate the problem instances, train the network etc.
install.sh only works on ubuntu.
mercurial g++ cmake make python flex bison g++-multilib
For compiling Fast Downward. FD is just compiled, not installed.
git build-essential automake libcurl4-openssl-dev
For compiling [Roswell](http://roswell.github.io/).
OSX users should use brew install roswell
.
python3-pip python3-pil parallel bash-completion byobu htop parallel mosh git
Some are not necessary :)
tensorflow keras h5py matplotlib progressbar2 timeout_decorator ansicolors scipy scikit-image
I didn’t follow the latest keras, though. (It works in 2.0.5) This part may not work right.
- model.py
- network definitions.
- strips.py
- (Bad name!) the program for training an SAE, and writes the input images/transitions to a CSV file.
- state_discriminator3.py
- The program for training an SD.
- action_autoencoder.py
- The program for training an AAE.
- action_discriminator.py
- The program for training an AD.
- fd-planner.py
- Latplan using AMA1.
- trivial-planner.py
- Latplan using AMA2.
- run_ama1_all.sh, run_ama2_all.sh
- Run all experiments. Beware! You need a good compute resource!
- config.py
- keras/tensorflow config related
- various junk sh files
- support scripts.
- util/
- utility files
- tests/
- test files, mostly the unit tests for domain generator/validator
- samples/
- where the learned results should go. Each SAE training results in a properly named directory.
- puzzles/
- code for domain generators/validators.
- puzzles/*.py
- each file represents a domain.
- puzzles/model/*.py
- the core model (successor rules etc.) of the domain. this is disentangled from the images.
- problem-instances/
- where the input problem isntances / experimental results should go.
- helper/
- helper scripts for AMA1.
- (git submodule) planner-scripts/
- My personal scripts for invoking domain-independent planners. Not just Fast Downward.
- (git submodule) downward/
- My personally maintained version of Fast Downward, forked around 2015.