![Page 1: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/1.jpg)
lnteligência Artificial
1
Planejamento
![Page 2: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/2.jpg)
Planejamento:Conceitos básicos
� A tarefa de apresentar uma seqüência de ações que alcançarão um objetivo é chamada planejamento. Vimos até agora dois exemplos de agentes de planejamento: o agente de resolução de problemas baseado em busca e o agente de planejamento lógico
Inteligência Artificial CTC-152
� Agora, tratamos principalmente com o aumento de escala para problemas complexos de planejamento que derrota as abordagens que vimos até aqui.
� Veremos uma linguagem para planejamento baseada nas representações proposicional e de primeira ordem de ações
![Page 3: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/3.jpg)
Planejamento:Conceitos básicos - 2
� Planejador: objetiva encontrar um plano que permita um agente executar uma tarefa, a partir de uma situação inicial.
� Plano: seqüência ordenada de ações� tarefa: obter banana, leite e uma furadeira� plano: ir ao supermercado, ir à seção de frutas, pegar as
bananas, ir à seção de leite, pegar uma caixa de leite, ir ao caixa,
Inteligência Artificial CTC-15
� plano: ir ao supermercado, ir à seção de frutas, pegar as bananas, ir à seção de leite, pegar uma caixa de leite, ir ao caixa, pagar tudo, ir a uma loja de ferramentas, ..., voltar para casa.
![Page 4: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/4.jpg)
Busca x planejamento
� Representação usando busca� Ações: programas que geram o estado sucessor� Estados: descrição completa
� problemático em ambientes inacessíveis� Objetivos: função de teste e heurística� Planos: totalmente ordenados e criados
incrementalmente a partir do estado inicial
Inteligência Artificial CTC-15
Planos: totalmente ordenados e criados incrementalmente a partir do estado inicial� Ex. posições das peças de um jogo
� Exemplo do supermercado� estado inicial: em casa sem objetos desejados� estado final: em casa com objetos desejados� operadores: tudo o que o agente pode fazer� heurística: número de objetos ainda não possuídos
![Page 5: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/5.jpg)
Exemplo em resolução de problemas
usando busca
Ir ao bancoIr ao banco
Ir à escolaIr à escola
Ir dormirIr dormir
Ler um livroLer um livro
Pagar contasPagar contas
Assistir aulaAssistir aula
Pegar dinheiroPegar dinheiro
LevantarLevantar
Inteligência Artificial CTC-15
começocomeço
Ir ao supermercadoIr ao supermercado
Ler um livroLer um livro
Sentar na cadeiraSentar na cadeira
Etc...Etc...
Ler um livroLer um livro
Comprar queijoComprar queijo
Comprar bananaComprar banana
Comprar atumComprar atum
FimFim......
Tudo que o agente pode fazer
![Page 6: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/6.jpg)
Limitações desta abordagem� Fator de ramificação grande;� A função heurística apenas escolhe o estado mais
próximo do objetivo. Não permite descartar ações a priori;
� Não permite abstração dos estados parciais;� Considera ações a partir do estado inicial, uma
Inteligência Artificial CTC-15
� Considera ações a partir do estado inicial, uma após a outra;
� Objetivo é testado para cada estado; para cada novo estado, um novo teste idêntico precisa ser feito.
![Page 7: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/7.jpg)
Planejamento: 3 idéias principais� Representação dos estados, objetivos e ações usando LPO
(descrições parciais dos estados)
� pode conectar diretamente estados e ações. Ex. estado: Have (Milk),
ação: Buy(milk)� Have(Milk)
� Adiciona ações ao plano quando forem necessárias
� ordem de planejamento ≠≠≠≠ ordem de execução
Inteligência Artificial CTC-15
� ordem de planejamento ≠≠≠≠ ordem de execução
� primeiro, o que é importante : Buy(Milk) – pode-se colocar esta ação
no plano, mesmo sem saber como chegar ao supermercado.
� diminui fator de ramificação
� Uso da estratégia de dividir-e-conquistar
� Definição de sub-planos: sub-plano supermercado, sub-plano loja de
ferramentas (sub-metas)
![Page 8: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/8.jpg)
Relembrando o Cálculo Situacional
Mundo : seqüência de situações
Ações : provocam mudanças na situação
Inteligência Artificial CTC-15
Result(Forward,S0) = S1
Result(Turn(Right),S1) = S2
Result(Forward,S2) = S3
Representação das mudanças no mundo:
![Page 9: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/9.jpg)
Planejando com Cálculo de
Situações
� Estado inicial: sentença lógicaAt(Home, S0) ∧ ¬ Have(Milk , S0) ∧ ¬ Have(Bananas, S0) ∧
¬ Have(Drill , S0)
� Estado Objetivo: pergunta lógica (p/ unificação)At(Home, S) ∧ Have(Milk , S) ∧ Have(Bananas , S) ∧
Have(Drill , S)
Operadores: conjunto de axiomas de estado sucessor
Inteligência Artificial CTC-15
� Operadores: conjunto de axiomas de estado sucessor∀ a,s Have(Milk, Result(a, s)) ⇔ [(a = Buy(Milk) ∧
At(supermarket, s) ∨ (Have(Milk, s) ∧ a ≠ Drop(Milk))]
� Notação� Result(a,s) - uma ação executada na situação s;� Result’(p,s) - seqüência de ações � S = Result’(p,S0)
![Page 10: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/10.jpg)
Planejando com Cálculo de Situações
� Reescrevendo o Estado Objetivo: pergunta lógica At(Home,Result’(p, S0)) ∧ Have(Milk, Result’(p, S0)) ∧Have(Bananas, Result’(p, S0)) ∧ Have(Drill, Result’(p, S0))
� Solução:p = [Go(SuperMarket), Buy(Milk), Buy(Bananas),
Go(HardwareStore), Buy(Drill), Go(home)]
� Limitações
Inteligência Artificial CTC-15
� Limitações� Eficiência da inferência em lógica de primeira ordem:
não OK!� Nenhuma garantia sobre a qualidade da solução
� ex. pode haver passos redundantes no meio do plano
� Solução: especializar linguagem (STRIPS) e definir um algoritmo para planejar (POP)
![Page 11: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/11.jpg)
STRIPS
� STRIPS: STanford Research Institute Problem Solver
� Estados: conjunção de literais sem variáveis�Inicial: At(Home)
�Por default, literal não mencionado é falso (Hipótese do mundo
fechado): ¬ Have(Milk) ^ ¬ Have(Bananas) ^ ¬ Have(Drill)
Inteligência Artificial CTC-15
fechado): Have(Milk) ^ Have(Bananas) ^ Have(Drill)
�Final: At(Home) ^ Have(Milk) ^ Have(Bananas) ^ Have(Drill)
� Objetivos: conjunção de literais e possivelmente variáveis (∃)
� At(Home) ^ Have(Milk) ^ Have(Bananas) ^ Have(Drill)
� At(x)^ Sells(x, Milk)
![Page 12: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/12.jpg)
� Ações:
�Descritor da ação: predicado lógico�Pré-condição: conjunção de literais positivos�Efeito: conjunção de literais (positivos ou negativos) – lista de literais a serem adicionados e lista de literais a serem removidos.
Ações em STRIPS
Inteligência Artificial CTC-15
lista de literais a serem removidos.
� Operador para ir de um lugar para outro� Op( ACTION: Go(there),
PRECOND:At(here) ^ Path(here, there), EFFECT:At(there) ^ ¬ At(here))
ADD: At(there) DEL: ¬ At(here)
Notação alternativa:Go(there)Go(there)
At(here), Path(here, there)At(here), Path(here, there)
At(there), At(there), ¬¬ At(here)At(here)
![Page 13: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/13.jpg)
B
C
A
A
B
C
Estado inicial:On(C,A) Clear(B)On(A, Table) Clear(C)On(B, Table)
Estado final (objetivo):On(A,B) Clear(A)On(B, C)On(C, Table)
Inteligência Artificial CTC-15
On(C, Table)Ações:PutOn(x,y) � P: On(x,z), Clear(y), Clear(x)
Add: On(x,y), Clear(z)Del: On(x,z), Clear(y)
PutOnTable(x) � P: On(x,z), Clear(x)Add: On(x,Table), Clear(z)Del: On(x,z)
PutOn(x,y)
On(x,z), Clear(y), Clear(x)
On(x,y), Clear(z), ~Clear(y), ~On(x,z)
PutOnTable(x)
On(x,z), Clear(x)
On(x,Table), Clear(z), ~On(x,z)
![Page 14: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/14.jpg)
Tipos de Planejadores : Controle
� Progressivo: estado inicial � objetivo� Regressivo: objetivo � estado inicial
� mais eficiente (há menos caminhos partindo do objetivo do que do estado inicial)
� problemático se existem múltiplos objetivos
Inteligência Artificial CTC-15
![Page 15: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/15.jpg)
Busca no espaço de planos
� Espaços de Busca� Espaço de situações (nó = estado do mundo)� Espaço de planos (nó = plano parcial)
� mais flexível� evita engajamento prematuro
Inteligência Artificial CTC-15
� Idéia: Buscar nos espaço de planos� Buscar um plano desejado em vez de uma situação
desejada (espécie de meta-busca)
� parte-se de um plano inicial (parcial), e aplica-se operadores até chegar a um plano final (completo)
� Plano inicial� passos Start e Finish
![Page 16: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/16.jpg)
Busca no espaço de planos:
operadores� Condição aberta: é uma pré-condição de um passo
ainda não realizado.
� Operadores para planos parciais:� Adicionar ligação de uma ação existente para uma
condição aberta;
Inteligência Artificial CTC-15
condição aberta;
� Adicionar um passo para preencher uma condição aberta;
� Ordenar um passo com respeito a outro.
� Gradualmente, evolui de planos incompletos (vagos) para planos completos e corretos
![Page 17: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/17.jpg)
Plano (de ordem) parcial
LeftSock
RightSock
StartStart
Inteligência Artificial CTC-15
LeftShoe
RightShoe
LeftSockOn RightSockOn
Finish
LeftShoeOn, RightShoeOnFinish
LeftShoeOn, RightShoeOn
![Page 18: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/18.jpg)
Plano final: características� Plano final
� Completo - toda pré-condição é preenchida. Uma pré-condição é preenchida iff ela for o efeito de um passo prévio e nenhum passo posterior o desfaz.
� Consistente - não há contradições nos ordenamentos ou nas atribuição de variáveis
� mas não necessariamente totalmente ordenado e instanciado….
Inteligência Artificial CTC-15
� mas não necessariamente totalmente ordenado e instanciado….
� Ordem total x Ordem parcial� Ordem total: lista simples com todos os passos, um atrás do outro
� Linearizar um plano é colocá-lo na forma “ordem total”
� Instanciação completa de um plano: quando todas variáveis são instanciadas
![Page 19: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/19.jpg)
Linearização do exemplo dos sapatos
Inteligência Artificial CTC-15
![Page 20: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/20.jpg)
Princípio do menor engajamento
� Por quê deixar o plano não totalmente ordenado e instanciado?
� Princípio do menor engajamento (least commitment planning)� não faça hoje o que você pode fazer amanhã � ordem e instanciação parcial são decididas quando
necessário
Inteligência Artificial CTC-15
ordem e instanciação parcial são decididas quando necessário
� evita-se backtracking!� Exemplo
� para objetivo have(Milk), a ação Buy(item, store) instancia somente o item => Buy (Milk,store)
� para as meias/sapatos: calçar cada meia antes do sapato, sem dizer por onde começa(esq/dir)
![Page 21: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/21.jpg)
POP (Partial Order Planning)� Existindo a linguagem (STRIPS), falta o algoritmo..
� Características do POP� Algoritmo não determinístico;� A inserção de um passo só é considerada se atender uma
pré-condição não preenchida (aberta);� Planejador regressivo (do objetivo para o início);� É correto e completo, assumindo busca em largura ou em
Inteligência Artificial CTC-15
� É correto e completo, assumindo busca em largura ou em profundidade iterativa.
� Idéia do algoritmo� identifica passo com pré-condição não satisfeita;� introduz passo cujo efeito (causa) é satisfazer esta pré-
condição;� instancia variáveis e atualiza os links causais;� verifica se há ameaças e corrige o plano, se for o caso.
![Page 22: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/22.jpg)
Voltando ao exemplo das compras...
� Plano inicial
Conhecimento a priori do mundo
Inteligência Artificial CTC-15
� AçõesOp(ACTION: Go(there), PRECOND: At(here),
EFFECT: At(there) ∧ ¬ At(here))Op(ACTION: Buy(x), PRECOND: At(store) ^ Sells(store, x),
EFFECT: Have(x))
![Page 23: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/23.jpg)
Planejamento Parcial – Exemplo (1)
StartStartAt(Home) Sells(SM, Milk) Sells (SM, At(Home) Sells(SM, Milk) Sells (SM, Banana) Sells(HWS,Drill)Banana) Sells(HWS,Drill)
StartStartSells(HWS, Drill) Sells(SM, Milk)Sells(HWS, Drill) Sells(SM, Milk)Sells(SM, Bananas) At(Home)Sells(SM, Bananas) At(Home)
Link que
Inteligência Artificial CTC-15
BuyBuy((DrillDrill))Sells(HWS,Drill)Sells(HWS,Drill)At(HWS),At(HWS),
FinishFinish
Have(Drill) Have(Milk) Have(Drill) Have(Milk) Have(Bananas) At(Home)Have(Bananas) At(Home)
FinishFinish HaveHave((DrillDrill) ) HaveHave(Milk) (Milk) HaveHave(Bananas) (Bananas) AtAt(Home)(Home)
Vínculo (Link) causal
Link que denota restrições de ordenamento
![Page 24: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/24.jpg)
Planejamento Parcial – Exemplo (2)
StartStartAt(Home) Sells(HWS,Drill) Sells(SM, Milk) Sells (SM, Banana)At(Home) Sells(HWS,Drill) Sells(SM, Milk) Sells (SM, Banana)
AtAt (HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill )) At(SM), Sells(SM,Milk)At(SM), Sells(SM,Milk)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill)AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill ))
FinishFinish
Have(Drill) Have(Milk) Have(Bananas) At(Home)Have(Drill) Have(Milk) Have(Bananas) At(Home)
Buy(Milk)Buy(Milk)At(SM), Sells(SM,Milk)At(SM), Sells(SM,Milk)
![Page 25: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/25.jpg)
Planejamento Parcial – Exemplo (3)
StartStartAt(Home) Sells(HWS,Drill) Sells(SM, Milk) Sells (SM, Banana)At(Home) Sells(HWS,Drill) Sells(SM, Milk) Sells (SM, Banana)
AtAt (HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill )) AtAt (SM), (SM), SellsSells(SM,Milk)(SM,Milk) AtAt (SM), (SM), SellsSells(SM,Banana)(SM,Banana)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill)AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill ))
FinishFinish
Have(Drill) Have(Milk) Have(Bananas) At(Home)Have(Drill) Have(Milk) Have(Bananas) At(Home)
Buy(Milk)Buy(Milk)AtAt(SM), (SM), SellsSells(SM,Milk)(SM,Milk)
BuyBuy(Banana)(Banana)AtAt(SM), (SM), SellsSells(SM,Banana)(SM,Banana)
![Page 26: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/26.jpg)
Planejamento Parcial – Exemplo (4)
StartStartAt(Home)At(Home)
AtAt (HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill )) AtAt (SM), (SM), SellsSells(SM,Milk)(SM,Milk) AtAt (SM), (SM), SellsSells(SM,Banana)(SM,Banana)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill)AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill ))
FinishFinish
Have(Drill) Have(Milk) Have(Bananas) At(Home)Have(Drill) Have(Milk) Have(Bananas) At(Home)
Buy(Milk)Buy(Milk)AtAt(SM), (SM), SellsSells(SM,Milk)(SM,Milk)
Buy(Banana)Buy(Banana)AtAt(SM), (SM), SellsSells(SM,Banana)(SM,Banana)
![Page 27: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/27.jpg)
Planejamento Parcial – Exemplo (5)
Go(HWS)Go(HWS)At(x)At(x)
StartStartAt(Home)At(Home)
AtAt (HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill )) AtAt (SM), (SM), SellsSells(SM,Milk)(SM,Milk) AtAt (SM), (SM), SellsSells(SM,Banana)(SM,Banana)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill)AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill ))
FinishFinish
Have(Drill) Have(Milk) Have(Bananas) At(Home)Have(Drill) Have(Milk) Have(Bananas) At(Home)
Buy(Milk)Buy(Milk)AtAt(SM), (SM), SellsSells(SM,Milk)(SM,Milk)
Buy(Banana)Buy(Banana)AtAt(SM), (SM), SellsSells(SM,Banana)(SM,Banana)
![Page 28: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/28.jpg)
Planejamento Parcial – Exemplo (6)
Go(HWS)Go(HWS)At(Home)At(Home)
StartStart
AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill )) AtAt (SM), (SM), SellsSells(SM,Milk)(SM,Milk) AtAt (SM), (SM), SellsSells(SM,Banana)(SM,Banana)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill)AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill ))
FinishFinish
Have(Drill) Have(Milk) Have(Bananas) At(Home)Have(Drill) Have(Milk) Have(Bananas) At(Home)
Buy(Milk)Buy(Milk)AtAt(SM), (SM), SellsSells(SM,Milk)(SM,Milk)
Buy(Banana)Buy(Banana)AtAt(SM), (SM), SellsSells(SM,Banana)(SM,Banana)
![Page 29: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/29.jpg)
Planejamento Parcial – Exemplo (7)
Go(HWS)Go(HWS)At(Home)At(Home)
StartStart
AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill )) AtAt (SM), (SM), SellsSells(SM,Milk)(SM,Milk) AtAt (SM), (SM), SellsSells(SM,Banana)(SM,Banana)
Go(SM)Go(SM)At(x)At(x)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill)AtAt(HWS), (HWS), SellsSells(HWS,(HWS,DrillDrill ))
FinishFinish
Have(Drill) Have(Milk) Have(Bananas) At(Home)Have(Drill) Have(Milk) Have(Bananas) At(Home)
Buy(Milk)Buy(Milk)AtAt(SM), (SM), SellsSells(SM,Milk)(SM,Milk)
Buy(Banana)Buy(Banana)AtAt(SM), (SM), SellsSells(SM,Banana)(SM,Banana)
![Page 30: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/30.jpg)
Planejamento Parcial – Exemplo (8)
GoGo(HWS)(HWS) Go(SM)Go(SM)
StartStart
Buy(Drill)Buy(Drill) Buy(Bananas)Buy(Bananas)Buy(Milk)Buy(Milk)
At(SM),At(SM),Sells(SM, Milk)Sells(SM, Milk)Sells(HWS,Drill)Sells(HWS,Drill) At(SM),At(SM),
At(Home)At(Home) At(Home)At(Home)
Sells(SM, Bananas)Sells(SM, Bananas)At(HWS),At(HWS),
Apaga At(Home)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill) Buy(Bananas)Buy(Bananas)Buy(Milk)Buy(Milk)
Have(Milk),Have(Milk),Have(Drill),Have(Drill), Have(Bananas),Have(Bananas),At(Home)At(Home)
FinishFinish
PROBLEMA: Considere que a pré-condição At(x) do Go(SM) foi satisfeita através de uma ligação à condição At(Home) do Start; se o agente decidir ir primeiro à HWS, ele não mais poderá sair de casa para ir ao SM, pois Go(HWS) adiciona At(HWS), mas também remove At(Home)!!! (e vice-versa: indo de casa ao SM, não mais consegue ir de casa à HWS) � AMEAÇA (Estar em Conflito)
![Page 31: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/31.jpg)
Problema da ameaça� Ameaça
� ocorre quando os efeitos de um passo põem em risco as pré-condições de outro
� Como testar?� O novo passo é inconsistente com condição protegida
(vínculo causal)
Inteligência Artificial CTC-15
(vínculo causal)� Vínculo causais também são chamados de intervalos de proteção
porque protegem a possibilide de c ser negado entre S1 e S2
� O passo antigo é inconsistente com nova condição protegida
S1:S1:GoGo(HWS)(HWS) S2:S2:BuyBuy((DrillDrill))c:At(HWS)c:At(HWS)
![Page 32: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/32.jpg)
Ameaça - soluções
SS33¬ ¬ cc
SS11
PromotionPromotionDemotionDemotionSS33SS11
cc
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ cc
Inteligência Artificial CTC-15
SS11
SS22
cc
SS33
SS22
¬ ¬ cc
ccSS22
cc
S3 ameaça a condição c estabelecida por S1 e protegida pelo vínculo causal S1 para S2.
S1 tem efeito c que é pré-condiçãode S2. S3 tem efeito¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ cc
AmeaçaAmeaça
OU
![Page 33: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/33.jpg)
Planejamento Parcial – Exemplo (8)
GoGo(HWS)(HWS) Go(SM)Go(SM)
StartStart
Buy(Drill)Buy(Drill) Buy(Bananas)Buy(Bananas)Buy(Milk)Buy(Milk)
At(SM),At(SM),Sells(SM, Milk)Sells(SM, Milk)Sells(HWS,Drill)Sells(HWS,Drill) At(SM),At(SM),
At(Home)At(Home) At(Home)At(Home)
Sells(SM, Bananas)Sells(SM, Bananas)At(HWS),At(HWS),
Apaga At(Home)
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill) Buy(Bananas)Buy(Bananas)Buy(Milk)Buy(Milk)
Have(Milk),Have(Milk),Have(Drill),Have(Drill), Have(Bananas),Have(Bananas),At(Home)At(Home)
FinishFinish
Tentativas de solução: 1. Demotion não dá: Go(SM) ficaria antes de
Start???2. Promotion: sairia de Home, iria à HWS e, logo
em seguida, ao SM, sem comprar o Drill!! (nova ameaça)
![Page 34: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/34.jpg)
Planejamento Parcial – Exemplo (9)
StartStart
Go(HWS)Go(HWS)At(Home)At(Home)
Go(SM)Go(SM)
Solução ?
Inteligência Artificial CTC-15
Buy(Drill)Buy(Drill)At(HWS), Sells(HWS,Drill)At(HWS), Sells(HWS,Drill)
FinishFinishHave(Drill) Have(Milk) At(Home) Have(Drill) Have(Milk) At(Home) Have(Bananas)Have(Bananas)
Buy(Milk)Buy(Milk)At(SM), Sells(SM,Milk)At(SM), Sells(SM,Milk)
Go(SM)Go(SM)
Buy(Banana)Buy(Banana)At(SM), Sells(SM,Banana)At(SM), Sells(SM,Banana)
Ameaça!!
![Page 35: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/35.jpg)
Planejamento Parcial – Exemplo (10)Start
Go(HWS)
Buy(Drill)
Go(SM)
At(Home)
At(HWS) Sells(HWS,Drill)
At(HWS)
Plano Final
Inteligência Artificial CTC-15
Go(SM)
Buy(Milk) Buy(Banana)
Go(Home)
Finish
At(SM) Sells(SM,Milk) At(SM) Sells(SM,Banana)
At(SM)
Have(Milk) At(Home) Have(Banana) Have(Drill)
![Page 36: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/36.jpg)
Exemplo: Troca de Pneu
Inteligência Artificial CTC-15
![Page 37: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/37.jpg)
Troca de Pneu -2
Inteligência Artificial CTC-15
![Page 38: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/38.jpg)
Troca de Pneu - 3
Inteligência Artificial CTC-15
� Inconsistência? � Em(Sobressalente,Chao) inconsistente entre Remover e
DeixarDuranteNoite
� Solução?
![Page 39: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/39.jpg)
Troca de Pneu -4
Inteligência Artificial CTC-15
![Page 40: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/40.jpg)
Troca de Pneu – 5
Inteligência Artificial CTC-15
![Page 41: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/41.jpg)
Mundo dos blocos
Estado inicial Estado final
Inteligência Artificial CTC-15
B
C
A
A
B
C
![Page 42: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/42.jpg)
Primeira abordagem Ação Mover
Inteligência Artificial CTC-15
� Problema: E se x=Mesa ou y=Mesa?� A mesa não fica “livre” e não precisa estar livre para mover
algo para a mesa
� Solução: criar outra ação MoverParaAMesa, além de Mover
![Page 43: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/43.jpg)
B
C
A
A
B
C
Estado inicial:On(C,A) Clear(B)On(A, Table) Clear(C)On(B, Table)
Estado final (objetivo):On(A,B) Clear(A)On(B, C)On(C, Table)
Inteligência Artificial CTC-15
On(C, Table)Ações:PutOn(x,y) � P: On(x,z), Clear(y), Clear(x)
Add: On(x,y), Clear(z)Del: On(x,z), Clear(y)
PutOnTable(x) � P: On(x,z), Clear(x)Add: On(x,Table), Clear(z)Del: On(x,z)
PutOn(x,y)
On(x,z), Clear(y), Clear(x)
On(x,y), Clear(z), ~Clear(y), ~On(x,z)
PutOnTable(x)
On(x,z), Clear(x)
On(x,Table), Clear(z), ~On(x,z)
![Page 44: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/44.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
![Page 45: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/45.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,z), Clear(B) , Clear(C)
~On(B,z), ~Clear(C) , On(B,C) , Clear(z)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
~On(B,z), ~Clear(C) , On(B,C) , Clear(z)
![Page 46: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/46.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,z), Clear(B) , Clear(C)
~On(B,z), ~Clear(C) , On(B,C) , Clear(z)
[z|Table]
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
~On(B,z), ~Clear(C) , On(B,C) , Clear(z)
![Page 47: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/47.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 48: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/48.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 49: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/49.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,z), ~Clear(B) , On(A,B) , Clear(z)
On(A,z), Clear(B) , Clear(A)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 50: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/50.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
[z|Table]
Ameaça!!S3:PutOn(A,B)S1: STARTS2:PutOn(B,C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,z), ~Clear(B) , On(A,B) , Clear(z)
On(A,z), Clear(B) , Clear(A)
Demotion: não dá!Promotion: PutOn(A,B) deve ser executado após PutOn(B,C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 51: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/51.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
[z|Table]
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-1551
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,z), ~Clear(B) , On(A,B) , Clear(z)
On(A,z), Clear(B) , Clear(A)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 52: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/52.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
[z|Table]
[z|Table]~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,z), ~Clear(B) , On(A,B) , Clear(z)
On(A,z), Clear(B) , Clear(A)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 53: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/53.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOnTable(C)On(C,z) , Clear(C)
~On(C,z) , On(C,Table) , Clear(z)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
[z|Table]
[z|A]
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,Table), ~Clear(B) , On(A,B) , Clear(Table)
On(A,Table), Clear(B) , Clear(A)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 54: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/54.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOnTable(C)On(C,A) , Clear(C)
~On(C,A) , On(C,Table) , Clear(A)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,Table), ~Clear(B) , On(A,B) , Clear(Table)
On(A,Table), Clear(B) , Clear(A)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 55: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/55.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOnTable(C)On(C,A) , Clear(C)
~On(C,A) , On(C,Table) , Clear(A)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
[z|Table]Ameaça!
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,Table), ~Clear(B) , On(A,B) , Clear(Table)
On(A,Table), Clear(B) , Clear(A)
S1:STARTS2:PutOnTable(C)S3:PutOn(B,C)Demotion: não dá!Promotion: S3 após S2
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 56: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/56.jpg)
START
On(C,A) , On(A,Table) , Clear(B) , On(B,Table) , Clear(C)
PutOnTable(C)On(C,A) , Clear(C)
~On(C,A) , On(C,Table) , Clear(A)
PutOn(B,C)
On(B,Table), Clear(B) , Clear(C)
[z|Table]
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
Inteligência Artificial CTC-15
FINISH
On(A,B) , On(B,C)
PutOn(A,B)
~On(A,Table), ~Clear(B) , On(A,B) , Clear(Table)
On(A,Table), Clear(B) , Clear(A)
~On(B,Table), ~Clear(C) , On(B,C) , Clear(Table)
![Page 57: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/57.jpg)
Plano Final (no caso, ordem total!)
START
PutOnTable(C)
Inteligência Artificial CTC-15
PutOn(A,B)
FINISH
PutOn(B,C)
![Page 58: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/58.jpg)
Exemplo: Transporte de Cargas
Inteligência Artificial CTC-15
![Page 59: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/59.jpg)
Uma possível solução encontrada via
STRIPS e POP
Inteligência Artificial CTC-15
![Page 60: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/60.jpg)
STRIPS e ADL
� Nos últimos anos, ficou claro que STRIPS é insuficientemente expressiva para alguns domínios reais e foram desenvolvidas muitas variantes da linguagem.
� Uma variação importante é a Linguagem de Descrição de Ação (ADL). Em ADL a ação voar poderia ser escrita como:
Inteligência Artificial CTC-15
� Observe o uso do operador diferente e a notação de p:Avião, que é uma abreviação para Avião(p). A notação diferente não poderia ser escrita de modo sucinto em STRIPS
![Page 61: ctc15 cap5 Planejamento [Modo de Compatibilidade]pauloac/ctc15/ctc15_cap5.pdf · 2011-10-20 · Busca x planejamento Representação usando busca Ações: programas que geram o estado](https://reader034.vdocuments.com.br/reader034/viewer/2022043009/5f9ac997cbfe816a38326d4d/html5/thumbnails/61.jpg)
Diferenças entre ADL e STRIPS
Inteligência Artificial CTC-15