GithubHelp home page GithubHelp logo

clasp's Introduction

                                clasp-3.x
              A conflict-driven nogood learning answer set solver 
                     http://www.cs.uni-potsdam.de/clasp/
					  http://potassco.sourceforge.net/

OVERVIEW
  clasp is an answer set solver for (extended) normal and disjunctive logic programs. 
  It combines the high-level modeling capacities of answer set programming
  with state-of-the-art techniques from the area of Boolean constraint solving.
  The primary clasp algorithm relies on conflict-driven nogood learning, 
  a technique that proved very successful for satisfiability checking (SAT).
  Starting with version 2.0, clasp supports parallel (multithreaded) solving.
  Starting with version 3.0, clasp supports
   - disjunctive logic programs as in claspD-2
   - domain heuristic modifications as in hclasp via option "--heuristic=domain"
   - unsatisfiable-core based optimization as in unclasp via "--opt-strategy={4,5}"
  
  clasp is written in (mostly) Standard-C++. It was successfully built and run
  under Linux (x86-32, x86-64) using gcc/clang and Windows (x86-32, x86-64) using
  either Microsoft Visual Studio or MinGW. 
  
  Detailed information (including a User's manual), source code,
  and pre-compiled binaries are available at: http://potassco.sourceforge.net/
 
LICENSE
  clasp is part of the Potassco project hosted at SourceForge.
  It is distributed under the GNU Public License. See COPYING for
  details regarding the license.

PACKAGE CONTENTS
  COPYING      - GNU Public License
  CHANGES      - Major changes between versions
  README       - This file
  configure.{sh,bat}
               - Simple script that creates Makefiles for building clasp (library and application) 
  app/         - Source code directory of the command-line interface
  libclasp/    - Directory of the clasp (static) library (sources, documentation, unit tests)
  libprogram_opts/
               - Library for parsing command-line options (needed by app)
  build_vc/    - Directory containing Visual Studio project files for building clasp
  tools/       - Some additional files
  
BUILDING & INSTALLING
  The preferred way to build clasp is to use make and the provided configure script.
  You'll need to have the GNU Compiler Collection (GCC) version 3 or
  better installed in order to build clasp. You'll also need GNU make 3.80 or better. 
  On Microsoft Windows, we recommend using MinGW available from http://www.mingw.org/ - 
  You may want to visit http://www.mingw.org/wiki/Getting_Started for detailed
  instructions on installing MinGW. Make sure to also install MinGW-make.
  
  In the following it is assumed that 'make' is an alias for the installed GNU make. 
  If this is not the case on your system, replace 'make' with the name of the GNU make 
  executable (e.g. gmake). Furthermore, on Microsoft Windows use ./configure.bat instead of
  ./configure.sh.

  clasp's multithread support requires the Intel Threading Building Blocks library (version >= 3.x) 
  which is freely available at: http://threadingbuildingblocks.org/ 
  After downloading and installing you may want to set and export the 
  TBB30_INSTALL_DIR environment variable.

  Type 
    ./configure.sh --help 
  to get an overview of all supported build configurations/options.
  
  To build clasp:
    ./configure.sh
    cd build/release
    make
  
  To build clasp with multithread support using TBB30_INSTALL_DIR:
    ./configure.sh --with-mt
    cd build/release_mt
    make
  
  To build clasp with multithread support using custom directory structure:
    ./configure.sh --with-mt TBB_INCLUDE=<path_to_tbb_include> TBB_LIB=<path_to_tbb_lib>
    cd build/release_mt
    make

  To install clasp:
    make install
	
  By default, 'make install' will install clasp in '/usr/local/bin'
  You can specify an installation prefix other than '/usr/local' 
  by running the configure-script with the option '--prefix=PATH'.
  Alternatively, use option '--bindir=PATH' to directly specify the
  installation path. 

  Finally, you can always skip installation and simply copy the
  clasp executable to a directory of your choice.
		
BUILDING WITH Microsoft Visual Studio
  In the directory build_vc/ we provide Microsoft Visual Studio project files
  for building clasp. You can download the freely available express edition 
  of Visual C++ from here:
  http://www.microsoft.com/express/Downloads/
  Once installed:
    - open build_vc\vc9\clasp\clasp.sln
    - select the desired solution configuration (typically release_static) 
    - build the "app" project	

USAGE
  clasp reads problem instances either from stdin, e.g 
    cat problem | clasp
  or from a given file, e.g
    clasp problem
	
  Beside logic programs in SMODELS-format, clasp also supports SAT-problems in DIMACS-,
  Max-SAT in (extended) DIMACS-, and PB-problems in OPB and WBO-format.
	
  Type
    clasp --help
  to get an overview of the various options supported by clasp.
	
  In addition to printing status information, clasp also
  provides information about the computation via its exit status.
  The exit status is:
    10: if the problem was found to be satisfiable
    20: if the problem was proved to be unsatisfiable
    0 : if the satisfiability of problem is not known, 
        because search was either interrupted or not started
    127: if clasp ran out of memory
    Furthermore, the exit status of 1 indicates an error.
	


clasp's People

Contributors

piyushk avatar jack-oquin avatar

Watchers

James Cloos avatar Nick Walker avatar  avatar  avatar  avatar

clasp's Issues

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.