zlatanajanovic / sketch-learner

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sketch Learner

This repository contains code for learning policy sketches for a given set of training instances Q_Train from a class of problems Q over a common classical planning domain.

Environment

  • Ubuntu 18.04
  • Python 3.8.3

Installation

Step 1: Clone the repo

git clone git@github.com:drexlerd/sketch-learner.git

Step 2: Create Python3 virtual environment

python3 -m venv --prompt slearn .venv
source .venv/bin/activate
pip install -r requirements.txt

How to learn sketches for a new planning domain?

The following command prints the help message.

python3 learning/main.py --help

The following command, learns a sketch of width 1 for a set of planning problem over a common domain.

python3 learning/main.py --domain_filepath <path/to/pddl/domain> --problems_directory <path/to/pddl/problems> --workspace <path/to/workspace> --width 1

It is important that the planning problems are small. If you have a problem generator, then exhaustively generate small instances with the number of each object type in the range from 1 to 3.

Running the Learning Experiments (ICAPS2022)

cd learning/experiments/scripts

./blocks_4_clear_0.sh
./blocks_4_clear_1.sh
./blocks_4_clear_2.sh

./blocks_4_on_0.sh
./blocks_4_on_1.sh
./blocks_4_on_2.sh

./delivery_0.sh
./delivery_1.sh
./delivery_2.sh

./gripper_0.sh
./gripper_1.sh
./gripper_2.sh

./miconic_0.sh
./miconic_1.sh
./miconic_2.sh

./reward_0.sh
./reward_1.sh
./reward_2.sh

./spanner_0.sh
./spanner_1.sh
./spanner_2.sh

./visitall_0.sh
./visitall_1.sh
./visitall_2.sh

Running the Testing Experiments (ICAPS2022)

TODO

Build the planner apptainers

cd testing/planners
./build-planners.sh

Run the experiments

cd testing/experiments
./experiment-siwr.py --all
./experiment-dual-bfws.py --all
./experiment-lama-first.py --all

About

License:GNU General Public License v3.0


Languages

Language:PDDL 96.8%Language:C++ 2.1%Language:Python 0.8%Language:SAS 0.1%Language:Common Lisp 0.1%Language:CMake 0.0%Language:Roff 0.0%Language:Shell 0.0%Language:TeX 0.0%Language:Jupyter Notebook 0.0%Language:C 0.0%Language:Cython 0.0%Language:Makefile 0.0%