1
1
\section {Introduction }\label {sec:introduction }
2
2
3
3
The `` Potsdam Answer Set Solving Collection'' (Potassco)~\cite {potassco }
4
- by now gathers a variety of tools for Answer Set Programming.
5
- Among them, we find grounder \gringo , solver \clasp , and
6
- combinations thereof within integrated systems \clingo \ and \iclingo .
7
- All these tools are written in \texttt {C++ } and published under GNU General Public License(s)~\cite {GNUgpl }.
8
- Source packages as well as precompiled binaries for Linux and Windows are available at~\cite {potassco }.
9
- For building one of the tools from sources,
10
- please download the most recent source package and consult the
11
- included \code {README} or \code {INSTALL} text file, respectively.
12
- Please make sure that the platform to build on has the
4
+ by now gathers a variety of tools for Answer Set Programming (ASP)
5
+ \cite {ankolisc05a ,baral03a ,gelleo02a ,lifschitz02a ,martru99a ,niemela99a },
6
+ including grounder \gringo , solver \clasp , and
7
+ combinations of them within integrated systems \clingo \ and \iclingo .
8
+ Their common goal is to provide means enabling users
9
+ to rapidly solve difficult computational problems in ASP.
10
+
11
+ \subsection {Download and Installation }
12
+
13
+ The Potassco tools \gringo , \clasp , \clingo , and \iclingo \
14
+ are written in \texttt {C++ } and published under GNU General Public License(s)~\cite {GNUgpl }.
15
+ Source packages as well as precompiled binaries for Linux and Windows
16
+ are available at~\cite {potassco }.
17
+ For building some of the tools from sources,
18
+ please download the most recent source package, consult the
19
+ included \code {README} % or \code{INSTALL} text file, respectively.
20
+ file,
21
+ and make sure that the machine to build on has all
13
22
required software installed.
14
- If you nonetheless encounter problems in the building process,
15
- please use the potassco mailing list
16
-
17
- or consult the supporting pages at \href {http://potassco.sourceforge.net}{potassco.sourceforge.net}.
23
+ If you still encounter problems in the building process,
24
+ please use the Potassco mailing list
25
+
26
+
27
+
28
+ \noindent
29
+ or consult the support pages at~\cite {potassco }.
18
30
19
31
After downloading (and possibly building) a tool,
20
32
one can check whether everything works fine by invoking the tool
21
33
with flag \code {--version} (to get version information) or
22
34
with flag \code {--help} (to see the available command line options).
23
35
For instance, assuming that a binary called \gringo \ is in the path
24
- (similarly, with the other tools),
36
+ (similarly with the other tools),
25
37
the following command line calls should be responded by \gringo :
26
38
%
27
39
\ begin{lstlisting} [numbers=none]
28
40
gringo --version
29
41
gringo --help
30
42
\end {lstlisting }
31
- If grounder \gringo , solver \clasp , as well as integrated systems
32
- \clingo \ and \iclingo \ are all available,
33
- one usually provides the file names of input text files to either
34
- \gringo , \clingo , or \iclingo , while the output of \gringo \ is
35
- typically piped into \clasp .
43
+ Note that \gringo , \clasp , \clingo , and \iclingo \
44
+ run on the command line (Linux shell, Windows command prompt, or the like).
45
+ To facilitate invoking them, their binaries can be `` installed''
46
+ simply by putting them into some directory in the system path.
47
+ % If grounder \gringo, solver \clasp, as well as integrated systems
48
+ % \clingo\ and \iclingo\ are all available,
49
+ In an invocation,
50
+ one usually provides the file names of input (text) files
51
+ as arguments to either \gringo , \clingo , or \iclingo ,
52
+ while the output of \gringo \ is typically piped into \clasp .
36
53
Thus, the standard invocation schemes are as follows:
37
54
\ begin{lstlisting} [numbers=none]
38
55
gringo [ options | files ] | clasp [ options | number ]
39
56
clingo [ options | files | number ]
40
57
iclingo [ options | files | number ]
41
58
\end {lstlisting }
42
- Note that a numerical argument provided to either \clasp , \clingo , or \iclingo \
59
+ % Note that
60
+ A numerical argument provided to either \clasp , \clingo , or \iclingo \
43
61
determines the maximum number of answer sets to be computed,
44
- where \code {0} stands for `` compute all answer sets.''
62
+ where \code {0} % stands for
63
+ means `` compute all answer sets.''
45
64
By default, only one answer set is computed (if it exists).
46
65
66
+ \subsection {Outline }
67
+
47
68
This guide introduces the fundamentals of using
48
69
\gringo , \clasp , \clingo , and \iclingo .
49
- In particular, it tries to enable the reader to benefit from them
50
- by significantly reducing the `` time to solution'' on difficult problems.
51
- The outline is as follows.
52
- In Section~\ref {sec:quickstart },
53
- an introductory example is given
54
- that serves both as guideline on how to model problems using logic programs
55
- and also as an example on how compact and concise the modeling language of \gringo \ is.
56
- The probably most important part for a user, Section~\ref {sec:language },
70
+ In particular, it aims at enabling the reader to benefit from them
71
+ by significantly reducing the `` time to solution'' on difficult computational problems.
72
+ % The outline is as follows.
73
+ To this end,
74
+ Section~\ref {sec:quickstart }
75
+ provides an introductory example
76
+ that serves both as a prototype of problem modeling using logic programs
77
+ and also as an appetizer of the modeling language of \gringo .
78
+ The main part of this document, Section~\ref {sec:language },
57
79
is dedicated to the input languages of our tools,
58
- where the joint input language of \gringo \ and \clingo \
59
- claims the main share (later on, it is extended by \iclingo ).
60
- For illustrating the application of our tools,
61
- three well-known example problems are solved in Section~\ref {sec:examples }.
80
+ where Section~\ref {subsec:lang:gringo }
81
+ details the joint input language of \gringo \ and \clingo .
82
+ In Section~\ref {subsec:lang:iclingo }, it is extended with
83
+ incremental directives of \iclingo .
84
+ The input language of \clasp \ is discussed only briefly in Section~\ref {subsec:lang:clasp },
85
+ as it matches the numerical output format of \gringo \ and
86
+ is not supposed to be written directly by a user.
87
+ For % illustrating the application of our tools,
88
+ further illustration,
89
+ Section~\ref {sec:examples } describes how three well-known example problems
90
+ can be solved with our tools.
62
91
Practical aspects are also in the focus of Section~\ref {sec:options } and~\ref {sec:error:warn },
63
92
where we elaborate and give some hints on the available command line options
64
- as well as input-related errors and warnings that may be reported.
65
- During the guide we forgo most of the theoretical background in favor
66
- of small intuitive examples and informal descriptions.
93
+ as well as input-related errors and warnings. % that may be reported.
94
+ We conclude with a summary in Section~ \ref { sec:future }.
95
+
67
96
% For a more theoretical background, the interested reader is referred
68
97
% to Appendix~\ref{sec:background} where technical details are covered.
69
98
@@ -74,13 +103,19 @@ \section{Introduction}\label{sec:introduction}
74
103
lists the most prominent differences to our tools.
75
104
Otherwise, \gringo , \clingo , and \iclingo \ should accept most inputs recognized by \lparse ,
76
105
while the input of solver \clasp \ can also be generated by \lparse \ instead of \gringo .
77
- Throughout this guide , we provide quite a number of examples.
106
+ Throughout this document , we provide illustrative examples.
78
107
Many of them can actually be run, and instructions on how to accomplish this
79
108
(or sometimes meta-remarks)
80
109
are provided in margin boxes, where an occurrence of `` \code {\char `\\ }''
81
- usually means that a text line broken for space reasons is actually continuous.
110
+ usually means that text in a command line, broken for space reasons, is actually continuous.
111
+ For the moment,
112
+ we omit a self-contained description of the formal semantics of ASP,
113
+ and Appendix~\ref {sec:background } currently provides some references
114
+ to the literature only; we plan to complete this part in the next version
115
+ of this guide.
116
+
82
117
After all these preliminaries, it is time to start our guided tour
83
- through Potassco~\cite {potassco }.
118
+ through the main Potassco~\cite {potassco } tools .
84
119
We hope that you will find it enjoyable and helpful!
85
120
86
121
% %% Local Variables:
0 commit comments