The installation of the major Potassco tools is rather straightforward. We suggest to start with downloading the most recent clingo release.
For experiencing ASP with clingo, we recommend to begin with the Potassco guide. It contains a light introduction to the input language of clingo, provides easy modeling examples, and discusses its usage.
To get a quick first impression, you may want to experiment with running clingo in your browser.
In ASP, a problem is described by a set of rules. For example, the rule
innocent(Suspect) :- motive(Suspect), not guilty(Suspect).
expresses that a
Suspect is considered
innocent if she has a
motive and she was not found
, stand for if and and.
not stands for (default) negation.
motive are user-defined predicates,
Suspect provides a user-defined variable that can be replaced by specific terms (representing objects).
Variables start with uppercase letters, predicates and terms (usually) begin with lowercase letters.
Finally, each rule must be terminated with a period
. to signal the end of the rule.
Facts are rules without any conditions.
This is why the if symbol
:- is omitted.
Example facts are
motive(harry). motive(sally). guilty(harry).
Solutions to a problem, or simply answer sets, are given by sets of atomic propositions
that are supposed to be true in the answer set; false propositions are omitted.
A solution to the above rule and the three facts is the answer set
containing all three facts as well as the proposition
This is because our rule applies to
sally but not
Let us reproduce this result with clingo.
To begin with, we put the above rule along with the three facts in a file called crime.lp.
lp is not necessary but helps to identify the type of file.
The ASP system clingo allows us to compute the aforementioned answer set:
$ clingo files/crime.lp clingo version 4.5.0 Reading from files/crime.lp Solving... Answer: 1 motive(harry) motive(sally) guilty(harry) innocent(sally) SATISFIABLE
A formal introduction to (a large fragment of) the input language of clingo and its precise semantics can be found here. You may also be interested in the ASP-Core-2 language standard, a subset of the language of clingo.
The foundations and algorithms underlying the grounding and solving technology used in clingo as well as various modeling techniques are described in detail in the Potassco book.
Our major tools are listed on the main Potassco page. Follow their links for corresponding executables for Linux, MacOS, and Windows as well as sources. And of course check the available documentation.
Still experimental software is found in the Labs section, and may need more care during installation.
If you have a question, it is a good idea to try at first the FAQ, which answers the most commonly asked questions about our tools. Your next best bet is to check the archive of the potassco-users mailing list. If you need further help, feel free to sign up to the potassco-users mailing list and post your question.
Bug reports and feature requests can be posted in the issue tracker of a system’s github page.