Title: Planejamento e Execu
1Planejamento e Execução
- Jacques Robin (DI-UFPE)
- Fernanda Marques
- Simone Correia
2Conteúdo
- Planejamento Condicional
- Execução e geração de um plano condicional.
- Extensão da linguagem
- Replanejamento
- Monitoramento ação x execução
- Planejamento situado
- Extensões e Discussões
- Planejamento condicional x replanejamento
- Coerção e abstração.
3Introdução
- POP e POP-TIRC-HAD-DUNC
- Funcionam quando
- Ambiente acessível, estático, determinístico
- Conhecimento completo e correto
- Só perceber, depois só planejar, depois agir
cegamente - Em ambientes mais desafiadores
- Abordagens
- 1. Planejamento condicional
- 2. Monitoriamento da execução
- 3. Planejamento situado
- Perceber, depois juntamente planejar, perceber e
agir
41. Planejamento condicional
- Plano condicional
- representa conjunto de planos,
- um para cada possível situação de execução
- Ações de Efetuação x Ações de Percepção
- objetivo ação de efetuação alterar ambiente
- objetivo ação de percepção alterar conhecimento
do ambiente (ex, checar o preço de algum objeto). - Ação de percepção pode
- ter efeitos colaterais no ambiente
- desencadear sub-plano com ações de efetuação
52. Monitoramento da execução
- Começar execução com plano completo e correto
dados conhecimento e suposições inicialmente
disponíveis - Usar percepções durante a execução para adquirir
conhecimento complementar e verificar suposições - Replanejar fim do plano para se adequar as
situações não antecipadas. - Ex., o agente descobre não ter suficiente para
comprar todos os itens.
6Conserto de um pneu vazio operadores, objetivo,
condições iniciais
- Operadores
- - Op(Action Remove(x), Precond On(x),
- Effect Off(x)ClearHub(x)notOn(x))
- - Op(Action PutOn(x), Precond
Off(x)ClearHub(x), - Effect On(x)notClearHub(x)not
Off(x)) - - Op(Action Inflate(x), Precond Intact(x)
Flat(x), - Effect Inflated(x)notFlat(x))
- Objetivo On(x)Inflated(x)
- Condições iniciais Inflated(Spare)Intact(Spa
re)Off(Spare)On(Tire1) Flat(Tire1)
7Concerto de um pneu vazio planos
- POP Remove(Tire1). PutOn(Spare)
- Conhecimento incompleto Intact(Tire1)
- Planejador condicional (CPOP)
- If(Intact(Tire1), Inflate(Tire1),
- Remove(Tire1), PutOn(Spare))
- Mais eficiente do que POP
-
8Execução de um plano condicional
- Condição é verificada na BC e deve ser conhecida
naquele ponto do plano - Conhecimento BC inicial deduções a partir das
seqüências de percepções e ações - Para plano condicional ser executável inserção
de ações de percepção testando as condições - Ex,
- Ação de percepção CheckTire (x)
- Novo Operador
- Op(Action CheckTire(x), Precond Tire(x),
- Effect KnowsWhether(Intact(x)))
9Construir um plano condicional
- Contexto condições necessárias para executar os
passos condicionais - Inflate(Tire1), contexto Intact(Tire1)
- Propagação de contexto
- Passos condicionais e links condicionais
- Contexto x Precondição
- precondição associada a uma ação
- contexto associado a uma possível instanciação
do plano condicional
10Geração do Plano
On(Tire1) Flat(Tire1) Inflated(Spare)
On(x) Inflated(x)
Start
Finish
( true )
On(Tire1)
On(Tire1) Flat(Tire1) Inflated(Spare)
Finish
Start
Inflated(Tire1)
(true)
Flat(Tire1)
Intact(Tire1)
Inflate(Tire1)
11On(Tire1) Flat(Tire1) Inflated(Spare)
On(Tire1)
Finish
Start
Inflated(Tire1)
Intact(Tire1)
Flat(Tire1) Intact(Tire1)
Inflate(Tire1)
Check(Tire1)
On(x) Inflated(x)
Finish
Intact(Tire1)
Intact(Tire1)
Not Intact(Tire1)
On(Tire1)
On(Tire1) Flat(Tire1) Inflated(Spare)
Start
Finish
Intact(Tire1)
Flat(Tire1) Intact(Tire1)
Iflate(Tire1)
Check(Tire1)
Intact(Tire1)
Intact(Tire1)
On(Spare) Inflated(Spare)
Finish
NotIntact(Tire1)
12Plano completo alguma ameaça?
On(Tire1) Flat(Tire1) Inflated(Spare)
On(Tire1) Inflated(Tire1)
Start
Finish
(Intact(Tire1))
Flat(Tire1) Intact(Tire1)
Inflate(Tire1)
On(Spare)
(Intact(Tire1))
Intact(Tire1)
Finish
Check(Tire1)
Inflated(Spare)
(NotIntact(Tire1))
NotIntact(Tire1)
Remove(Tire1)
(NotIntact(Tire1))
(NotIntact(Tire1))
13Estendendo a linguagem de planejamento
- Percepção não binária, ex. Color(x,c)
- Planos parametrizados com variável de execução.
- ex., SenseColor(table), KnowsWhat(Color(table,
c)), - GetPaint(c), Paint(Chair,c).
- Variáveis de execução
- Não se unificam entre si, nem com constantes,
apenas com variáveis de planejamento - Loops
- ex, While (Knows(UnevenColor(chair)),
- Paint(chair, c),
CheckColor(chair)) - Planejamento condicional e programação automática
14E se as coisas não saírem como planejadas?
- Monitoramento da Ação
- Verificação, com percepção, das pre-condições do
próximo passo - Monitoramento da Execução
- Verificação, com percepção, das pré-condições do
segmento de plano restante. - Condições de lidar com pré-condições
- não planejadas
- já satisfeitas
- Ex., robô dirigindo carro
15Detecção das falhas do plano
- 2 tipos de causas de falhas
- Não determinismo ou inacessibilidade enumerável
- ex., abrir lata de tinta (normal, vazia, derrame)
- pode usar C-POP-D
- Não determinismo ou inacessibilidade não
enumerável - ex., dirigir, planejamento econômico
- requer replanejamento
16Replanejamento
- Escolher a melhor continuação
- Verificar as precondições
- Executar
Q
P
A
R
Fim
Início
Agora
17Replanejamento
- Escolher a melhor continuação
- Verificar as precondições
- Executar
Q
P
A
R
P
A
Fim
Início
Agora
18Replanejamento
- Escolher a melhor continuação
- Verificar as precondições
- Executar
Q
P
A
R
P
A
Q
Fim
Início
Agora
Q R P ( Plano inicial ) Q R P (
Plano Final )
19Ex Pintar cadeira da mesma cor da mesa
Pega( Tinta)
n/ Tem ( tinta )
20Ex Pintar cadeira da mesma cor da mesa
21Ex Pintar cadeira da mesma cor da mesa
22Ex Pintar cadeira da mesma cor da mesa
- Comportamento de loop
- emergente da interação (re)planejador-ambiente
- sem conceito de loop da linguagem de planejamento
- pode servir de base para aprendizagem
23Ex Pintar cadeira da mesma cor da mesa
n/ Tem ( tinta )
- Replaneja
- P fim --gt P pinta,verifica,fim
- P pinta,verifica,fim
- --gt P pega(tinta),pinta, verifica,fim
24Agente de Planejamento Situado
- Gera um plano inicial
- Logo começa a executá-lo mesmo incompleto
- Continua planejando durante a execução,
intercalando - execução de passos (de percepção e efetuação)
- refinamento e ajuste do plano diante de defeitos
e mudanças não antecipadas no ambiente.
25Ex Mundo dos blocos
C D
B E
C F
D G
B E
G
A
A
F
Estado Inicial
Objetivo
- Op(Ação Mover(x, y),
- Precond Limpo(x)Limpo(y)EmCima(x, z)
- Efeito EmCima(x,y)Limpo(z)EmCima(x,
z)Limpo(y)
26Plano Inicial
B E
C F
D G
A
Estado Inicial
EmCima (C,F) Limpo (C) Limpo (D)
Mover (C,D)
NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima
(D,G) Limpo (A) Limpo (C) Limpo (D) Limpo (B)
EmCima (C,D) EmCima (D,B)
Início
Fim
EmCima (D,G) Limpo (D) Limpo (B)
Mover (D,B)
27 Eis que de repente...
D
A próxima ação seria Mover (D, B), mas as
pré-condições Limpo (B) EmCima (D,G) não
são mais válidas
B E
C F
G
A
EmCima (C,F) Limpo (C) Limpo (D)
Mover (C,D)
NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima
(D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G)
EmCima (C,D) EmCima (D,B)
Início
Fim
EmCima (D,y) Limpo (D) Limpo (B)
Mover (D,B)
28- Extendendo um link causal
D
B E
C F
G
A
EmCima (C,F) Limpo (C) Limpo (D)
Mover (C,D)
NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima
(D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G)
EmCima (C,D) EmCima (D,B)
Início
Fim
EmCima (D,Y) Limpo (D) Limpo (B)
Mover (D,B)
29- Eleminando passos redundantes
D
B E
C F
G
A
EmCima (C,F) Limpo (C) Limpo (D)
Mover (C,D)
NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima
(D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G)
EmCima (C,D) EmCima (D,B)
Início
Fim
30D
B E
F
G
C
A
NaMesa (A) EmCima (B,E) EmCima (C,A) EmCima
(D,B) Limpo (F) Limpo (C) Limpo (D) Limpo (G)
EmCima (C,D) EmCima (D,B)
Início
Fim
31- Adicinando um novo passo...
D
B E
F
G
C
A
EmCima (C,A) Limpo (C) Limpo (D)
Mover (C,D)
NaMesa (A) EmCima (B,E) EmCima (C,A) EmCima
(D,B) Limpo (F) Limpo (C) Limpo (D) Limpo (G)
EmCima (C,D) EmCima (D,B)
Início
Fim
32C
- Finalmente
- plano revisado final completo e correto
- agente situado procura ovo objetivo
D
B E
F
G
A
NaMesa (A) EmCima (B,E) EmCima (C,D) EmCima
(D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G)
EmCima (C,D) EmCima (D,B)
Início
Fim
33Planejamento condicional x replanejamento
( passos)
- Planejamento Condicional condições e
- Replanejamento planos frágeis nem sempre podem
ser completados - Um sistema híbrido
- Conclusão deve-se considerar probabilidades e
custos dos resultados.
34Outros métodos para contornar a incerteza
coerção e agregação
- Coerção
- forçar o mundo a um estado conhecido.
- ex., Objetivo Color(Chair,c)Color(Table,c)
- Solução pintar a cadeira e a mesa com mesma
tinta - Objetivo de manutenção
- proibir coerção de algumas propriedades de alguns
objetos - ex., Color(Chair,c)Color(Table,c)Maintain(Color(
Table,x)) - Agregação
- agrupar objetos de comportamento individual não
determinístico - em classes de comportamento global determinístico
35Abstração, arquitetura híbridas e multi-agentes
Ambiente Determinístico Agente Planejador Simbólic
o Declarativo
Grau de Abstração
Ambiente Não-Determinístico Agente
Reativo Simbólico Procedimental ou Sub-Simbólico