forked from potassco-asp-course/systems
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclingo-dl.tex
54 lines (47 loc) · 1.58 KB
/
clingo-dl.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
% ----------------------------------------------------------------------
\begin{frame}{\clingodl}
\begin{itemize}
\item \structure{Idea} \ Extend \clingo\ with difference constraints over integers
\item \structure{Features} \
\begin{itemize}
\item A difference constraint \
\(
{x-y}\leq c
\)
\par
is represented as \
\lstinline[mathescape]{&diff(x-y) <= c}
\item Yields canonical witnessing integer assignments
\end{itemize}
\item \structure{References} \ \cite{jakaosscscwa17a,karoscwa21a}
\item \structure{Applications} \ \cite{abjoossctowa21a,hamunescwa23a,rascwachliso23a}
\end{itemize}
\end{frame}
% ----------------------------------------------------------------------
\begin{frame}[fragile]{Example}
\begin{onlyenv}<1>
\begin{lstlisting}[language=clingo,basicstyle=\small\ttfamily]
#const n=2. #const m=1000.
task(1..n). duration(T,200*T) :- task(T).
&dom { 1..m } = beg(T) :- task(T).
&dom { 1..m } = end(T) :- task(T).
&diff{end(T)-beg(T)} <= D :- duration(T,D).
&show { beg/1; end/1 }.
\end{lstlisting}
\end{onlyenv}
\begin{onlyenv}<2>
\begin{lstlisting}[language=clingo,basicstyle=\small\ttfamily]
task(1). task(2). duration(1,200). duration(2,400).
&dom {1..1000} = beg(1). &dom {1..1000} = beg(2).
&dom {1..1000} = end(1). &dom {1..1000} = end(2).
&diff{end(1)-beg(1)}<=200. &diff{end(2)-beg(2)}<=400.
&show{ beg/1; end/1 }.
\end{lstlisting}
\end{onlyenv}
\end{frame}
% ----------------------------------------------------------------------
%
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../../main"
%%% End: