Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial...

70
Planejamento Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE

Transcript of Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial...

Page 1: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

PlanejamentoPlanejamento

Rodrigo Barros de Vasconcelos Lima

Tópicos Avançados em Inteligência Artificial Simbólica

CIn - UFPE

Page 2: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

RoteiroRoteiro

Introdução Problemas de Planejamento Linguagens de Representação de Planejamento

STRIPS ADL

Algoritmos de Planejamento Planejamento com Busca no Espaço de Estado

Busca Para Frente Busca Para Trás

Planejamento com Busca no Estado de Planos Planejamento de Ordem Parcial (POP)

Planejamento Dirigido por Grafo Planejamento no Mundo Real

Tempo, Escalonamento e Recursos

Page 3: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

IntroduçãoIntrodução

Tarefa de escolher uma seqüência de ações que atinjam um determinado objetivo

São representados por estados, ações e objetivos

A princípio serão estudados ambientes de planejamento clássicos: Totalmente observáveis Deterministas Finitos Estáticos Discretos (tempo, ações, objetos e efeitos)

Page 4: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Problemas de PlanejamentoProblemas de Planejamento

Agente baseado em busca é um agente planejador simples !!!

O que acontece quando esse tipo de agente se depara com problemas mais complexos? Não sabe lidar com a existência de ação irrelevantes Dificuldade para encontrar uma boa função de heurística Não é capaz de tirar vantagem da decomposição de problemas

Existem outras técnicas para planejamento que permitem melhor desempenho em problemas do mundo real

Page 5: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

STRIPS: STanford Research Institute Problem STRIPS: STanford Research Institute Problem SolverSolver

Linguagem suficientemente expressiva (e restrita) para representação de problemas de planejamento clássicos

Estados: Conjunções de literais, sem funções, instanciados da lógica da 1a ordem Ex, Rich Famous, At(Plane1, Melbourne)

Objetivos: Estado parcialmente especificado Conjunção de literais positivos, sem funções, da lógica da 1a ordem Ex.: Rich Famous, At(Plane1, Melbourne)

Restrição sobre a presença de funções garante que qualquer esquema de ação possa ser proposicionalizado !

Page 6: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

STRIPS: STanford Research Institute Problem STRIPS: STanford Research Institute Problem SolverSolver

Ações definidas por nome, precondição e efeito: Nome:

Literal positivo, sem função, da lógica da 1a ordem Precondição:

Literal positivo, sem função, da lógica da 1a ordem Efeito:

Literal (positivo ou negativo), sem função, da lógica da 1a ordem Ex.: Action (Fly(p, from, to),

PRECOND: At(p,from) Plane(p) Airport(from Airport(to)

EFFECT: At(p,from) At(p,to) )

Semântica de todas as fórmulas lógica com hipótese do mundo fechado !

Page 7: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Semântica de STRIPSSemântica de STRIPS Uma ação é aplicável em qualquer estado que satisfaça suas pré-

condições Ex.: Fly(P1, JFK, SFO) aplicável ao estado:

At(P1,JFK) At(P2,SFO) Plane(P1) Plane(P2) Airport(JFK) Airport(SFO)

Resultado da execução de uma ação aplicável a: Literais positivos do efeito da ação a são adicionados ao novo estado s’ Literais negativos são removidos de s’ Ex.: estado após execução de Fly(P1, JFK, SFO):

At(P1,SFO) At(P2,SFO) Plane(P1) Plane(P2) Airport(JFK) Airport(SFO)

Page 8: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: STRIPSExemplo: STRIPS

Init( At(C1, SFO) At(C2, JFK) At(P1, SFO) At(P2, JFK) Cargo(C1) Cargo(C2) Plane(P1) Plane(P2) Airport(JFK) Airport(SFO) )

Goal( At(C1, JFK) At(C2, SFO))

Action( Load(c, p, a),

PRECOND: At(c, a) At(p, a) Cargo(c) Plane(p) Airport(a)

EFFECT: At(c, a) In(c, p) )

Action( Unload(c, p, a),

PRECOND: In(c, p) At(p, a) Cargo(c) Plane(p) Airport(a)

EFFECT: At(c, a) In(c, p) )

Action (Fly(p, from, to),

PRECOND: At(p, from) Plane(p) Airport(from) Airport(to)

EFFECT: At(p, from) At(p, to) )

Page 9: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ADL: Action Description LanguageADL: Action Description Language

STRIPSSTRIPS ADLADL

Apenas literais positivos nos estados

Literais Positivos e Negativos nos estados

Hipótese do mundo fechado Hipótese do mundo aberto

Efeito P Q: adicionar P e apagar Q

Efeito P Q: adicionar P e apagar Q e apagar P e Q

Apenas proposições nos objetivos Variáveis quantificadas

Objetivos são conjunções Objetivos podem ser conjunções e/ou disjunções

Efeitos são conjunções Efecitos condicionais permitidos: When P:E

Não suporta igualdade Suporta igualdade

Não suporta tipos Suporta tipos

Ex.: Action( Fly(p : Plane, from : Airport, to : airport),

PRECOND: At(p, from) (from to)

EFFECT: At(p, from) At(p, to) ).

Page 10: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

RoteiroRoteiro

Introdução Problemas de Planejamento Linguagens de Representação de Planejamento

STRIPS ADL

Algoritmos de PlanejamentoAlgoritmos de Planejamento Planejamento com Busca no Espaço de EstadoPlanejamento com Busca no Espaço de Estado

Busca Para FrenteBusca Para Frente Busca Para TrásBusca Para Trás

Planejamento com Busca no Estado de Planos Planejamento de Ordem Parcial (POP)

Planejamento Dirigido por Grafo Planejamento no Mundo Real

Tempo, Escalonamento e Recursos

Page 11: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Comparação das Abordagens de Comparação das Abordagens de Resolução de ProblemasResolução de Problemas

ProblemaResoluçãode Problemapor Meio de

Busca

Espaço de Estados: Representação emExtensão funcional

Busca

ProblemaPlanejamento

no Espaçode Estado

Espaço de Estados: Representação em

Intenção da 1a ordemBusca

Page 12: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Planejamento com Busca no Espaço Planejamento com Busca no Espaço de Estadosde Estados

Abordagem mais simples para resolução de problemas de planejamento

Ações em um problema de planejamento especificam tanto os seus efeitos quanto suas pré-condições Permite realizar busca para frente e para trás:

Algoritmos não muito eficientes !

Page 13: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Busca Para Frente no Espaço de EstadosBusca Para Frente no Espaço de Estados

Também chamado de Planejamento Progressivo

Estado Inicial: estado inicial do problema de planejamento

Ações Aplicáveis a um estado são aquelas cujas pré-condições são satisfeitas

Algoritmos bastante ineficiente Leva em consideração ações irrelevantes

Todas as ações aplicáveis a um estado são consideradas Ex.: ir para igreja para comprar livro

Necessita de uma heurística muito boa

Page 14: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Busca Para Trás no Espaço de EstadosBusca Para Trás no Espaço de Estados

Também chamado de Planejamento Regressivo

Estado Inicial: objetivo do problema de planejamento

Leva em consideração apenas ações relevantes: Ações que geram pelo menos um dos literais do objetivo

Ações devem ser consistentes: Não “desfazem” nenhum literal desejado !

Page 15: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Busca Para Trás no Espaço de EstadosBusca Para Trás no Espaço de Estados

Algoritmo: Seja O a descrição do objetivo e A uma ação relevante e consistente, o

estado predecessor é gerado da seguinte maneira: Qualquer efeito positivo de A que apareça em O é apagado Cada literal da pré-condição de A é adicionado (caso não exista)

Exemplo:O: At(C1, B) At(C2, B)

A: Unload(C1, p, B)

Predecessor: In(C1, p) At(p, B) At(C2, B) Cargo(C1) Plane(p) Airport(B)

Page 16: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Busca no Espaço de Exemplo: Busca no Espaço de EstadosEstados

At(P1, A)At(P2, A)

At(P1, A)At(P2, B)

Fly(P2, A, B)

Fly(P1, A, B)At(P1, B)At(P2, A)

At(P1, B)At(P2, B)

At(P1, B)At(P2, A)

Fly(P2, A, B)

Fly(P1, A, B)At(P1, A)At(P2, B)

Page 17: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Heurística para Planejamento com Heurística para Planejamento com Busca no Espaço de EstadosBusca no Espaço de Estados

Distância para o objetivo é igual ao número de ações Custo da ação em STRIPS é tipicamente 1 Encontrar número exato é NP-Hard, mas é possível encontrar boas

aproximações

Heurística “Lista Negativa Vazia” (empty-delete-list) Relaxamento do problema original através da remoção de efeitos

negativos EX.: A B => A

Usar independência de sub-objetivos Elimina preocupação com interações negativas em sub-planos Necessário executar um algoritmos de planejamento

Na prática, a busca no problema relaxado é rápida o suficiente para justificar sua execução

Page 18: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

RoteiroRoteiro

Introdução Problemas de Planejamento Linguagens de Representação de Planejamento

STRIPS ADL

Algoritmos de PlanejamentoAlgoritmos de Planejamento Planejamento com Busca no Espaço de Estado

Busca Para Frente Busca Para Trás

Planejamento com Busca no Estado de PlanosPlanejamento com Busca no Estado de Planos Planejamento de Ordem Parcial (POP)Planejamento de Ordem Parcial (POP)

Planejamento Dirigido por Grafo Planejamento no Mundo Real

Tempo, Escalonamento e Recursos

Page 19: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Comparação das Abordagens de Comparação das Abordagens de Resolução de ProblemasResolução de Problemas

ProblemaResoluçãode Problemapor Meio de

Busca

Espaço de Estados: Representação emExtensão funcional

Busca

ProblemaPlanejamento

no Espaçode Estado

Espaço de Estados: Representação em

Intenção da 1a ordemBusca

Problema

POPEspaço de Planos: Representação em

Intenção da 1a ordem

Busca

Page 20: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Planejamento de Ordem ParcialPlanejamento de Ordem Parcial

Busca para frente e para trás são casos particulares de Busca Totalmente Ordenada Ações explorados de maneira estritamente seqüencial Ações críticas para o sucesso ou falha de um plano não são

necessariamente as primeiras a serem executadas Não tiram vantagem da decomposição de problemas

Ideal: construir plano independentemente da ordem da sua execução permite Trabalhar decisões “óbvias” ou cruciais antes

É um exemplo da heurística geral de raciocínio com comprometimento mínimo comprometimento mínimo Prorrogar uma escolha

Page 21: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Calçar SapatosExemplo: Calçar Sapatos

Goal(RightShoeOn LeftShoeOn)Init ( )

Action (RightShoe, PRECOND: RighSockOn, EFFECT: RightShoeOn)

Action (RightSock, EFFECT: RightSockOn )

Action (LeftShoe, PRECOND: LeftSockOn, EFFECT: LeftShoeOn )

Action (LeftSock, EFFECT: LeftSockOn )

Page 22: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Planejador de Ordem ParcialPlanejador de Ordem Parcial

Algoritmo de planejamento capaz de colocar duas ações em um plano sem especificar qual ocorre primeiro

Solução representada como um grafo de ações (não uma seqüência!)

As ações Start e Finish marcam o início e o fim do plano

Planejamento de ordem parcial pode ser implementado como uma busca no espaço de planos parciaisno espaço de planos parciais

Page 23: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Planos de Ordem ParcialExemplo: Planos de Ordem Parcial

Finish

Start

LeftSockOn RightSockOn

LeftShoeOn RightShoeOn

Right Sock

Left Sock

Right Shoe

Left Shoe

Page 24: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Planos de Ordem TotalExemplo: Planos de Ordem Total

Linearização: Representação da solução em ordem total

Start

RightSock

LeftSock

RightShoe

Finish

LeftShoe

Start

RightSock

LeftSock

LeftShoe

Finish

RightShoe

Start

LeftSock

RightSock

RightShoe

Finish

LeftShoe

Start

LeftSock

RightSock

LeftShoe

Finish

RightShoe

Start

RightSock

RightShoe

LeftSock

Finish

LeftShoe

Start

LeftSock

LeftShoe

RightSock

Finish

RightShoe

Page 25: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Algoritmo POPAlgoritmo POP

Estados do problema de busca são planos

Planos compostos por 4 componentes: Conjunto de Ações Restrições de Ordem Links Causais Conjunto de Pré-Condições em Aberto

Page 26: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Conjunto de AçõesConjunto de Ações

Ações que compõe os passos do plano

Plano vazio consiste apenas das ações Start e Finish

Start: Nenhuma pré-condição Efeito em todos os literais no estado inicial do problema

Finish: Nenhum efeito Pré-condições são os literais que formam objetivo do problema

Page 27: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Restrições de OrdemRestrições de Ordem

Indica ordem entre as ações: A < B Ação A precisa ser executada algum momento antes da ação B

Descrevem uma ordem parcial adequada

Ciclos representam contradições e não podem ser adicionados: Ex.: A < B e B < A (proibido!)

Page 28: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Links CausaisLinks Causais

A B Efeito da Ação A é tornar verdadeira a pré-condição p da ação B Não deve ser cancelado por efeitos de outras ações executadas entre a

execução de A e B no POT gerado a partir do POP

Ex.: RightSock RightShoe

Ação C é conflitante com link causal p se: C tem efeito p C pode acontecer entre A e B de acordo com as restrições de ordem

p

RightSockOn

Page 29: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Conjunto de Pré-Condições em AbertoConjunto de Pré-Condições em Aberto

Pré-condições não satisfeitas por nenhuma ação do plano

Planejadores devem reduzir o conjunto a vazio (sem introduzir contradições!!!)

Plano consistente: sem ciclos nas restrições de ordem, nem conflitos nos links causais

Solução: plano consistente sem nenhum pré-condição em aberto

Page 30: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

POP x POTPOP x POT

Toda linearização de uma solução de ordem parcial corresponde a uma solução de ordem total

Noção de executar um plano é estendida em POP: POP é executado escolhendo-se quaisquer uma das possíveis

próximas ações

Flexibilidade torna mais fácil combinar subplanos em planos maiores: Cada subplano pode reordenar suas ações para evitar conflitos com

outros planos

Page 31: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Formulação de ProblemasFormulação de Problemas

Plano inicial: Ações {Start, Finish} Ordenamento {Start < Finish} Links { } Pré-Condições em aberto {todas de Finish}

Função sucessora: Arbitrariamente escolhe uma pré-condição em aberto p e gera planos

sucessores consistentes

Teste de meta: Testa se um plano é uma solução (não há nenhuma pré-condição em

aberto)

Page 32: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Troca de PneuExemplo: Troca de Pneu

Init(At(Flat, Axle) At(Spare, Trunk))Goal(At(Spare, Axle))

Action(Remove(Spare, Trunk),PRECOND: At(Spare, Trunk)EFFECT: At(Spare, Trunk) At (Spare, Ground) )

Action(Remove(Flat, Axle),PRECOND: At(Flat, Axle)EFFECT: At(Flate, Axle) At (Flat, Ground) )

Action(PutOn(Spare, Axle),PRECOND: At(Spare, Ground) At(Flat, Axle)EFFECT: At(Spare, Ground) At (Spare, Axle) )

Action(LeaveOvernight,PRECOND: EFFECT: At(Spare, Ground) At(Spare, Axle) At(Spare, Trunk)

At(Flat, Ground) At(Flat, Axle) )

Page 33: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Page 34: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

Page 35: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

LeaveOvernight

At(Flat, Axle) At(Flat, Ground) At(Spare, Axle) At(Spare, Ground) At(Spare, Trunk)

Page 36: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

LeaveOvernight

At(Flat, Axle) At(Flat, Ground) At(Spare, Axle) At(Spare, Ground) At(Spare, Trunk)

Conflito com Link Causal:

Remove(Spare,Trunk) At(Spare,Ground) PutOn(Spare,Axle)

Page 37: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

LeaveOvernight

At(Flat, Axle) At(Flat, Ground) At(Spare, Axle) At(Spare, Ground) At(Spare, Trunk)

LeaveOvernight < Remove(Spare, Trunk)

Page 38: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

LeaveOvernight

At(Flat, Axle) At(Flat, Ground) At(Spare, Axle) At(Spare, Ground) At(Spare, Trunk)

Page 39: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

LeaveOvernight

At(Flat, Axle) At(Flat, Ground) At(Spare, Axle) At(Spare, Ground) At(Spare, Trunk)

Conflito com Link Causal:

Start At(Spare,Trunk) Remove(Spare,Trunk)

Page 40: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

Remove(Flat, Axle)

At(Flat, Axle)

Page 41: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

ContinuaçãoContinuação

Start

At(Spare, Trunk)

At(Flat, Axle)

Finish

At(Spare, Axle)

PutOn(Spare, Axle)

At(Spare, Ground)

At(Flat, Axle)

Remove(Spare,Trunk)

At(Spare, Trunk)

Remove(Flat, Axle)

At(Flat, Axle)

Page 42: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Planejamento de Ordem Parcial com Planejamento de Ordem Parcial com Variáveis LivresVariáveis Livres

Exemplo:Action(Move(b,x,y),

PRECOND: On(b,x) Clear(b) Clear(y),EFFECT: On(b,y) Clear(x)

On(b,x) Clear(y) )

Pré-condição em aberto: On(A,B) Clear(B) Clear(A)

Ação satisfaz pré-condição: Substituição {b/A, y/B}

Page 43: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Planejamento de Ordem Parcial com Planejamento de Ordem Parcial com Variáveis LivresVariáveis Livres

Exemplo:Action(Move(A,x,B),

PRECOND: On(A,x) Clear(A) Clear(B),EFFECT: On(A,B) Clear(x)

On(A,x) Clear(B) )

Variável x livre Outro exemplo de comprometimento mínimo ! Supondo On(A,D) no estado inicial, temos que {x/D}

São necessárias restrições de diferença: Move(A,x,B) Finish Ação M com efeito On(A,z) só gerará conflito se z = B Então adiciona-se restrição do tipo z B

Page 44: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Heurística Para Planejamento de Heurística Para Planejamento de Ordem ParcialOrdem Parcial

Função de heurística usada para escolher qual plano deve ser refinado

Heurística da Variável Mais Restrita pode ser adaptada para POP: Selecionar pré-condição em aberto que pode ser alcançada pelo menor

número de caminhos Função escolhe primeiro:

Pré-condição em aberto que não pode ser alcançada por nenhuma ação Pré-condição em aberto que só pode ser alcançada por um único caminho

Page 45: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

RoteiroRoteiro

Introdução Problemas de Planejamento Linguagens de Representação de Planejamento

STRIPS ADL

Algoritmos de PlanejamentoAlgoritmos de Planejamento Planejamento com Busca no Espaço de Estado

Busca Para Frente Busca Para Trás

Planejamento com Busca no Estado de Planos Planejamento de Ordem Parcial (POP)

Planejamento Dirigido por GrafoPlanejamento Dirigido por Grafo Planejamento no Mundo Real

Tempo, Escalonamento e Recursos

Page 46: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Comparação das Abordagens de Comparação das Abordagens de Resolução de ProblemasResolução de Problemas

ProblemaResoluçãode Problemapor Meio de

Busca

Espaço de Estados: Representação emExtensão funcional

Busca

ProblemaPlanejamento

no Espaçode Estado

Espaço de Estados: Representação em

Intenção da 1a ordemBusca

Page 47: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Comparação das Abordagens de Comparação das Abordagens de Resolução de ProblemasResolução de Problemas

Problema

GraphPlan

Espaço de Gráfico de Dependência:

Representação emIntenção proposicional

Busca

Problema

POPEspaço de Planos: Representação em

Intenção da 1a ordem

Busca

Page 48: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Planejamento Dirigido por GrafoPlanejamento Dirigido por Grafo

Todas heurísticas sugeridas anteriormente podem não ser muito precisas

Grafo de dependências entre ações e estados é construído para estimar heurísticas melhores

Plano pode ser derivado a partir do grafo

Funcionam apenas para problemas na forma proposicionalna forma proposicional

Consiste em uma seqüência de níveis correspondendo aos passos do plano em ordem progressivaprogressiva

Novos níveis são gerados até que seja alcançado um nível onde dois níveis consecutivos sejam idênticos (nivelamento)

Page 49: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Elementos do Gráfico de PlanejamentoElementos do Gráfico de Planejamento

Cada nível é composto por um conjunto de literais e um conjunto de ações

Conjunto de Estados: Valores verdade para todos os literais do estado inicial ou efeitos de

ações previamente introduzidas

Conjunto de Ações: Ações cujas precondições são satisfeitas em um dado estado St

Page 50: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Elementos do Gráfico de PlanejamentoElementos do Gráfico de Planejamento

Ações Persistentes: Verdade de um literal permanece inalterado entre estados

Links de Exclusão Mútua (Mutex) entre ações: Indicam conflitos entre ações de um mesmo nível Ocorrem quando existe:

Efeitos inconsistentes ou Interferência ou Competição por recursos

Links de Exclusão Mútua (Mutex) entre literais: Um literal é a negação do outro Cada possível par de ações que geram os dois literais são mutuamente

exclusivas (Suporte Inconsistente)

Page 51: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Planejamento Dirigido por Exemplo: Planejamento Dirigido por GrafoGrafo

Init (Have(Cake))

Goal (Have(Cake) Eaten(Cake))

Action (Eat(Cake)

PRECOND: Have(Cake)

EFFECT: Have(Cake) Eaten(Cake) )

Action (Bake(Cake)

PRECOND: Have(Cake)

EFFECT: Have(Cake) )

Page 52: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Planejamento Dirigido por Exemplo: Planejamento Dirigido por GrafoGrafo

Eaten(Cake)

Have(Cake)

Eaten(Cake)

Eaten(Cake)

Have(Cake)

Eat(Cake)

A0 S1

Have(Cake)

S0

Eaten(Cake)

Have(Cake)

Eaten(Cake)

Have(Cake)

Bake(Cake)

Eat(Cake)

A1 S2

Page 53: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Heurísticas Através do Gráfico de Heurísticas Através do Gráfico de PlanejamentoPlanejamento

Gráfico de planejamento é um rica fonte de informação sobre o problema Literal que não aparece no último nível não pode ser alcançado por

nenhum plano !!!

Custo de Nível: custo para atingir um literal Estimado como o número do nível onde aparece pela primeira vez Ex.: Have(Cake) – custo 0; Eaten(Cake) – custo 1

Para objetivo formado por conjunções temos três abordagens: Nível máximo Soma dos níveis Nível do conjunto

Page 54: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Algoritmo GraphPlanAlgoritmo GraphPlan Usado para extrair uma solução do gráfico de planejamento e não apenas

uma heurística

Alterna entre dois passos: Extração da solução Expansão do gráfico

repita

se todos literais do obj. não mutex no último nível do gráfico então

solução = ExtrairSolução(graph, goals)

se solução <> falha então retorne solução

senão se NenhumaSoluçãoPossivel(graph) entao retorne falha

graph = ExpandirGrafico(graph, problem)

Page 55: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Gráfico de PlanejamentoExemplo: Gráfico de Planejamento

At(Spare,Trunk)

S0

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Trunk)

At(Flat,Axle)

LeaveOvernight

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Axle)

Remove(Flat,Axle)

At(Flat,Ground)

At(Flat,Axle)

A0

Remove(Spare,Trunk) At(Spare,Trunk)

At(Spare,Ground)

S1

Remove(Flat,Axle)

LeaveOvernight

PutOn(Spare,Axle)

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Axle)

Remove(Spare,Trunk)

A1 S2

Page 56: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Gráfico de PlanejamentoExemplo: Gráfico de Planejamento

At(Spare,Trunk)

S0 A0

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Spare,Ground)

LeaveOvernight

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Ground)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Spare,Ground)

Remove(Flat,Axle)

LeaveOvernight

PutOn(Spare,Axle)

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

Remove(Flat,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Axle)

Remove(Spare,Trunk)

S1 A1 S2

Remove(Spare,Trunk)

Page 57: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Gráfico de PlanejamentoExemplo: Gráfico de Planejamento

At(Spare,Trunk)

S0 A0

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Spare,Ground)

LeaveOvernight

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Ground)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Spare,Ground)

Remove(Flat,Axle)

LeaveOvernight

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

Remove(Spare,Trunk)

Remove(Flat,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Axle)

Remove(Spare,Trunk)

S1 A1 S2

PutOn(Spare,Axle)

Page 58: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Gráfico de PlanejamentoExemplo: Gráfico de Planejamento

At(Spare,Trunk)

S0 A0

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Spare,Ground)

LeaveOvernight

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Ground)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Spare,Ground)

Remove(Flat,Axle)

LeaveOvernight

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

Remove(Flat,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Axle)

Remove(Spare,Trunk)

S1 A1 S2

PutOn(Spare,Axle)

Remove(Spare,Trunk)

Page 59: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Gráfico de PlanejamentoExemplo: Gráfico de Planejamento

At(Spare,Trunk)

S0 A0

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Ground)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Spare,Ground)

Remove(Flat,Axle)

LeaveOvernight

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Axle)

Remove(Spare,Trunk)

S1 A1 S2

PutOn(Spare,Axle)

Remove(Spare,Trunk)

LeaveOvernight

Remove(Flat,Axle)

Page 60: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Gráfico de PlanejamentoExemplo: Gráfico de Planejamento

At(Spare,Trunk)

S0 A0

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Spare,Ground)

LeaveOvernight

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Trunk)

At(Flat,Ground)

At(Spare,Ground)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Spare,Ground)

Remove(Flat,Axle)

LeaveOvernight

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Axle)

Remove(Spare,Trunk)

S1 A1 S2

Remove(Spare,Trunk)

Remove(Flat,Axle)

PutOn(Spare,Axle)

Page 61: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

RoteiroRoteiro

Introdução Problemas de Planejamento Linguagens de Representação de Planejamento

STRIPS ADL

Algoritmos de Planejamento Planejamento com Busca no Espaço de Estado

Busca Para Frente Busca Para Trás

Planejamento com Busca no Estado de Planos Planejamento de Ordem Parcial (POP)

Planejamento Dirigido por Grafo Planejamento no Mundo RealPlanejamento no Mundo Real

Tempo, Escalonamento e RecursosTempo, Escalonamento e Recursos

Page 62: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Tempo, Escalonamentoe RecursosTempo, Escalonamentoe Recursos

Planejadores usados no mundo real são muito mais complexos do que os vistos até agora

Estendem os conceitos básicos tanto no que diz respeito a linguagem de representação quanto na maneira com que interagem com o ambiente

Representação STRIPS diz apenas “como fazer” e não: Quanto tempo uma ação leva Quando uma ação ocorre

Aplicações de Job Shop Scheduling: Completar conjunto de tarefas (seqüência de ações) Cada ação tem uma duração e pode precisar de recursos Encontrar o escalonamento mais rápido para a execução das tarefa, respeitando

restrições de recursos

Page 63: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Montagem de Dois CarrosExemplo: Montagem de Dois Carros

Init (Chassis(C1) Chassis(C2) Engine(E1, C1, 30) Engine(E2, C2, 60) Wheels(W1, C1, 30) Wheels(W2, C2, 15)Goal (Done(C1) Done(C2)

Action (AddEngine(e, c, m),PRECOND: Engine(e, c, d) Chassis(c) EngineIn(c)EFFECT: EngineIn(c) Duration(d) )

Action (AddWheels(w, c),PRECOND: Wheels(w, c, d) Chassis(c)EFFECT: WheelsOn(c) Duration(d) )

Action (Inspect(c),PRECOND: EngineIn(c) WheelsOn(c) Chassis(c)EFFECT: Done(c) Duration(10) )

Page 64: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Solução Encontrada Pelo POPSolução Encontrada Pelo POP

AddEngine 1

30

AddEngine 2

60

AddWheels 2

15

AddWheels 1

30

Inspect 1

10

Inspect 2

10

FinishStart

Page 65: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Problemas de Problemas de EscalonamentoEscalonamento

Tipo de problema de planejamento que especifica quando uma ação deve começar e terminar

Deve-se tentar encontrar o Escalonamento mais rápido

Método do Caminho Crítico (CPM) determina os possíveis tempos de início e fim das ações Caminho Crítico: caminho cujo tempo total é maior Ações no caminho crítico não podem sofrer nenhum atraso

Ações fora desse caminho podem sofrer atrasos: Atraso especificado pelo Tempo Mais Cedo de Início (ES) e pelo Tempo Mais

Tarde de Início (LS) Tolerância Para Início de uma Ação: LS - ES

Page 66: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Caminho CríticoExemplo: Caminho Crítico

[0, 15]

AddEngine 1

30

[0, 0]

AddEngine 2

60

[60, 60]

AddWheels 2

15

[30, 45]

AddWheels 1

30

[60, 75]

Inspect 1

10

[75, 75]

Inspect 2

10

[85, 85]

Finish

[0, 0]

Start

Ações no caminho crítico possuem tolerância igual a zero !

Page 67: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Escalonamento com Restrição de Escalonamento com Restrição de RecursosRecursos

Problemas reais de escalonamento são ainda mais complexos devido a presença de restrições sobre recursos Ex.: é necessário um guindaste para adicionar um motor

Representação do problema deve ser incrementada: Resource: R(k) Funciona como uma pré-condição e um efeito temporário

Recurso re-usável:recurso usado por uma ação mas que se torna disponível após seu término

Page 68: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Montagem de Dois CarrosExemplo: Montagem de Dois Carros

Init (Chassis(C1) Chassis(C2) Engine(E1, C1, 30) Engine(E2, C2, 60) Wheels(W1, C1, 30) Wheels(W2, C2, 15) EngineHoists(1)

WheelStations(1) Inspectors(2) )Goal (Done(C1) Done(C2)

Action (AddEngine(e, c, m),PRECOND: Engine(e, c, d) Chassis(c) EngineIn(c)EFFECT: EngineIn(c) Duration(d) RESOURCE: EngineHoist(1) )

Action (AddWheels(w, c),PRECOND: Wheels(w, c, d) Chassis(c)EFFECT: WheelsOn(c) Duration(d) RESOURCE: WheelStations(1) )

Action (Inspect(c),PRECOND: EngineIn(c) WheelsOn(c) Chassis(c)EFFECT: Done(c) Duration(10) RESOURCE: Inspectors(1) )

Page 69: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Exemplo: Restrições de RecursosExemplo: Restrições de Recursos

EngineHoist(1)

WheelStations(1)

Inspectors(2)

30 60 105 1150

AddEngine 1 AddEngine 2

AddWheels 1 AddWheels 2

Inspect 2

Inspect 1

9070

Page 70: Planejamento Rodrigo Barros de Vasconcelos Lima Tópicos Avançados em Inteligência Artificial Simbólica CIn - UFPE.

Referência BibliográficaReferência Bibliográfica

Artificial Intelligence a Modern Approach

Stuart Russel – Peter Norving

Second Edition

Seções 11.1, 11.2, 11.3, 11.4 e 12.1