Giter VIP home page Giter VIP logo

sharpsat-td's Introduction

Edit by Rafael Kiesel

This is a modified version of SharpSAT-TD that can compile CNFs into sd-DNNFs. Use with

./sharpSAT -dDNNF -decot 1 -decow 100 -tmpdir . -cs 3500 in.cnf -dDNNF_out out.nnf

to compile the cnf in.cnfinto an sd-DNNF saved in the file out.cnf. Without -dDNNF_out the sd-DNNF is printed to stdout.

For this to work, the input CNF must have weight annotations of the form c p weight <lit> <lit> 0 for each literal 0 < abs(lit) <= #vars.

SharpSAT-TD

DOI

Submission to model counting competition 2021 by Tuukka Korhonen and Matti Järvisalo (University of Helsinki). SharpSAT-TD is based on SharpSAT, with the main new features being the use of tree decompositions in decision heuristics, new preprocessor, and directly supporting weighted model counting.

SharpSAT-TD supports exact model counting, exact weighted model counting with arbitrary precision floats, and exact weighted model counting with doubles. See a detailed description in description.pdf.

Compiling

The external dependencies needed are the GMP library, the MPFR library, and CMAKE.

To compile and link dynamically use

./setupdev.sh

To compile and link statically use

./setupdev.sh static

The binaries sharpSAT and flow_cutter_pace17 will be copied to the bin/ directory.

Running

The currently supported input/output formats are those of Model counting competition 2021.

Example unweighted model counting: cd bin ./sharpSAT -decot 1 -decow 100 -tmpdir . -cs 3500 ../examples/track1_009.cnf

Example weighted model counting with arbitrary precision: cd bin ./sharpSAT -WE -decot 1 -decow 100 -tmpdir . -cs 3500 -prec 20 ../examples/track2_003.wcnf

Example weighted model counting with double precision: cd bin ./sharpSAT -WD -decot 1 -decow 100 -tmpdir . -cs 3500 ../examples/track2_003.wcnf

In the competition setting the value of the -decot flag was 120.

Flags

  • -decot - the number of seconds to run flowcutter to find a tree decomposition. Required. Recommended value 60-600 if running with a total time budjet of 1800-3600 seconds.
  • -tpmdir - the directory to store temporary files for running flowcutter. Required.
  • -decow - the weight of the tree decomposition in the decision heuristic. Recommended value >1 if the heuristic should care about the tree decomposition.
  • -cs - limit of the cache size. If the memory upper bound is X megabytes, then the value here should be around x/2-500.
  • -WE - enable weighted model counting with arbitrary precision.
  • -WD - enable weighted model counting with double precision.
  • -prec - the number of digits in output of weighted model counting. Does not affect the internal precision.

sharpsat-td's People

Contributors

raki123 avatar guyvdbroeck avatar laakeri avatar

Stargazers

AGI avatar

Watchers

James Cloos avatar Petr Illner 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.