\documentclass[12pt, a4paper]{article}
 
\newcounter{conta}
\newcounter{conta2}

\hyphenation{e-xis-ten-te geo-gra-fia es-pe-cia-li-za-das e-xem-plo pro-je-to
com-ple-xi-da-de de-sa-pa-re-ce a-bor-da-gem co-mo fa-lhas es-co-lhi-da}

\begin{document}

\vspace*{7cm}
\begin{center}\Huge\bf
Cap\'{\i}tulo 13: Planejamento e A\c c\~ao
\end{center}

\vfill

\pagebreak
\noindent{\LARGE Duas formas de lidar com informa\c c\~ao {\bf incompleta} e
{\bf incorreta}:}

\begin{itemize}\Large
 \item {\bf Planejamento condicional:} plano condicional; uso de {\bf a\c c\~oes
       sens\'orias}.
 
 \item {\bf Monitoramento da execu\c c\~ao:} agente monitora o que est\'a
       acontecendo e faz {\bf replanejamento}.
\end{itemize}

\vspace*{1.5cm}
\noindent {\LARGE\bf Planejamento Condicional}

\vspace*{1cm}
\noindent {\LARGE O problema da troca de pneu:}

\begin{itemize}\Large
 \item Estado inicial:



       $\mbox{\em Op}(\mbox{\large ACTION}: \mbox{\em Start},$ \\
       \hspace*{.8cm} $\mbox{\large EFFECT}: \mbox{inflated}(\mbox{Spare})\wedge
                                             \mbox{intact}(\mbox{Spare})\wedge$ \\
                         \hspace*{3.3cm}    $\mbox{off}(\mbox{Spare})\wedge
                                         \mbox{on}(\mbox{Tire}_1)\wedge\mbox{flat}(\mbox{Tire}_1)  )$
 \item Estado meta:

       $\mbox{\em Op}(\mbox{\large ACTION}: \mbox{\em Finish},$ \\
       \hspace*{.8cm} $\mbox{\large PRECOND}: \mbox{on}(x)\wedge
                                           \mbox{inflated}(x) )$
\end{itemize}

\vfill
\hfill Cap\'{\i}tulo 13: Planejamento e A\c c\~ao

\pagebreak
\noindent{\LARGE O problema da troca de pneu:}

\begin{itemize}\Large
 \item A\c c\~oes:

       $\mbox{\em Op}(\mbox{\large ACTION}: \mbox{\em Remove}(x),
                         \mbox{\large PRECOND}: \mbox{on}(x),$ \\
       \hspace*{.8cm} $\mbox{\large EFFECT}: \mbox{off}(x)\wedge \neg\mbox{on}(x)\wedge
                                           \mbox{clearhub})$

       $\mbox{\em Op}(\mbox{\large ACTION}: \mbox{\em PutOn}(x),$ \\
       \hspace*{.8cm} $\mbox{\large PRECOND}: \mbox{off}(x)\wedge
                                              \mbox{clearhub},$ \\
       \hspace*{.8cm} $\mbox{\large EFFECT}: \mbox{on}(x)\wedge\neg\mbox{off}(x))\wedge
                                            \neg\mbox{clearhub} )$

       $\mbox{\em Op}(\mbox{\large ACTION}: \mbox{\em Inflate}(x),$ \\
       \hspace*{.8cm} $\mbox{\large PRECOND}: \mbox{intact}(x)\wedge
                                              \mbox{flat}(x),$ \\
       \hspace*{.8cm} $\mbox{\large EFFECT}: \mbox{inflated}(x)\wedge\neg\mbox{flat}(x) )$

\end{itemize}

\vspace*{.5cm}
\noindent {\LARGE Um plano:}

\begin{enumerate}\Large
 \item[\ ] $[\mbox{\em Remove}(\mbox{Tire}_1),\mbox{\em PutOn}(\mbox{Spare})]$
\end{enumerate}

\vspace*{.5cm}
\noindent {\LARGE Um plano melhor com um passo {\bf condicional}:}

\begin{enumerate}\Large
\item[\ ] $\mbox{\em If}( \mbox{\em intact}(\mbox{Tire}_1), [\mbox{\em Inflate}(\mbox{Tire}_1)],$ \\
              \hspace*{3.9cm}    $[\mbox{\em Remove}(\mbox{Tire}_1),\mbox{\em PutOn}(\mbox{Spare})])$
\end{enumerate}

\vfill
\hfill Cap\'{\i}tulo 13: Planejamento e A\c c\~ao

\pagebreak
\noindent {\LARGE Um agente de planejamento condicional:}

\vspace*{4.5cm}
\begin{center}
Figura 13.1
\end{center}

\vspace*{5cm}
\noindent {\LARGE Como o agente ``sabe'' a veracidade de uma condi\c c\~ao:}

\begin{itemize}\Large
 \item Consulta a BC.
 \item Outra possibilidade: Insere a\c c\~oes que possibilitem determinar a condi\c c\~ao ({\bf a\c c\~ao sens\'oria}).

         Exemplo:

        $\mbox{\em Op}(\mbox{\large ACTION}: \mbox{\em ChekTire}(x),$ \\
       \hspace*{.8cm} $\mbox{\large PRECOND}: \mbox{tire}(x),$ \\       \hspace*{.8cm} $\mbox{\large EFFECT}: \mbox{KnowsWhether}(``\mbox{\em intact}(x)\mbox{''}) )$

\end{itemize}

\vfill
\hfill Cap\'{\i}tulo 11: Planejamento e A\c c\~ao

\pagebreak
\noindent {\LARGE Gerando planos condicionais:}

\vspace*{.5cm}
\begin{itemize} \Large
 \item {\bf Contexto} de um passo: uni\~ao das condi\c c\~oes para o passo ser executado.
\end{itemize}

\vspace*{.5cm}
\noindent {\Large Plano inicial:}

\vspace*{2cm}
\begin{center}
 Figura 13.2
\end{center}

\vspace*{2cm}
\noindent {\Large Satisfazendo as 2 precondi\c c\~oes abertas de {\em Finish}:}
\begin{itemize} \Large
 \item $\mbox{\em on}(x)$ via  {\em Start}; e
 \item  $\mbox{\em inflated}(x)$ via $\mbox{\em inflate}(\mbox{Tire}_1)$.
\end{itemize}
{\Large e satisfazendo a precondi\c c\~ao $\mbox{\em flat}(\mbox{Tire}_1)$ de 
$\mbox{\em inflate}(\mbox{Tire}_1)$:}

\vspace*{2cm}
\begin{center}
 Figura 13.3
\end{center}

\vfill
\hfill Cap\'{\i}tulo 13: Planejamento e A\c c\~ao

\pagebreak
\noindent {\Large N\~ao h\'a a\c c\~ao com {\em effect\/} $\mbox{\em intact}(x)$:}

\begin{itemize} \Large
 \item Planejador padr\~ao: {\em backtracking}.
 \item Planejador condicional:  a a\c c\~ao sens\'oria $\mbox{\em ChekTire}(x)$ permite saber
         a veracidade de uma proposi\c c\~ao que unifica com $\mbox{\em intact}(\mbox{Tire}_1)$.

        Adiciona-se o {\bf passo condicional}  $\mbox{\em ChekTire}(\mbox{Tire}_1)$:
\end{itemize}

\vspace*{2.5cm}
\begin{center}
 Figura 13.4
\end{center}

\vspace*{2.5cm}
\noindent {\Large Adicionando outro {\em Finish} com contexto oposto:}

\vspace*{3cm}
\begin{center}
 Figura 13.5
\end{center}

\vfill
\hfill Cap\'{\i}tulo 11: Planejamento e A\c c\~ao

\pagebreak
\noindent {\Large Precondi\c c\~ao de $\mbox{\em Inflate}(\mbox{Tire}_1)$ contradiz contexto
de {\em Finish}. Resta usar {\em Start}:}

\vspace*{3cm}
\begin{center}
 Figura 13.6
\end{center}

\vspace*{3cm}
\noindent {\Large Os passos $\mbox{\em Remove}(\mbox{Tire}_1)$ e $\mbox{\em PutOn}(\mbox{Spare})$
s\~ao adicionados para satisfazer $\mbox{on}(\mbox{Spare})$ com contexto {\em True}.}

\vspace*{.5cm}
\noindent {\Large O passo $\mbox{\em Remove}(\mbox{Tire}_1)$ amea\c ca
 $\mbox{\em Start}\stackrel{\mbox{on}(\mbox{Tire}_1)}{\longrightarrow}\mbox{\em Finish}$}.

\noindent {\Large {\bf Condicionamento} (alternativa a rebaixamento e promo\c c\~ao)}:

\begin{itemize}\Large
 \item Achar um passo condicional que fa\c ca os contextos dos dois passos incompat\'{\i}veis.
\end{itemize}

\vspace*{3cm}
\begin{center}
 Figura 13.7
\end{center}

\vfill
\hfill Cap\'{\i}tulo 11: Planejamento e A\c c\~ao

\pagebreak
\noindent {\Large O algoritmo CPOP}:

\vspace*{6cm}
\begin{center}
Figura 13.8
\end{center}

\vfill
\hfill Cap\'{\i}tulo 11: Planejamento e A\c c\~ao

\pagebreak
\noindent {\LARGE\bf Monitorando a execu\c c\~ao}:

\vspace*{.5cm}
\begin{itemize}\Large
 \item Verificar se precondi\c c\~oes se tornaram satisfeitas/insatisfeitas.
\end{itemize}

\vspace*{.5cm}
\begin{description}\Large
 \item[Monitoramento da execu\c c\~ao:] \

       Verifica {\em precondi\c c\~oes restantes do plano}.

       (prev\^e falhas futuras)

 \item[Monitoramento da a\c c\~ao:] \

       Verifica {\em precondi\c c\~oes da pr\'oxima a\c c\~ao\/} a executar.

       (mais simples)

\end{description}

\noindent {\LARGE Em ambos os casos: {\em replanejamento} \'e necess\'ario.}

\vspace*{1.5cm}
\noindent {\LARGE\bf Replanejamento:}

\begin{itemize}\Large
 \item Replanejar a partir do zero.
 \item Aproveitar o m\'aximo do plano original.
\end{itemize}

\vfill
\hfill Cap\'{\i}tulo 11: Planejamento e A\c c\~ao

\pagebreak
\noindent {\LARGE\bf Planejamento e execu\c c\~ao integrados}

\vspace*{1cm}
\noindent {\LARGE Exemplo: mundo dos blocos}

\begin{enumerate}\Large
 \item[\ ]
       $\mbox{\em Op}(\mbox{\large ACTION}: \mbox{\em Move}(x,y),$ \\
       \hspace*{.8cm} $\mbox{\large PRECOND}: \mbox{clear}(x)\wedge\mbox{clear}(y),
                                               \mbox{on}(x,z),$ \\
       \hspace*{.8cm} $\mbox{\large EFFECT}: \mbox{on}(x,y)\wedge\mbox{clear}(z)\wedge
                                           \neg\mbox{on}(x,z)\wedge\neg\mbox{clear}(y))$
\end{enumerate}

\vspace*{2cm}
\begin{center}
Figura 13.10
\end{center}

\vspace*{2cm}
\noindent {\Large Estado inicial: (a). Plano:}

\vspace*{2cm}
\begin{center}
Figura 13.11
\end{center}

\vspace*{2cm}
\noindent {\Large Um agente externo muda estado para (b);
$\mbox{clear}(B)$ e $\mbox{on}(D,G)$ n\~ao s\~ao mais verdadeiros:}

\vspace*{2cm}
\begin{center}
Figura 13.12
\end{center}

\vfill
\hfill Cap\'{\i}tulo 11: Planejamento e A\c c\~ao

\pagebreak
\noindent {\Large A liga\c c\~ao causal para $\mbox{on}(D,B)$ de {\em Finish\/} pode
 ser suprida por {\em Start}; remove-se o passo redundante $\mbox{\em Move}(D,B)$:}

\vspace*{2cm}
\begin{center}
Figura 13.13
\end{center}

\vspace*{2cm}
\noindent {\Large O agente retira $\mbox{\em Move}(C,D)$ do plano para ser executado,
mas deixa cair $C$ sobre $A$ ao inv\'es de $D$ (estado (c)):
}

\vspace*{2cm}
\begin{center}
Figura 13.14
\end{center}

\vspace*{2cm}
\noindent {\Large A precondi\c c\~ao aberta $\mbox{on}(C,D)$ de {\em Finish\/} \'e
satisfeita por $\mbox{\em Move}(C,D)$:
}

\vspace*{2cm}
\begin{center}
Figura 13.14
\end{center}

\vfill
\hfill Cap\'{\i}tulo 11: Planejamento e A\c c\~ao

\pagebreak
\noindent {\Large Desta vez o agente \'e mais cuidadoso. Resultado: estado (d).
O passo \'e retirado:}

\vspace*{2cm}
\begin{center}
Figura 13.15
\end{center}

\vspace*{2cm}

\end{document}



