Skip to content

sysulic/ABS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An Automatic Sound and Complete Abstraction Method for Generalized Planning with Baggable Types

Project Information

Platform: Windows 10 x64
IDE: Visual Studio
Language: C++17

Quick Start

The abstraction system ABS runs on Windows x64.

Use Windows cmd or VS/VS-code terminal and enter the current directory.

1. Generating mutex groups

python3 translate/genMutexAddition.py <domain-pddl-path> <problem-pddl-path> <output-path>

Example

By running the following command, you can find the mutex groups of baggable types in the domain at domains/Gripper-HLWB/addition.

python3 translate/genMutexAddition.py domains/Gripper-HLWB/domain.pddl domains/Gripper-HLWB/prob1-1.pddl domains/Gripper-HLWB/addition

2. Running ABS (Abstraction System)

bin\ABS.exe <domain-directory> <problem-name> <output-directory>

Where the <domain-directory> should contain the following files:

  • domain.pddl
    The domain description in PDDL format.

  • addition
    The mutex groups of baggable types in the domain.

  • <problem-name>.pddl
    The problem description in PDDL format.

And the following files will be added to <output-directory>:

  • <problem-name>.abs
    The definitions of the numeric and propositional variables.

  • <problem-name>.info
    Statistics such as ABS time, number of numerical variables, propositional variables, etc.

  • <problem-name>.qnp
    The BQNP problem in QNP format used by qnp2fond.

Example

By running the following command, you can find the abstraction result files for problem "prob1-1" (with domain "Gripper-HLWB") in .\generation\Gripper-HLWB\.

bin\ABS.exe .\domains\Gripper-HLWB prob1-1 .\generation\Gripper-HLWB

Directory Structure

  • ABS/
    C++ source code of our Abstraction System. ABS/mainABS.cpp is the entry file.

  • bin/
    Executable programs generated by compiling the ABS system.

  • domains/
    Domains, problems, and mutex groups from our paper, serving as input for ABS.

  • generation-paper/
    Outputs for each problem in domains/ by ABS (files ending with ".abs", ".info", and ".qnp").

  • VAL/
    An external library from VAL used for PDDL format validation and auxiliary parsing.

  • eigen-3.4.0/
    An external library from Eigen.

  • translate/
    Python scripts for automatically generating mutex groups (built on top of the "translate" module in downward). The entry file is genMutexAddition.py.

  • Solver.sln
    Visual Studio solution file.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published