Skip to content

LatPlan : A domain-independent, image-based classical planner

Notifications You must be signed in to change notification settings

kpfadnis/latplan

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

./latplanlogo-simple.svg.png

LatPlan : A domain-independent, image-based classical planner

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.

Required software (install.sh)

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.

file structure

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.

Gallery

./img/hanoi_4_3_36_81_conv_blind_path_0.png ./img/lightsout_digital_4_36_20000_conv_Astar_path_0.png ./img/lightsout_twisted_4_36_20000_conv_Astar_path_0.png ./img/puzzle_mandrill_3_3_36_20000_conv_blind_path_0.png ./img/puzzle_mnist_3_3_36_20000_conv_blind_path_0.png ./img/puzzle_spider_3_3_36_20000_conv_blind_path_0.png

About

LatPlan : A domain-independent, image-based classical planner

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 86.1%
  • Common Lisp 10.1%
  • Shell 3.7%
  • Makefile 0.1%