planejamento automático

29
Planejamento Autom´ atico Jhonatan Alves [email protected] 15 de outubro de 2012 Jhonatan Alves[email protected] Planejamento Autom´ atico 15 de outubro de 2012 1 / 29

Upload: pet-computacao

Post on 24-May-2015

235 views

Category:

Documents


2 download

DESCRIPTION

O desenvolvimento de soluções para problemas não-triviais exige, primeiramente, o estudo minucioso das características intrínsecas destes problemas e determinar o conjunto de ações que quando executadas em uma sequência lógica alcançam tais soluções.Planejamento Automático é uma área da Inteligência Artificial que estuda as formas adequadas de representação do conhecimento e mecanismos eficientes que permitem a agentes inteligentes raciocinar automaticamente as soluções de problemas complexos.Técnicas de Planejamento Automático são utilizadas em diversas áreas principalmente as ligadas às Engenharias, tratando problemas que envolvem alto custo, alto risco e sujeitos a restrições.Especificamente em robótica, o Planejamento Automático é aplicado tanto na construção de planos que regem a movimentação do robô quanto em nível cognitivo, onde constitui-se no processo de raciocínio deliberativo, que promove autonomia ao agente robótico. Esta palestra tem por objetivo apresentar uma visão geral da área de Planejamento Automático, abordando as suas principais técnicas, em especial a técnica que trata problemas de planejamento como um problema de satisfazibilidade em uma fórmula em lógica proposicional.

TRANSCRIPT

Page 1: Planejamento automático

Planejamento Automatico

Jhonatan [email protected]

15 de outubro de 2012

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 1 / 29

Page 2: Planejamento automático

Sequencia

O problema do planejamento automatico

Busca no espaco de estados

STRIPS

Tecnicas de planejamento automatico

Aplicacoes praticas

Conclusoes

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 2 / 29

Page 3: Planejamento automático

O problema do planejamento

Planejamento e o processo de escolher um conjunto de acoes edeterminar uma sequencia em que elas devem ocorrer de tal modoque um objetivo seja satisfeito.

A sequencia em que as acoes devem ocorrer e chamada de plano.

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 3 / 29

Page 4: Planejamento automático

O problema do planejamento

Existem varios tipos de planejamento, onde cada tipo se aplica a umdomınio especıfico de problemas. Podemos citar, por exemplo:

Planejamento Estrategico

Planejamento Tatico

Planejamento Operacional

Planejamento Urbano

Planejamento Familiar

Planejamento Automatico

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 4 / 29

Page 5: Planejamento automático

O problema do planejamento

Planejameno automatico e a area da IA responsavelpor estudar o processo de planejamento atraves do uso do computador.

E atribuıdo a um agente, tambem chamado de agente planejador, aresponsabilidade de:

Encontrar um plano para um problemaExecutar o plano

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 5 / 29

Page 6: Planejamento automático

O problema do planejamento

Formalmente, um problema de planejamento e defenido como:

< s0,G ,T >

Onde:

s0 e estado inicialG e o objetivoT e sistema de transicao de estados

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 6 / 29

Page 7: Planejamento automático

O problema do planejamento

O sistema de transicao de estados e definido como:

T =< S ,A, γ >

Onde:

S = {s0, s1, ..., sn} e o conjunto de estadosA = {a0, a1, ..., am} e o conjunto de acoesγ = S x A ⇒ S e a funcao de transicao de estados

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 7 / 29

Page 8: Planejamento automático

O problema do planejamento

A busca por plano inicia-se aplicando um conjunto de acoes a partirdo estado inicial ate que ocorra uma transicao para um estadosn ≡ G , como segue:

s1 = γ(s0, a0), s2 = γ(s1, a1), ..., sn = γ(sn−1, am)plano = {a0, a1, a2, ..., am}

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 8 / 29

Page 9: Planejamento automático

Busca no Espaco de Estados

Busca para frente inicia-se pelo estado inicial do problema e tracapor uma sequencia de acoes que alcance o objetivo do problema

Figura : Busca para frente

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 9 / 29

Page 10: Planejamento automático

Busca no Espaco de Estados

Busca para tras inicia-se pelo estado que representa o objetivo e tracauma sequencia de acoes que alcance o estado inicial do problema.

Figura : Busca para tras

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 10 / 29

Page 11: Planejamento automático

Busca no Espaco de Estados

Para que um problema seja resolvido de modo automatico e necessariorepresenta-lo em alguma linguagem de modelagem de problemas:

Calculo SituacionalSTRIPSADLPDDL

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 11 / 29

Page 12: Planejamento automático

STRIPS

STRIPS e uma linguagem formal derivada da logica de primeiraordem usada para decompor problemas de planejamento automaticoem condicoes logicas.

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 12 / 29

Page 13: Planejamento automático

STRIPS

Em STRIPS um problema e definido como:

< s0, L,A,G >Onde:

s0 e o estado inicialL e o conjunto de literaisA e o conjunto de acoesG e o objetivo

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 13 / 29

Page 14: Planejamento automático

STRIPS

Uma acao ai possui a seguinte estrutura:

ai : nome((a0, a1, ...an), PRE, ADD, DEL)

Um estado si e representado por uma conjuncao dos literaisverdadeiros:

si : l1 ∧, l2 ∧, . . . ,∧ln

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 14 / 29

Page 15: Planejamento automático

STRIPS

Exemplo: Um robo precisa mover um conjunto de blocos empilhadossobre um superfıcie.

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 15 / 29

Page 16: Planejamento automático

STRIPS

Modelando o problema:

Literais:Sobre(x,y): O bloco x esta sobre o bloco yLivre(x): Nao ha outro bloco sobre x

Acoes:Mover((x,y,z),PRE: Sobre(x,y) ∧ Livre(x) ∧ Livre(z),ADD: Sobre(x,z)DELL: ¬Sobre(x,y) ∧ ¬Livre(z))

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 16 / 29

Page 17: Planejamento automático

STRIPS

Estado inicial:s0 :Sobre(A,B)∧Sobre(B,C )∧Sobre(C ,Mesa)∧Livre(A)∧Livre(Mesa)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 17 / 29

Page 18: Planejamento automático

STRIPS

Objetivo:G : Sobre(C ,B) ∧ Sobre(B,A) ∧ Sobre(A,Mesa)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 18 / 29

Page 19: Planejamento automático

STRIPS

O robo escolhera a acao que tem suas precondicoes satisfeitas noestado corrente:

s0: Sobre(A,B) ∧ Sobre(B,C) ∧ Sobre(C,Mesa) ∧ Livre(A) ∧Livre(Mesa)

Mover((A,B,Mesa),PRE: Sobre(A,B) ∧ Livre(A) ∧Livre(Mesa),. . .)

Mover((B,C,Mesa),PRE: Sobre(B,C) ∧ Livre(B) ∧Livre(Mesa),. . .)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 19 / 29

Page 20: Planejamento automático

STRIPS

Aplicando a acao MOVER(A,B,Mesa) obtem-se um novo estado:

s1: Sobre(B,C) ∧ Sobre(A,Mesa) ∧ Sobre(C,Mesa) ∧ Livre(A) ∧Livre(B)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 20 / 29

Page 21: Planejamento automático

STRIPS

Aplicando a acao MOVER(B,C,A) obtem-se um o estado:

s2: Sobre(B,A) ∧ Sobre(A,Mesa) ∧ Sobre(C,Mesa) ∧ Livre(B) ∧Livre(C) ∧ Livre(Mesa)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 21 / 29

Page 22: Planejamento automático

STRIPS

Aplicando a acao MOVER(C,Mesa,B) obtem-se o estado:

s3: Sobre(C,B) ∧ Sobre(B,A) ∧ Sobre(A,Mesa) ∧ Livre(C)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 22 / 29

Page 23: Planejamento automático

STRIPS

A Solucao e a seguinte sequencia de acoes:Mover(A,B,Mesa) ⇒ Mover(B,C,A) ⇒ Mover(C,Mesa,B)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 23 / 29

Page 24: Planejamento automático

Tecnicas de planejamento automatico

Existem varias tecnicas para o problema do planejamento automatico:

GRAPHPLANSATPLAN

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 24 / 29

Page 25: Planejamento automático

Aplicacoes praticas

Uma das principais areas de aplicacao do planejamento automatico ea robotica:

Arquitetura NHC (Nested Hierarchical Controller): robo coletainformacoes obtidas por seus sensores e gera uma estrutura de dadosque representa o domınio do problema. A partir do modelo o robodetermina as acoes a serem executadas.

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 25 / 29

Page 26: Planejamento automático

Aplicacoes praticas

NASA: desenvolveu um ambiente de planejamento automaticovoltado para missoes espaciais - ASPEN.

UFC: Planejamento automatico voltada a administracao de recursoshıdricos no Estado do Ceara

Petrobras: em parceria com a USP esta estudando como usarplanejamento automatico para otimizar problemas que exijam tempoe recursos.

INPE: junto com institutos europeus vem estudando planejamentoautomatico para testes espaciais - SPAAS

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 26 / 29

Page 27: Planejamento automático

Conclusoes

Problemas de planejamento sao complexos.

E muito importante modelar bem o problema.

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 27 / 29

Page 28: Planejamento automático

Conclusoes

Planejamento automatico e uma area de grande importancia dentroda IA.

Existem varias competicoes internacionais:

Competicao Internacional de Planejamento (IPC)Conferencia Europeia de Planejamento (ECP)Conferencia Internacional de Planejamento e Escalonamento (ICAPS)

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 28 / 29

Page 29: Planejamento automático

Fim

Obrigado! Perguntas?

Jhonatan [email protected] Planejamento Automatico 15 de outubro de 2012 29 / 29