Description Usage Download Examples Publications



CSMODELS is an answer set solver. It uses SMODELS' source code. Instead of SMODELS' heuristic, CSMODELS implements and applies criticality heuristic. Criticality heuristic is described in 'Using Criticalities as a Heuristic in Answer Set Programming'. This paper also shows the speedup gained by the new heuristic compared to SMODELS.

Output of LPARSE is the input language of CSMODELS. However, for now cardinality and weight rules are not supported. Choice rules are supported even with the cardinality constraints in the head.

CSMODELS is implemented by Orkunt Sabuncu. For your questions and comments please send an email to


The basic usage is

      lparse input.lp | csmodels

The command line options of csmodels are below.

      csmodels [number] [-iterations N | -accuracy N]

      [number]  Number of stable models to be found. 0 means all.
      [-iterations N]  Iterates criticality calculations N number of times.
      [-accuracy N]  Iterates criticality calculations up to N decimal digit accuracy.

      Default stop condition for iterations is 1 decimal digit accuracy.


The current version is csmodels-1.0.tar.gz. It is based on smodels-2.26. Installation steps are

      % gzip -d csmodels-1.0.tar.gz
      % tar -xvf csmodels-1.0.tar
      % cd csmodels-1.0
      % make


Here are some example logic programs you can test CSMODELS with. These are used to evaluate CSMODELS.


O. Sabuncu, Using Criticalities as a Heuristic in Answer Set Programming. MS Thesis, Department of Computer Engineering, Middle East Technical University, Turkey, 2002.

O. Sabuncu, F. N. Alpaslan, V. Akman, Using Criticalities as a Heuristic in Answer Set Programming. Unpublished (Submitted to LPNMR'03).