Git Product home page Git Product logo

numerictcore's Introduction

NumericTCORE

Repository Structure

  • bin/: the compiler's executable
  • benchmark/: benchmarks instances
  • NumericTCORE/: implementation of Numeric Tcore

Installation

Numeric Tcore uses the following external libraries:

  • unified-planning version 1.0.0.29.dev1
  • click
  • sympy

Use the following commands to install Numeric Tcore. We suggest starting with a fresh Python environment (we tested with Python 3.10).

  1. Install dependencies:
pip install click sympy unified_planning==1.0.0.29.dev1 --no-cache-dir
  1. From the "NumericTCORE" directory, install the package with:
pip install .

Running the compilation

The main entry point of Numeric Tcore is "./bin/ntcore.py". Basic usage:

python ./bin/ntcore.py DOMAIN PROBLEM OUTPUT_PATH
  • DOMAIN is the path to the pddl domain file.
  • PROBLEM is the path to the pddl problem file.
  • OUTPUT is the path to the folder (which must exist) that will contain the compiled domain and problem files.

To switch between the two variants of Numeric Tcore, use one of the following commands:

python ./bin/ntcore.py DOMAIN PROBLEM OUTPUT --naive_mode
python ./bin/ntcore.py DOMAIN PROBLEM OUTPUT --delta_mode

The option --naive_mode runs the basic version of ntcore, while --delta_mode runs ntcore^+. The default is --naive_mode. For more informations, run python ./bin/ntcore.py --help

Limitations

The current version of Numeric Tcore has been thoroughly tested with trajectory constraints featuring formulas with only numeric conditions (those in the benchmark/). In principle, Numeric Tcore supports propositional constraints, but in practice, such a feature has only been briefly tested.

Example

While inside the NumericTCORE folder, to compile the first instance of counters with ntcore^+ you can run:

python ./bin/ntcore.py benchmark/fn-counters/domain.pddl benchmark/fn-counters/instance_2.pddl . --delta_mode

Citation

@inproceedings{DBLP:conf/aaai/BonassiGS24,
  author       = {Luigi Bonassi and
                  Alfonso Emilio Gerevini and
                  Enrico Scala},
  title        = {Dealing with Numeric and Metric Time Constraints in {PDDL3} via Compilation
                  to Numeric Planning},
  booktitle    = {{AAAI}},
  pages        = {20036--20043},
  publisher    = {{AAAI} Press},
  year         = {2024}
}

numerictcore's People

Contributors

lbonassi95 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.