-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy patheclingo.tex
72 lines (64 loc) · 2.55 KB
/
eclingo.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
% ----------------------------------------------------------------------
\begin{frame}{\eclingo}
\begin{itemize}
\item \structure{Idea} \ extend \clingo\ with subjective literals in the body of rules
\item \structure{Features} \
\begin{itemize}
\item subjective literal \ `\lstinline{&k\{p\}}' \ holds if \lstinline{p} holds in all stable models
\item natural representation of problems with elevated complexity \\ (without saturation)
\end{itemize}
\item \structure{References} \ \cite{cafagarosc20a}
\item \structure{Applications} \ conformant planning \cite{cafafa21a} and action reversibility \cite{famoch21a}
\end{itemize}
\end{frame}
% ----------------------------------------------------------------------
\begin{frame}[fragile]{Example}{Conformant planning}
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east,xshift=-1ex,yshift=-2cm] at (current page.north east){%
\only<1>{\includegraphics[width=.25\textwidth]{pictures/yale-init}}
\only<2>{\includegraphics[width=.25\textwidth]{pictures/yale-targeted}}};
\end{tikzpicture}
\begin{adjustbox}{max totalsize={.75\textwidth}{.83\textheight},keepaspectratio}
\begin{lstlisting}[literate={~}{{$\sim$}}1,escapeinside=||]
time(1..n). action(load). action(trigger).
{ holds( dry,0); -holds( dry,0) } = 1.
{ holds(loaded,0); -holds(loaded,0) } = 1.
{ occurs(A,T) : action(A) } = 1 :- time(T).
holds(loaded,T) :- occurs( load,T).
-holds(loaded,T) :- occurs(trigger,T).
-holds( dry,T) :- occurs(trigger,T), holds(loaded,T-1).
holds(F,T) :- holds(F,T-1), not -holds(F,T), time(T).
-holds(F,T) :- -holds(F,T-1), not holds(F,T), time(T).
goal :- -holds(dry,n).
|\pause|
% conformant planning
:- action(A), time(T), occurs(A,T), not &k{ occurs(A,T) }.
:- action(A), time(T), not occurs(A,T), &k{ occurs(A,T) }.
:- not &k { goal }.
\end{lstlisting}
\end{adjustbox}
\end{frame}
% ----------------------------------------------------------------------
\begin{frame}[fragile]{Example}{Conformant planning}
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east,xshift=-1ex,yshift=-2cm] at (current page.north east){%
\includegraphics[width=.25\textwidth]{pictures/yale-goal}};
\end{tikzpicture}
\begin{lstlisting}[literate={~}{{$\sim$}}1]
$ eclingo yale.lp -c n=2
eclingo version 0.2.0
Solving...
Answer: 1
&k{ occurs(load,1) }
&k{ occurs(trigger,2) }
&k{ goal }
SATISFIABLE
Elapsed time: 0.002736 s
\end{lstlisting}
\end{frame}
% ----------------------------------------------------------------------
%
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../../main"
%%% End: