Giter Site home page Giter Site logo

ginkgo's Introduction

ginkgo GitHub Release Build Status Build Status

Generalize learned constraints with ASP

Overview

ginkgo uses ASP techniques to automatically generalize learned conflict constraints to make them applicable to other PDDL problem instances.

ginkgo proceeds in a four-step approach:

  1. Conflict constraints are extracted while solving a logic program with xclasp, a variant of clasp extended with facilities for logging learned constraints.
  2. The learned constraints are generalized by abstraction over the time domain, which results in candidate properties.
  3. The candidate properties are validated, using an induction-based proof method or a simpler, state-wise method.
  4. Valid generalized constraints can finally be reused via generalized constraint feedback, that is, by enriching logic programs with the newly generalized constraints.

Building and Installation

ginkgo is built with cmake and requires a compiler capable of C++14 as well as boost and jsoncpp. ginkgo requires clasp, xclasp, and gringo binaries at runtime. The optional graphical output requires GTKmm.

Usage

ginkgo consists of the following tools:

  • ginkgo-produce accepts a PDDL instance and domain as input (as ASP facts, such as obtained with plasp) and generalizes a specified number of learned constraints.
  • ginkgo-consume performs generalized constraint feedback. That is, a given is solved again but enriched with a specific number of constraints previously generalized with ginkgo-produce. ginkgo-consume was primarily implemented for benchmarking and demonstration purposes.
  • ginkgo-analyze uses the statistical output of the above two tools and aggregates the results for easier evaluation.
  • ginkgo-evaluate displays a graphical evaluation of the statistical analyses.

Use the option --help for a full list of options of each of the respective tools.

Literature

Contributors

ginkgo's People

Contributors

pluehne avatar

Stargazers

 avatar Thomas Krennwallner avatar

Watchers

James Cloos avatar  avatar Sefika Efeoglu avatar  avatar

Forkers

alstonlin

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.