8000 GitHub - fuxianh/latplan: LatPlan : A domain-independent, image-based classical planner
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fuxianh/latplan

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 < 8000 /div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

./latplanlogo-simple.svg.png

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

  • NEWS Initial release: Published after AAAI18.
  • NEWS Updates on version 2: Mainly the refactoring. AAAI18 experiments still works.

This repository contains the source code of LatPlan.

  • Asai, M.: 2019. Unsupervised Grounding of Plannable First-Order Logic Representation from Images (code not yet available)
    • Accepted in ICAPS-2019, Learning and Planning Track.
  • Asai, M.; Kajino, F: 2019. Towards Stable Symbol Grounding with Zero-Suppressed State AutoEncoder (code not yet available)
    • Accepted in ICAPS-2019, Learning and Planning Track.
  • 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

Python 3.5 or later is required.

On Ubuntu, prerequisites can be installed via launching ./install.sh . The script compiles several C++ and Lisp binaries. However, it does not affect the running system (e.g. installing a custom software under /usr/) except for performing several apt-get install from the official ubuntu repository.

The applications installed by the script consists of:

  • mercurial g++ cmake make python flex bison g++-multilib — these are required for compiling Fast Downward.
  • git build-essential automake libcurl4-openssl-dev — these are required for compiling [Roswell](http://roswell.github.io/). OSX users should use brew install roswell.
  • parallel — for running some scripts. This is not essential, but if you don’t parallel, give it a try! It is a super useful tool.
  • python3-pip python3-pil — python packages.
  • tensorflow keras h5py matplotlib progressbar2 timeout_decorator ansicolors scipy scikit-image — more python packages.
  • bash-completion byobu htop mosh These are not necessary :) but I just use this script also for setting up the environment in a new machine.

file structure

config.py, config_cpu.py
keras/tensorflow configuration.
model.py
network definitions.
strips.py
(Bad name!) the program for training an SAE, and writes the propositional encoding of states/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.
various sh files
supporting scripts.
util/
contains general-purpose utility functions for python code.
tests/
test files, mostly the unit tests for domain generator/validator
samples/
where the learned results should go. Each SAE training results are stored in a subdirectory.
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 80.6%
  • Common Lisp 13.2%
  • Shell 5.4%
  • Other 0.8%
0