Planejamento
Hierárquico e
Planejamento Reativo
Ana Emilia de Melo Queiroz
Tópicos Avançados em Inteligência
Artificial Simbólica
CIn - UFPE
Planejamento Hierárquico e
Planejamento Reativo: Roteiro
• Planejamento Hierárquico
• Planejamento Reativo
• Sem Sensor
• Condicional
• Execução e Monitoramento
• Planejamento Contínuo
Planejamento Hierárquico e Planejamento Reativo
Decomposição Hierárquica
• Problema
• Instruções muito abstratas não são
implementáveis no mundo real.
• Ex. “Go(Supermarket), Buy(Milk), Buy(Bananas), Go(Home)”
• Instruções detalhadas provocam explosão
combinatória no espaço de busca
• “Avançar(1cm), Girar(40°), ...”
• Solução
• Planejar com refinamento incremental através de
decomposição hierárquica de operadores
abstratos
• Operadores abstratos:
• não direitamente executáveis (não primitivos)
• com várias decomposições em ações menos
abstratas
Planejamento Hierárquico e Planejamento Reativo
Exemplo de decomposição hierárquica
BuildHouse
Decomposes to
Obtain
Permit
Construction
Hire
Builder
Pay
Builder
Decomposes to
Build
Foundation
Build
Frame
Build
Roof
Build
Walls
Build
Interior
Planejamento Hierárquico e Planejamento Reativo
Decomposição Hierárquica
• O que é preciso?
• Estender STRIPS para
• Incluir operadores abstratos
• Definir quem são ou não os operadores abstratos
• Redefinir POP
• Novo operador: Decompose(a,p) - A
ação a pode ser decomposta em um
plano p.
Planejamento Hierárquico e Planejamento Reativo
Exemplo de Decompose(a,p)
• Exemplo
Decompose(Construction,
Plan(STEPS:{S1:Build(Foundation),S2:Build(Frame),
S3: Build(Roof), S4:Build(Walls),
S5: Build(Interior)}
Orderings:{S1<S2<S3<S5, S2<S4<S5},
Bindings:{},
Links:{S1 Foundation S2, S2 Frame S3, S2 Frame
S4,
S3 Roof S5, S4 Walls S5}))
Planejamento Hierárquico e Planejamento Reativo
Decomposição Hierárquica
• Algoritmo
• Construir POP inicial ao maior nível de abstração
• Recursivamente decompor ações abstratas até
POP final conter apenas de operadores
primitivos (que podem ser executados pelo
agente)
• Verificar consistência global do POP final
• Vantagens de Sub-POPs independentes:
• Espaço de busca reduzido
• Conhecimento composicional
• Uso e reuso de sub-POPs pre-fabricados ou já
planejados
Planejamento Hierárquico e Planejamento Reativo
Decomposição e
compartilhamento
• Maioria das decomposições das ações abstratas
independentes umas das outras
• Mas as vezes a única solução primitiva envolve
compartilhamento de ações entre decomposições
• 2 possibilidades:
• Quando escolher decomposição de uma ação
abstrata, verificar oportunidades e restrições
de compartilhamento
• Escolher decomposição sem compartilhamento,
e depois usar regras de revisão (chamadas
críticas) para tornar o plano primitivo
resultante em uma solução com ações
corretamente compartilhadas
Planejamento Hierárquico e Planejamento Reativo
Exemplo da necessidade de
compartilhar
Curtir Lua-de-mel &
fazer bebê
Casar-se &
Casar-se & ir
para lua-de-mel
ter um bebê
Curtir lua de mel &
fazer bebê
Casar-se
Ir para lua
de mel
Ter bebê
Planejamento Hierárquico e Planejamento Reativo
De POP-HD-STRIPS
para POP-HAD STRIPS
• Duas formas ortogonais de planejamento hierárquico:
• hierarquia de ações de vários níveis de abstração para
decomposição
• hierarquia de precondições de vários níveis de
prioridade para aproximação
• Podem ser combinadas para reduzir busca: começar por planos
completos e consistentes embora abstratos e aproximativos
• Exemplo de operador com precondições a 3 níveis de
prioridades: Op(Action:Buy(x),
Effect:Have(x) ^ ¬Have(Money),
Precond:1:Sells(store,x)
2:At(store)
3:Have(Money))
Planejamento Hierárquico e Planejamento Reativo
E se as coisas não saírem como
planejadas?
• Monitoramento da Ação:
• Verificação, com percepção, das precondições do passo corrente
• Monitoramento da Execução:
• Verificação, com percepção, das précondições do segmento restantes.
• Condições de lidar com pré-condições:
• não planejadas
• já satisfeitas
• Ex: Robô dirigindo carro...
Planejamento Hierárquico e Planejamento Reativo
Detecção das falhas do plano
• Formas de monitoramento dependentes
da percepção.
Indeterminância:
• Limitada (numerável):
• ex. :abrir uma lata de tinta
• Ilimitada (não enumerável):
• ex.: dirigir, planejamento econômico
Planejamento e Execução
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
• POP e POP-TIRC-HAD:
• Funcionam quando:
• Ambiente acessível, estático, determinístico
• Conhecimento completo e correto
• Perceber, depois planejar, depois agir
cegamente.
• Domínios não determinísticos e ou
parcialmente observável:
• Ambiente inacessível, dinâmicos, estocásticos
• Conhecimento incompleto e incorreto
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Planejando com Indeterminância
•
•
•
•
Planejamento Sem Sensor.
Planejamento Condicional.
Monitoramento e Execução.
Planejamento Contínuo.
• Obs:Os primeiros dois métodos
trata da indeterminância limitada,
os outros da indeterminância
ilimitada.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução:Planejamento
Sem Sensor
• Adotar uma estratégia conhecida e bem
sucedida.
• Exemplo: Um médico que prescreve um
antibiótico de amplo espectro.
• Não trata indeterminânica ilimitada.
• Aplicado a técnica clássica.
• Coerção: métodos para contornar a
incerteza que força o mundo a um
estado conhecido.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Planejamento Condicional ou
Planejamento de Contingência
• Plano condicional / Conjunto de planos /
Possíveis situações
• 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).
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução: Execução de um
plano condicional
• Condição é verificada na B.C. e deve ser
conhecida naquele ponto do plano.
• Conhecimento = Seq. de percepções + Seq.
de ações + B.C inicial.
• Para um plano condicional ser executável: “o
agente deve inserir ações de percepção para
testar condição”.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Planejamento Condicional Ambiente
Completamente Observável
• Ele conhece o estado corrente mas não
está habilitado a predizer os efeitos de
suas ações.
• Construção de passos condicionais no
plano em tempo de planejamento.
• Verificação destas condições em tempo
de execução.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Planejamento Condicional: Ambiente
Completamente Observável. O que é preciso?
• Estender SRIPS para suportar o não determinismo.
• Efeitos disjuntivos.
• Uma ação podendo ter um ou mais efeitos.
• Ex: Um aspirador que tenta ir para esquerda e pode falhar.
• Action(left,PRENCOND:AtR,EFFECT:ATL).
• Action(left,PRENCOND:AtR,EFFECT:AtR v AtL).
•Efeitos condicionais
•Dependendo do estado no qual a ação está sendo
executada. Não trata indeterminância
•Ex: Aspirador que às vezes suja o quadrado destino,
porém ele só suja se o quadrado estiver limpo.
•Action(left,PRECOND: AtR,EFFECT:AtL v (AtL ^ when
CleanL:~CleanL)).
•Passos Condicionais
•If AtL ^ CleanL then Rigth else Suck
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Planejamento Condicional: Ambiente
Parcialmente Observável
• Percepção parcial do estado atual.
• Admitir que o estado atual pertence a um
conjunto de estados.
• Estados de crenças do agente.
• Ex: O agente do aspirador. Ele conhece o
estado do quadrado em que está, mas ele não
conhece o outro quadrado.
• Representação do estado de crença.
• {(AtR ^ CleanR ^ CleanL).(AtR ^ CleanR ^
~CleanL}
• Este formato de representação pode ser muito cara
se existir várias proposições booleanas definidas
sobre o estado.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Monitoramento e Execução
• Qualquer técnica de planejamento pode ser
utilizada:(Clássica, Sem Sensor ou Condicional).
• A diferença é que ele precisará fazer o
monitoramento da execução.
• Avaliação da adequação do plano à nova
situação.
• E se alguma coisa não sai como esperado?
• O Replanejamento é utilizado para tratar as
indeterminâncias ilimitadas que podem ocorrer.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Monitoramento e 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.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Monitoramento da Execução
•
Plano completo inicial:
• whole_plan que começa em
S e vai até G.
•
•
•
•
•
•
O agente executa o plano até o
ponto E.
As precondições são verificadas.
Ele verifica que as prencodições
são satisfeitas atualmente no
estado O e não no estado E.
Ele então chama o seu algoritmo
de planejamento que retorno um
reparo para o plano.
Este reparo começa em O e vai
até algum ponto P do plano
inicial.
Um novo plano resulta da
concantenação do repair com a
continuação.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Planejamento Contínuo ou Situado
• Persiste indefinidamente no ambiente:
• Ele vive sempre mudando a formulação de seus
objetivos, planejamento e fases de atuação.
• Em vez de ter o planejador e o monitor de
execução como processos separados, ter um
único processo presente em um agente de
monitoramento contínuo.
• Suas atividades incluem
• Executar alguns passo do plano que devem ser executados
• Refinamento do plano para satisfazer as precondições
abertas
• Resolver os conflitos
• Modificar o plano tomando como referencial as
informações obtidas durante a execução.
Planejamento Hierárquico e Planejamento Reativo
Planejamento e Execução
Planejamento Contínuo: POP-con
• Assumindo ambiente completamente
observável. A mesma técnica pode ser
utilizada para ambientes parcialmente
observáveis.
• Como exemplo usaremos o mundo dos
blocos.
• A ação é mover(x,y). Mover x para y.
• Action(Move(x,y),PRECOND:Clear(x) ^ Clear(y) ^
On(x,z),
• EFFECT:On(x,y) ^ Clear(z) ^ ~On(x,z) ^
~Clear(y)).
Ex: Mundo dos blocos
A
B
E
C
F
D
G
Estado Inicial
A
C
D
B
E
F
G
Objetivo
Ação: Mover (x, y)
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)
A
B
E
C
F
Plano Inicial
D
G
Estado Inicial
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,G)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (B)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,G)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
A
B
E
C
F
Plano Inicial
D
G
Estado Inicial
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,G)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (B)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,G)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
A
B
E
C
F
Plano Inicial
D
G
Estado Inicial
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,G)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (B)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,G)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
A
B
E
C
F
Plano Inicial
D
G
Estado Inicial
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,G)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (B)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,G)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
Eis que de repente...
A
D
B
E
C
F
G
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,B)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (G)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,y)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
Eis que de repente...
A
D
B
E
C
F
G
A próxima ação seria:
Mover (D, B), mas as pré-condições
limpo (D) ^ limpo (B) ^ EmCima (D,G)
não são mais válidas
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,B)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (G)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,y)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
A
D
B
E
C
F
• Estendendo um link
causal
G
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,B)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (G)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,y)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
A
D
B
E
C
F
• Eliminando passos
redundantes
G
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,B)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (G)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
EmCima (D,y)
Limpo (D)
Limpo (B)
Mover (D,B)
Fim
A
D
B
E
C
F
• Eliminando passos
redundantes
G
EmCima (C,F)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,F)
EmCima (D,B)
Limpo (A)
Limpo (C)
Limpo (D)
Limpo (G)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
Fim
C
A
Início
D
B
E
• Um Agente desajeitado...
F
G
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)
Fim
C
A
D
B
E
• Adicionando um novo
passo...
F
G
EmCima (C,A)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,A)
EmCima (D,B)
Limpo (F)
Limpo (C)
Limpo (D)
Limpo (G)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
Fim
C
A
D
B
E
• Adicionando um novo
passo...
F
G
EmCima (C,A)
Limpo (C)
Limpo (D)
Início
NaMesa (A)
EmCima (B,E)
EmCima (C,A)
EmCima (D,B)
Limpo (F)
Limpo (C)
Limpo (D)
Limpo (G)
Mover (C,D)
EmCima (C,D)
EmCima (D,B)
Fim
A
Início
C
D
B
E
• Finalmente...
F
G
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)
Fim
A
Início
C
D
B
E
• E o agente situado pode
buscar um novo objetivo
F
G
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)
Fim
Discussão
• O planejamento contínuo pode ser visto como similar ao POP
a medida que ele é um ciclo de percepção,correção de
falhas e atuação.
• Em cada iteração POP procura as falhas do plano efetuar a
correção.
• Pré-condições em aberto
• Conflitos Causais.
• O agente planejador contínuo ele pode tratar um número
maior de falhas.
• Falta de objetivos
• O agente pode adicionar um novo objetivo
• Pré-condições em aberto.
• Adicionar um link causal para a pré-condição em aberto
• Conflito Causal
• Escolher restrições de ordem ou de variáveis para resolver o conflito.
• Link não suportado
• Se existir um link Sart
remove o link.
• ...
P
A e p não é mais verdadeiro em Start, então
Quadro Comparativo
Ambientes Determinísticos
Ambientes não Determinísticos
Limitadas
Ilimitadas
POP
POP-Sem Sensor
- coerção
Monitoração e
Execução
POP-TI
POP Condicional
Planejamento
Contínuo
POP-RC
POP-HAD
Download

HPOPandReactivePlanning