finished last tasks from ass1
[ker1415-1.git] / report / ass1.tex
index e08ff45..670bdcf 100644 (file)
                We use the functions $agent(X, S_i), crate(cratename, X, S_i)$ and
                $target(cratename, X)$ to easily represent the information. 
        \item{Q3}\\
+               $\begin{array}{lll}
+                       connected(loc11, loc21, east)\wedge &
+                       connected(loc11, loc12, north)\wedge &
+                       connected(loc12, loc22, east)\wedge\\
+                       connected(loc12, loc13, north)\wedge &
+                       connected(loc13, loc23, east)\wedge &
+                       connected(loc13, loc14, north)\wedge\\
+                       connected(loc14, loc24, east)\wedge &
+                       connected(loc21, loc31, east)\wedge &
+                       connected(loc21, loc22, north)\wedge\\
+                       connected(loc22, loc32, east)\wedge &
+                       connected(loc22, loc23, north)\wedge &
+                       connected(loc23, loc33, east)\wedge\\
+                       connected(loc23, loc24, north)\wedge &
+                       connected(loc31, loc32, north)\wedge &
+                       connected(loc32, loc33, north)\wedge\\
+                       connected(loc21, loc11, west)\wedge &
+                       connected(loc12, loc11, south)\wedge &
+                       connected(loc22, loc12, west)\wedge\\
+                       connected(loc13, loc12, south)\wedge &
+                       connected(loc23, loc13, west)\wedge &
+                       connected(loc14, loc13, south)\wedge\\
+                       connected(loc24, loc14, west)\wedge &
+                       connected(loc31, loc21, west)\wedge &
+                       connected(loc22, loc21, south)\wedge\\
+                       connected(loc32, loc22, west)\wedge &
+                       connected(loc23, loc22, south)\wedge &
+                       connected(loc33, loc23, west)\wedge\\
+                       connected(loc24, loc23, south)\wedge &
+                       connected(loc32, loc31, south)\wedge &
+                       connected(loc33, loc32, south)\wedge\\
+                       crate(cratec, loc21, s0)\wedge &
+                       crate(crateb, loc22, s0)\wedge &
+                       crate(cratea, loc23, s0)\wedge\\
+                       target(cratea, loc12)\wedge &
+                       target(crateb, loc13)\wedge &
+                       target(cratec, loc11)\wedge\\
+                       agent(loc32, s0)\wedge\\
+               \end{array}$
        \item{Q4}\\
+               $goal(s)\rightarrow\\
+               crate(cratea, loc12, s) \wedge
+               crate(crateb, loc13, s) \wedge
+               crate(cratec, loc11, s)$
+
 
 \end{itemize}
 
 \subsubsection{Task 2: Actions}
 \begin{itemize}
        \item{Q5}\\
-               \begin{equation}
-                       \begin{split}
-                               Poss(move(x, y), s) \equiv &\\
-                                       & (\exists z: connected(x, y, z)) \wedge\\
-                                       & \neg(crate(x, y, s)) \wedge
-                       \end{split}
-               \end{equation}
-
+               $Poss(move(x, y), s) \equiv \\
+               (\exists z: connected(x, y, z)) \wedge\\
+               \neg(crate(x, y, s))$
        \item{Q6}\\
                $Poss(push(x, y), s) \equiv\\
                        agent(x, s) \wedge\\
@@ -34,7 +73,7 @@
                        \wedge\\
                                (\exists \alpha: 
                        connected(z, \alpha, y) \wedge
-                               \neg (\exists \beta: crate(\beta, \alpha, s))))$
+                               (\nexists \beta: crate(\beta, \alpha, s))))$
        \item{Q7}\\
                $agent(x, result(z, s)) \rightarrow\\
                        (\exists y: z = move(y, x)) \vee\\
                                z = push(\beta, \alpha) \wedge
                                connected(\beta, x, \alpha)) \vee\\
                        (\exists \epsilon, \gamma:
-                               not(z = move(x, \epsilon)) \wedge
-                               not(z = push(x, \gamma)) \wedge
+                               z \neq move(x, \epsilon) \wedge
+                               z \neq push(x, \gamma) \wedge
                                agent(x, s))\\
                crate(x, y, result(A, s)) \rightarrow\\
-                       (\exists z,alpha:
+                       (\exists z,\alpha:
                                A = push(z, \alpha),
                                (\exists \beta:
                                        connected(z, \beta, \alpha),
@@ -55,8 +94,8 @@
                                )
                        ) \vee\\
                        (\exists z,\alpha:
-                               not(A = push(z, \alpha)),
-                               connected(z, y, \alpha),
+                               A \neq push(z, \alpha)\wedge
+                               connected(z, y, \alpha)\wedge
                                crate(x, y, s)
                        )
                $
@@ -78,12 +117,17 @@ disallowing the agent to reverse a move immediatly.
 
 \subsection{Part 3: Extending the domain}
 
-\subsection{Evaluation}
-\begin{itemize}
-       \item{How much time did it take?}\\
-               p1t1: 45m
-       \item{What would you like to see changed?}\\
-               p1t1: There is an ambiguity in p1t1Q3, it's not clear if the starred
-               locations should be included in the initial state(therefore not only in
-               the goal state).\\
-\end{itemize}
+\subsection{Part 4: General questions}
+\subsubsection{Task 10: Sitcalc expressivity}
+Situation calculus(sitcalc from now on) is very expressive because you can
+express yourself very detailed without encountering the frame problem. When the
+problem space expands the computational strength needed explodes. Sitcalc is
+therefore not very usefull when you want to plan far behind. For comparison,
+calculating a sokoban path 10 steps in the future already takes hours on a
+normal computer.
+
+The model is easy to extend to bigger and more complex problems, it doesn't
+scale that well however...
+
+\subsubsection{Task 11: Related work}
+Zhou, N. (2013). A Tabled Prolog Program for Solving Sokoban, 124, 561–575. doi:10.3233/FI-2013-849