GithubHelp home page GithubHelp logo

ssardina-research / mrr Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 131 KB

MRR: Minimum Reinsantiated Reorder

Home Page: https://bitbucket.org/max_waters

License: GNU General Public License v3.0

M 0.17% Python 1.82% Java 98.00%
planning

mrr's Introduction

MRR: Minimum Reinsantiated Reorder

MRR is an implementation of a MaxSAT-based technique for finding minimum deorderings and reorderings of a partial order plan. It can be configured to either find a minimum deorder or minimum reorder as per Muise et al., or a minimum reinstantiated deorder or minimum reiinstantiated reorder as per Waters et al.

Dependencies

Download the following .jar files to the lib directory:

The following programs must be installed:

The programs loandra and maxpre must be in the PATH.

Compiling MRR

From the root directory run:

ant build

MRR will be compiled into lib/mrr-0.0.1.jar.

Running MRR

Run MRR with the following command:

usage: pop-opt.py [-h] --domain DOMAIN --problem PROBLEM --plan PLAN --encoder ENCODER [--verbose]
			  	 

Required arguments:

  • --domain DOMAIN: The location of the PDDL domain file.
  • --problem PROBLEM: The location of the problem instance PDDL file.
  • --plan PLAN: The location of the plan which solves PROBLEM.
  • --encoder CSP_ENCODER: The encoder used to convert the input plan into a MaxSAT instance. Options are:
    • MD: Finds a minimum deorder as per Muise et al.
    • MR: Finds a minimum reorder as per Muise et al.
    • MR_OPSB: Finds a minimum reorder, also encodes operator symmetry breaking constraints.
    • MRD: Finds a minimum reinstantiated deorder.
    • MRR: Finds a minimum reinstantiated reorder.
    • MRR_OPSB: Finds a minimum reinstantiated reorder, also encodes operator symmetry breaking constraints.

Options:

  • --verbose: Verbose output.

Plan format

Plan files with a .m extension are assumed to be Madagascar parallel plans (e.g., example/p01.pddl.m), otherwise plans are assumed to be standard IPC format plans (e.g., e.g., example/p01.pddl.bfws).

Example

The example directory contains a small planning instance from the IPC rovers domain, and three different plans. Run MRR over the example with the following commmand:

./mktr.sh --domain example/domain.pddl --problem example/p01.pddl
		  --plan example/p01.pddl.m --encoder MRR
			  	 

Supported PDDL fragments

All features of basic STRIPS are supported, and some aspects of ADL, namely equality, typing and negative preconditions.

Contact

Max Waters ([email protected]).

License

This project is using the GPLv3 for open source licensing for information and the license visit GNU website (https://www.gnu.org/licenses/gpl-3.0.en.html).

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

mrr's People

Contributors

max-waters avatar

Watchers

James Cloos 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.