inteligência artificial - universidade da...

35
Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Inteligência Artificial Planeamento Planeamento Agenda Agenda Parte 1 Parte 1 Introdu Introduç ão ão Resolu Resolução de Problemas ão de Problemas versus versus Planeamento Planeamento Planeamento com C Planeamento com Cá lculo Situacional lculo Situacional Linguagem STRIPS Linguagem STRIPS Parte 2 Parte 2 Mundo de Blocos Mundo de Blocos Anomalia de Anomalia de Sussman Sussman Algoritmos de Planeamento Algoritmos de Planeamento

Upload: lyque

Post on 15-Dec-2018

269 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

1

Inteligência ArtificialInteligência Artificial

PlaneamentoPlaneamento

AgendaAgenda

Parte 1Parte 1IntroduIntroduççãoão

ResoluResoluçção de Problemas ão de Problemas versusversus PlaneamentoPlaneamentoPlaneamento com CPlaneamento com Cáálculo Situacionallculo SituacionalLinguagem STRIPSLinguagem STRIPS

Parte 2Parte 2Mundo de BlocosMundo de BlocosAnomalia de Anomalia de SussmanSussmanAlgoritmos de PlaneamentoAlgoritmos de Planeamento

Page 2: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

2

O que O que éé um plano?um plano?

1.1. Um esquema, programa ou mUm esquema, programa ou méétodo preparado todo preparado para atingir um objectivo.para atingir um objectivo.

2.2. Uma proposta ou tentativa de um curso de Uma proposta ou tentativa de um curso de acacçção.ão.

3.3. ““[Representa[Representaçção] de um comportamento futuro ão] de um comportamento futuro …… geralmente um conjunto de acgeralmente um conjunto de acçções, com ões, com restrirestriçções no tempo, para ser executado por ões no tempo, para ser executado por um ou mais agentes.um ou mais agentes.””

Austin Tate Austin Tate –– MIT Encyclopaedia of the Cognitive MIT Encyclopaedia of the Cognitive Sciences, 1999Sciences, 1999

O que O que éé um plano?um plano?

Um plano pode ser definido como uma Um plano pode ser definido como uma sequência de acsequência de acçções para transformar um dado ões para transformar um dado estado num estado final que cumpre um estado num estado final que cumpre um conjunto predefinido de objectivos inicialmente conjunto predefinido de objectivos inicialmente definidosdefinidos..

ProblemaProblema: obter banana, leite e um berbequim.: obter banana, leite e um berbequim.PlanoPlano: ir ao supermercado, ir : ir ao supermercado, ir àà secsecççãoão de frutas, de frutas, pegar nas bananas, ir pegar nas bananas, ir àà secsecççãoão de leite, pegar numa de leite, pegar numa caixa de leite, ir caixa de leite, ir àà caixa, pagar tudo, ir a uma loja de caixa, pagar tudo, ir a uma loja de ferragens, ..., voltar para casa.ferragens, ..., voltar para casa.

Page 3: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

3

Planeamento Planeamento

O planeamento lida com aspectos de O planeamento lida com aspectos de formalizaformalizaçção, implementaão, implementaçção e avaliaão e avaliaçção ão de algoritmos que permitem construir um de algoritmos que permitem construir um plano.plano.

Porque precisamos de um plano?Porque precisamos de um plano?

JJáá vimos mvimos méétodos de busca (procura) que todos de busca (procura) que parecem funcionar bem, certo?parecem funcionar bem, certo?

Page 4: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

4

ResoluResoluçção de problemas x ão de problemas x planeamentoplaneamento

RepresentaRepresentaçção em RPão em RPAcAcççõesões : programas que geram o estado sucessor.: programas que geram o estado sucessor.EstadosEstados : descri: descriçção completa.ão completa.

ProblemProblemáático em ambientes inacesstico em ambientes inacessííveis.veis.ObjectivosObjectivos: fun: funçção de teste e heurão de teste e heuríística.stica.PlanosPlanos: totalmente ordenados e criados incrementalmente a : totalmente ordenados e criados incrementalmente a partir do estado inicial.partir do estado inicial.

Ex.: PosiEx.: Posiçções das peões das peçças de um jogo.as de um jogo.

Exemplo do supermercado:Exemplo do supermercado:estado inicial:estado inicial: em casa, sem objectos desejadosem casa, sem objectos desejadosestado finalestado final: em casa com objectos desejados: em casa com objectos desejadosoperadoresoperadores: tudo o que o agente pode fazer: tudo o que o agente pode fazerheurheuríísticastica: n: núúmero de objectos ainda não possumero de objectos ainda não possuíídosdos

Exemplo em RPExemplo em RP

comecomeççoo

Ir ao bancoIr ao banco

Ir Ir àà escolaescola

Ir ao supermercadoIr ao supermercado

Ir dormirIr dormir

Ler um livroLer um livro

Sentar na cadeiraSentar na cadeira

Etc...Etc...

Pagar contasPagar contas

Assistir aulaAssistir aula

Pegar dinheiroPegar dinheiro

LevantarLevantar

Ler um livroLer um livro

Comprar queijoComprar queijo

Comprar bananaComprar banana

Comprar atumComprar atum

FimFim......

Page 5: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

5

LimitaLimitaçções da RPões da RP

Factor de ramificaFactor de ramificaçção grande.ão grande.A funA funçção heurão heuríística apenas escolhe o stica apenas escolhe o estado mais prestado mais próóximo do objectivo. Não ximo do objectivo. Não permite descartar acpermite descartar acçções ões àà priori priori ((≈≈ adivinhaadivinhaçção).ão).Não permite abstracNão permite abstracçção dos estados ão dos estados parciais.parciais.Considera acConsidera acçções a partir do estado ões a partir do estado inicial, uma apinicial, uma apóós a outra.s a outra.

Planeamento: 3 ideias principais Planeamento: 3 ideias principais

RepresentaRepresentaçção dos estados, objectivos e acão dos estados, objectivos e acçções ões usando lusando lóógica (descrigica (descriçções parciais dos estados)ões parciais dos estados)

Pode conectar directamente estados (sentenPode conectar directamente estados (sentençças) e acas) e acçções ões (pr(préé condicondiçções + efeitos)ões + efeitos)

Ex.: Estado: Ex.: Estado: HaveHave ((MilkMilk), Ac), Acçção: ão: BuyBuy ((milkmilk) => ) => HaveHave ((MilkMilk))

Liberdade de adicionar acLiberdade de adicionar acçções ao plano quando forem ões ao plano quando forem necessnecessááriasrias

Ordem de planeamento Ordem de planeamento ≠≠ ordem de execuordem de execuççãoão

Primeiro, o que Primeiro, o que éé importante : importante : BuyBuy ((MilkMilk))

Diminui factor de ramificaDiminui factor de ramificaççãoão

Page 6: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

6

Planeamento: 3 ideias principais Planeamento: 3 ideias principais

Aproveitar a independência entre a maioria das partes Aproveitar a independência entre a maioria das partes do mundo (do mundo (subsub--goalinggoaling))

Sub plano Sub plano -- supermercado, sub plano supermercado, sub plano -- loja de ferramentas.loja de ferramentas.

Não funciona para Puzzles!!!Não funciona para Puzzles!!!

CriaCriaçção de Planosão de Planos

A partir de:A partir de:Uma forma de descrever um domUma forma de descrever um domíínionioUm estado inicial do mundoUm estado inicial do mundoUm objectivoUm objectivoUm conjunto de acUm conjunto de acçções possões possííveisveis

Encontrar:Encontrar:Uma sequência de acUma sequência de acçções que permita atingir ões que permita atingir o estado objectivo. o estado objectivo.

Page 7: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

7

AplicaAplicaççõesões

RobRobóóticaticaAgentes AutAgentes AutóónomosnomosMissões EspaciaisMissões EspaciaisAmbientes Simulados Ambientes Simulados (Ex.: Jogos)(Ex.: Jogos)

Gestão de SituaGestão de Situaçções de Criseões de Crise

Porquê que planear Porquê que planear éé difdifíícil?cil?

O prO próóprio problema não estprio problema não estáá bem bem definido.definido.Não existe um acordo na preferência dos Não existe um acordo na preferência dos objectivos a alcanobjectivos a alcanççar.ar.Não se conhecem os resultados de Não se conhecem os resultados de determinadas acdeterminadas acçções.ões.Existem restriExistem restriçções de tempo/recursos.ões de tempo/recursos.Agentes externos podem interferir na Agentes externos podem interferir na determinadeterminaçção da soluão da soluçção.ão.

Page 8: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

8

Como reduzir a incerteza?Como reduzir a incerteza?

Representar explicitamente os estados, Representar explicitamente os estados, objectivos e acobjectivos e acçções.ões.

Permitindo centralizar a acPermitindo centralizar a acçção em determinados ão em determinados objectivos em detrimento de outros e fazer aplicar objectivos em detrimento de outros e fazer aplicar algoritmos especalgoritmos especííficos.ficos.

Decompor os objectivosDecompor os objectivosAplicar a tAplicar a téécnica de cnica de ‘‘dividir para conquistardividir para conquistar’’ na na realizarealizaçção do plano.ão do plano.

O Agente PlaneadorO Agente Planeador

Combina o Combina o agente baseado em agente baseado em conhecimentoconhecimento com o com o agente agente ““solusoluççãoão”” de de problemasproblemas (planear adiante).(planear adiante).

≠≠ representarepresentaçção de estados, objectivos e acão de estados, objectivos e acççõesões≠≠ representarepresentaçção e construão e construçção da soluão da soluççãoão

Os agentes planeadores olham adiante. Os agentes planeadores olham adiante. Os agentes planeadores são diferentes dos agentes Os agentes planeadores são diferentes dos agentes que resolvem problemas.que resolvem problemas.

UtilizaUtilizaçção de representaão de representaçções mais flexões mais flexííveis de estados, veis de estados, acacçções, objectivos, e planos.ões, objectivos, e planos.

Page 9: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

9

O Agente PlaneadorO Agente Planeador

AlgoritmoAlgoritmo1. Gerar um objectivo a atingir2. Construir um plano para atingir o objectivo,

partindo do estado actual3. Executar o plano até este estar terminado4. Começar novamente com um novo

objectivo

Engenharia do conhecimentoEngenharia do conhecimento

Decidir sobre o que falar.Decidir sobre o que falar.Decidir sobre um vocabulDecidir sobre um vocabuláário de condirio de condiçções, ões, operadores e objectos.operadores e objectos.Codificar os operadores para o domCodificar os operadores para o domíínio.nio.Codificar uma descriCodificar uma descriçção da instância do ão da instância do problema.problema.Colocar o problema para o planeador existente Colocar o problema para o planeador existente e obter os planos.e obter os planos.

Page 10: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

10

CCáálculo Situacional (revisão)lculo Situacional (revisão)O mundo consiste numa sequência de situaO mundo consiste numa sequência de situaççõesões

situasituaçção N === ão N === acacçção ão ===> situa===> situaçção N+1ão N+1Predicados que Predicados que mudammudam com o tempo têm um com o tempo têm um argumento de argumento de situasituaççãoão adicionaladicional

Ao invAo invéés de Em s de Em ((AgenteAgente, , locallocal) teremos ) teremos ((EmEm((Agente,[1,1],S0Agente,[1,1],S0) ) ∧∧ EmEm((Agente,[1,2],S1Agente,[1,2],S1))))

Predicados que denotam que não mudam com o tempo Predicados que denotam que não mudam com o tempo Não necessitam de argumentos de situaNão necessitam de argumentos de situaççãoãoEx.: No mundo do Wumpus:Ex.: No mundo do Wumpus:ParedeParede((0,10,1) e ) e ParedeParede((1,01,0))

Para representar as mudanPara representar as mudançças no mundo: funas no mundo: funçção ão ResultadoResultado

Resultado Resultado ((acacçção, situaão, situaçção Não N) = situa) = situaçção N+1ão N+1

Resultado(Avançar,S0) = S1 Resultado(Virar(Direita),S1) = S2Resultado(Avançar,S2) = S3

S0

S1

S2

S3

Page 11: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

11

Axiomas estado Axiomas estado -- sucessorsucessorAs As acacççõesões são descritas pelos seus são descritas pelos seus efeitos.efeitos.

EspecificandoEspecificando--se as propriedades da situase as propriedades da situaçção resultante da ão resultante da realizarealizaçção da acão da acçção.ão.Por meio dos Por meio dos axiomas de efeitoaxiomas de efeito (o que muda) e dos (o que muda) e dos axiomas axiomas framesframes (o que não muda).(o que não muda).

Axioma de efeito + axioma de Axioma de efeito + axioma de framesframes = axioma estado = axioma estado ––sucessor.sucessor.

uma coisa uma coisa éé verdade depoisverdade depois ⇔⇔[[uma acuma acçção acabou de tornão acabou de tornáá--la verdadela verdade∨∨ ela jela jáá era verdade e nenhuma acera verdade e nenhuma acçção a tornou falsa ão a tornou falsa ]]

Ex. Ex. ∀ ∀ a, x, sa, x, s Segurando Segurando ((x, Resultado x, Resultado ((a, sa, s)) )) ⇔⇔[[((a = Pegara = Pegar ∧∧ ((Presente Presente ((x, sx, s) ) ∧∧ PortPortáávelvel ((xx)) )) ∨∨ ((Segurando Segurando ((x, sx, s) ) ∧∧ ((a a ≠≠ SoltarSoltar)])]

Planeando com CPlaneando com Cáálculo de lculo de SituaSituaççõesões

Estado inicial:Estado inicial: sentensentençça la lóógicagicaAtAt ((HomeHome, S0) , S0) ∧∧ ¬¬ Have(MilkHave(Milk , S0) , S0) ∧∧ ¬¬ Have(BananasHave(Bananas , S0) , S0) ∧∧ ¬¬

Have(DrillHave(Drill , S0), S0)Estado Objectivo:Estado Objectivo: pergunta lpergunta lóógica gica (p/ unifica(p/ unificaçção)ão)

At(HomeAt(Home, S) , S) ∧∧ Have(MilkHave(Milk , S) , S) ∧∧ Have(BananasHave(Bananas , S) , S) ∧∧ Have(DrillHave(Drill , S), S)Operadores:Operadores: conjunto de axiomas de estado sucessorconjunto de axiomas de estado sucessor∀∀ a,sa,s Have(MilkHave(Milk, , Result(aResult(a, s)) , s)) ⇔⇔

[(a = [(a = Buy(MilkBuy(Milk) ) ∧∧ At(supermarketAt(supermarket, s), s)∨∨ ((Have(MilkHave(Milk, s) , s) ∧∧ α α ≠≠ Drop(MilkDrop(Milk))]))]

NotaNotaççãoãoResultResult (a, s) (a, s) -- uma acuma acççãoãoResultResult’’(p, s) (p, s) -- sequência de acsequência de acççõesões

Page 12: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

12

Planeando com CPlaneando com Cáálculo de lculo de SituaSituaççõesões

Estado Objectivo:Estado Objectivo: pergunta pergunta llóógicagicaAt(Home,ResultAt(Home,Result’’(p, S0)) (p, S0)) ∧∧ Have(MilkHave(Milk, , ResultResult’’(p, S0)) (p, S0)) ∧∧

Have(BananasHave(Bananas, , ResultResult’’(p, S0)) (p, S0)) ∧∧ Have(DrillHave(Drill, , ResultResult’’(p, (p, S0))S0))

SoluSoluçção:ão:p = [p = [Go(SuperMarketGo(SuperMarket), ), Buy(MilkBuy(Milk), ), Buy(BananasBuy(Bananas), ),

Go(HardwareStoreGo(HardwareStore), ), Buy(DrillBuy(Drill), ), Go(homeGo(home)])]

LimitaLimitaççõesõesEficiência da inferência em lEficiência da inferência em lóógica de primeira ordemgica de primeira ordemNenhuma garantia sobre a qualidade da soluNenhuma garantia sobre a qualidade da soluççãoão

Ex.: Pode haver passos redundantesEx.: Pode haver passos redundantes

ResoluResoluçção de problemas x ão de problemas x Planeamento com CPlaneamento com Cáálculo Situacionallculo Situacional

Resolver o Problema:Resolver o Problema:(Procura Espa(Procura Espaçço de Estados)o de Estados)

A representaA representaçção de acão de acçções, ões, estados, objectivos, planos estados, objectivos, planos são representados por um são representados por um programa que gera descriprograma que gera descriçções ões completas.completas.““Caixa pretaCaixa preta””; sequências de ; sequências de acacçções comeões começçando do estado ando do estado inicial e acabando no estado inicial e acabando no estado objectivo.objectivo.

Planeamento:Planeamento:(C(Cáálculo Situacional)lculo Situacional)

““AbreAbre”” a representaa representaçção de ão de estados, objectivos, e acestados, objectivos, e acçções.ões.O planeador O planeador éé livre para livre para adicionar acadicionar acçções ao plano ões ao plano onde quer que elas sejam onde quer que elas sejam necessnecessáárias.rias.A maioria das partes do A maioria das partes do mundo são independentes da mundo são independentes da maioria das outras partes maioria das outras partes (Dividir para Conquistar).(Dividir para Conquistar).

Page 13: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

13

LimitaLimitaçções do Cões do Cáálculo Situacionallculo Situacional

SituaSituaçções são pontos instantâneos no tempo.ões são pontos instantâneos no tempo.

Vocacionado para mundos onde ocorre uma Vocacionado para mundos onde ocorre uma acacçção de cada vez.ão de cada vez.

Não pode ser usado quando:Não pode ser usado quando:As acAs acçções têm duraões têm duraçções diferentes.ões diferentes.Os seus efeitos dependem da duraOs seus efeitos dependem da duraçção.ão.

Podem ser introduzidos passos irrelevantes no Podem ser introduzidos passos irrelevantes no plano.plano.

LimitaLimitaçções do Cões do Cáálculo Situacionallculo Situacional

Conclusão:Conclusão:Apesar de tudo, Apesar de tudo, éé suficiente para muitos suficiente para muitos domdomíínios de planeamento.nios de planeamento.

SoluSoluçção:ão:Utilizar linguagem mais restritiva.Utilizar linguagem mais restritiva.Recorrer a algoritmos especRecorrer a algoritmos especííficos.ficos.

Page 14: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

14

Linguagem STRIPSLinguagem STRIPSSTRIPS = STRIPS = STSTanfordanford RResearchesearch IInstitutenstitute PProblemroblemSSolverolver

Criado de forma a evitar os problemas do Criado de forma a evitar os problemas do ccáálculo situacional.lculo situacional.

Foi a primeira proposta de soluFoi a primeira proposta de soluçção para um ão para um problema de planeamento integrando um problema de planeamento integrando um sistema formal.sistema formal.

Apresentado por Apresentado por FikesFikes e e NilssonNilsson em 1971.em 1971.

Linguagem STRIPSLinguagem STRIPS

CaracterCaracteríísticas:sticas:MantMantéém muita da expressividade do cm muita da expressividade do cáálculo lculo situacional.situacional.Esta linguagem recorre a algoritmos Esta linguagem recorre a algoritmos especespecííficos, como tal mais eficientes.ficos, como tal mais eficientes.As acAs acçções são representadas de forma ões são representadas de forma simplificada relativamente simplificada relativamente àà representarepresentaçção ão em Lem Lóógica.gica.

Page 15: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

15

Linguagem STRIPSLinguagem STRIPS

ConstituiConstituiçção:ão:OperadoresOperadores

Descrevem as acDescrevem as acççõesõesPrPréé –– condicondiçções:ões:

Têm que verificarTêm que verificar--se para o operador ser aplicse para o operador ser aplicáávelvelDeleteDelete –– ListList

Predicados que se tornam falsos apPredicados que se tornam falsos apóós a execus a execuçção da ão da acacççãoão

AddAdd –– ListListPredicados que se tornam verdadeiros apPredicados que se tornam verdadeiros apóós a s a execuexecuçção da acão da acççãoão

Linguagem STRIPSLinguagem STRIPS

Exemplo:Exemplo:Forma escrita:Forma escrita:

Nome: Nome: ligaliga--carrocarroPrePre –– condicondiçção: ão: motor_offmotor_off (carro) (carro) ∧∧colocada(chavecolocada(chave, carro), carro)DeleteDelete--ListList: : motor_off(carromotor_off(carro))AddAdd--ListList: : motor_on(carromotor_on(carro))

Graficamente:Graficamente:

Page 16: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

16

Linguagem STRIPSLinguagem STRIPS

Estados:Estados:ConjunConjunçções de literais sem variões de literais sem variááveisveis

ObjectivosObjectivosConjunConjunçções de literaisões de literaisPodem conter variPodem conter variááveis (assumemveis (assumem--se se existencialmente quantificadas)existencialmente quantificadas)

Linguagem STRIPSLinguagem STRIPS

AssumpAssumpçção STRIPS:ão STRIPS:Tudo o que não for retirado explicitamente Tudo o que não for retirado explicitamente por um operador mantpor um operador mantéémm--se vse váálido no estado lido no estado resultante da aplicaresultante da aplicaçção desse operador.ão desse operador.

Page 17: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

17

Linguagem STRIPSLinguagem STRIPS

Dois Quartos: R1 e R2Dois Quartos: R1 e R2Um Robot aspiradorUm Robot aspiradorPPóó

R1 R2

Linguagem STRIPSLinguagem STRIPSRepresentaRepresentaçção do estado:ão do estado:

Proposições verdadeirasno estado actual

“and”Lógico

R1 R2

In(RobotIn(Robot, R, R11) ) ∧∧ Clean(RClean(R11))

R1 R2

Page 18: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

18

Linguagem STRIPSLinguagem STRIPS

Não existe proposiNão existe proposiçções negativas, como ões negativas, como ¬¬Clean(R2)Clean(R2)AssumpAssumpçção de Mundo fechado: Todas as proposião de Mundo fechado: Todas as proposiçções que não ões que não estão listadas no estado, são falsas nesse estado.estão listadas no estado, são falsas nesse estado.Sem Sem ““oror”” conector, como In(Robot,R1) conector, como In(Robot,R1) ∨∨ In(Robot,R2)In(Robot,R2)Sem variSem variááveis do tipo, veis do tipo, ∃∃xx Clean(xClean(x))

RepresentaRepresentaçção do estadoão do estado

In(RobotIn(Robot, R1) , R1) ∧∧ Clean(R1)Clean(R1)

R1 R2

Linguagem STRIPSLinguagem STRIPS

RepresentaRepresentaçção do objectivo.ão do objectivo.Exemplo: clean(R1) Exemplo: clean(R1) ∧∧ clean(R2)clean(R2)

Um Um objectivoobjectivo éé atingido num estado S se atingido num estado S se todas as propositodas as proposiçções em G (chamado ões em G (chamado Sub Sub objectivosobjectivos) estão tamb) estão tambéém em S.m em S.

Page 19: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

19

Linguagem STRIPSLinguagem STRIPS

RepresentaRepresentaçção das acão das acçções:ões:RIGHTRIGHT

PrPréé--condicondiççãoão: : In(RobotIn(Robot, R, R11))DeleteDelete--listlist: : In(RobotIn(Robot, R, R11))AddAdd--listlist: : In(RobotIn(Robot, R, R22))

R1 R2 R1 R2

In(RobotIn(Robot, R, R11) ) ∧∧Clean(RClean(R11)) In(RobotIn(Robot, R, R22)) ∧∧ Clean(RClean(R11))

Right

Linguagem STRIPSLinguagem STRIPS

RepresentaRepresentaçção das acão das acçções:ões:RIGHTRIGHT

PrPréé--condicondiççãoão: : In(RobotIn(Robot, R, R11))DeleteDelete--listlist: : In(RobotIn(Robot, R, R11))AddAdd--listlist: : In(RobotIn(Robot, R, R22))

Uma acUma acçção A ão A éé aplicaplicáávelvel a um estado S se as a um estado S se as proposiproposiçções na sua prões na sua préé condicondiçção estão todas em S.ão estão todas em S.A A aplicaaplicaççãoão de A para S de A para S éé um novo estado obtido um novo estado obtido apagando as proposiapagando as proposiçções existentes na lista de itens ões existentes na lista de itens a apagar de S e adicionando estes na lista a a apagar de S e adicionando estes na lista a adicionar.adicionar.

Page 20: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

20

Linguagem STRIPSLinguagem STRIPS

Esquema de AcEsquema de Acçções:ões:Descreve um conjunto de acDescreve um conjunto de acçções: Suck(Rões: Suck(R11) e ) e Suck(RSuck(R22))

Parâmetros que irão ser instanciados e Parâmetros que irão ser instanciados e combinados com uma prcombinados com uma préé -- condicondiçção em ão em relarelaçção a um determinado estadoão a um determinado estado

Linguagem STRIPSLinguagem STRIPS

Esquema de AcEsquema de Acçções:ões:Descreve um conjunto de acDescreve um conjunto de acçções: Suck(Rões: Suck(R11) e ) e Suckr(RSuckr(R22))

Suck(r)PrPréé--condicondiççãoão: : In(RobotIn(Robot, r), r)

DeleteDelete--listlist: : ∅AddAdd--listlist: : Clean(r)

Page 21: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

21

Linguagem STRIPSLinguagem STRIPS

Aspirar(r)PrPréé--condicondiççãoão: : In(RobotIn(Robot, r), r)

DeleteDelete--listlist: : ∅AddAdd--listlist: : Clean(r)

In(RobotIn(Robot, R, R11)) ∧∧ Clean(RClean(R11)) In(RobotIn(Robot, R, R11) ) ∧∧ Clean(RClean(R11))

Suck(R1)R1 R2

r R1

R1 R2

Linguagem STRIPSLinguagem STRIPS

Aspirar(r)PrPréé--condicondiççãoão: : In(RobotIn(Robot, r), r)

DeleteDelete--listlist: : ∅AddAdd--listlist: : Clean(r)

R1 R2

In(RobotIn(Robot, R, R22)) ∧∧ Clean(RClean(R11))

R1 R2

In(RobotIn(Robot, R, R22) ) ∧∧ Clean(RClean(R11))∧∧ Clean(RClean(R22))

Suck(R2)

r R2

Page 22: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

22

FIM PARTE 1FIM PARTE 1

IntroduIntroduçção ão àà

Inteligência ArtificialInteligência Artificial

PlaneamentoPlaneamento

Page 23: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

23

AgendaAgenda

Parte 1Parte 1IntroduIntroduççãoão

ResoluResoluçção de Problemas ão de Problemas vsvs PlaneamentoPlaneamentoPlaneamento com CPlaneamento com Cáálculo Situacionallculo SituacionalLinguagem STRIPSLinguagem STRIPS

Parte 2Parte 2Mundo de BlocosMundo de BlocosAnomalia de Anomalia de SussmanSussmanAlgoritmos de PlaneamentoAlgoritmos de Planeamento

Mundo de BlocosMundo de BlocosDomDomíínio: nio:

Conjunto de blocos assentes Conjunto de blocos assentes numa superfnuma superfíície.cie.

AcAcçções:ões:Os blocos podem ser Os blocos podem ser empilhados;empilhados;Podemos pegar num bloco e Podemos pegar num bloco e movêmovê--lo para outra posilo para outra posiçção;ão;Apenas pode ser Apenas pode ser movimentado um bloco de movimentado um bloco de cada vez.cada vez.

Objectivo:Objectivo:construir uma pilha especconstruir uma pilha especíífica fica de blocos.de blocos.

BBCC

AAEstado inicial

Estado objectivo

AA

BB

CC

Page 24: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

24

Pergunta?Pergunta?

Dado um plano com sub objectivos Dado um plano com sub objectivos parciais, parciais, éé sempre posssempre possíível resolvevel resolve--los los numa ordem sequencial?numa ordem sequencial?

Anomalia de Anomalia de SussmanSussman

Apresentado por Apresentado por SussmanSussman em 1973:em 1973:Problema:Problema:

Estado inicial:Estado inicial:sobre(Csobre(C, A) , A) ∧∧ sobre(Asobre(A, Mesa) , Mesa) ∧∧ sobre(Bsobre(B, Mesa), Mesa)

Estado final:Estado final:sobre(Csobre(C, , MêsaMêsa) ) ∧∧ sobre(Asobre(A, B) , B) ∧∧ sobre(Bsobre(B, C), C)

BBCC

AAEstado inicial Estado objectivo

AA

BB

CC

Page 25: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

25

Anomalia de Anomalia de SussmanSussmanÁÁrvore de Procura:rvore de Procura:

(sub objectivos: (sub objectivos: sobre(Csobre(C, , MêsaMêsa) ) ∧∧ sobre(Asobre(A, B) , B) ∧∧ sobre(Bsobre(B, C) ), C) )

BB

CC

AA

Estado inicial

BB

CC

AA

BBCC AA

BBCC

AA

Anomalia de Anomalia de SussmanSussman

Neste exemplo podemos ver que por Neste exemplo podemos ver que por vezes sub planos são incompatvezes sub planos são incompatííveis entre veis entre si. si.

Page 26: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

26

Algoritmos de PlaneamentoAlgoritmos de Planeamento

Algoritmos de procura staAlgoritmos de procura stanndard (dard (DepthDepth--firstfirst, A*, , A*, etcetc.) s.) sãão ineficientes devido a:o ineficientes devido a:

O problema do ruO problema do ruíídodoConseguir encontrar uma boa funConseguir encontrar uma boa funççãão heuro heuríísticasticaEstes algoritmos nEstes algoritmos nãão podem tirar vantagem da o podem tirar vantagem da decomposidecomposiççãão do problema em sub problemaso do problema em sub problemas

Vamos abordar algoritmos mais eficientes:Vamos abordar algoritmos mais eficientes:Procura num espaProcura num espaçço de estadoso de estadosPlaneamento de ordem parcialPlaneamento de ordem parcial

Procura num espaProcura num espaçço de estadoso de estados

Procura em progressProcura em progressãoãoProcura em regressãoProcura em regressãoEx.:Ex.: Init(Init( At(C1,SFO) At(C1,SFO) ∧∧ At(C2,JFK) At(C2,JFK) ∧∧ At(P1,SFO) At(P1,SFO) ∧∧ At(P2,JFK)At(P2,JFK)

∧∧ Cargo(C1) Cargo(C1) ∧∧ Cargo(C2) Cargo(C2) ∧∧ Plane(P1) Plane(P1) ∧∧ Plane(P2)Plane(P2)∧∧ Airport(JFKAirport(JFK) ) ∧∧ AirportAirport (SFO) (SFO)

Goal(Goal( At(C1,JFK) At(C1,JFK) ∧∧ At(C2,SFO) )At(C2,SFO) )Action(Action( Load(c,p,aLoad(c,p,a),),

PRECOND: PRECOND: At(c,aAt(c,a) ) ∧∧ At(p,aAt(p,a) ) ∧∧ Cargo(cCargo(c) ) ∧∧ Plane(pPlane(p ) ) ∧∧ Airport(aAirport(a))EFFECT: EFFECT: ¬¬At(c,aAt(c,a) ) ∧∧ At(c,pAt(c,p) )) )

Action(Action( Unload(c,p,aUnload(c,p,a),),PRECOND: PRECOND: In(c,pIn(c,p) ) ∧∧ At(p,aAt(p,a) ) ∧∧ Cargo(cCargo(c) ) ∧∧ Plane(pPlane(p ) ) ∧∧ Airport(aAirport(a))EFFECT: EFFECT: At(c,aAt(c,a) ) ∧∧ ¬¬In(c,pIn(c,p) )) )

Action(Action( Fly(p,from,toFly(p,from,to),),PRECOND: PRECOND: At(p,fromAt(p,from) ) ∧∧ Plane(pPlane(p ) ) ∧∧ Airport(fromAirport(from) ) ∧∧ Airport(toAirport(to))EFFECT: EFFECT: ¬¬At(p,fromAt(p,from) ) ∧∧ At(p,toAt(p,to) ) ) ) ) )

Tabela: Problema de planeamento involvendo o transporte de carga entre aeroportos.

Page 27: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

27

Procura em ProgressProcura em ProgressãoãoA formulaA formulaçção de problemas de planeamento ão de problemas de planeamento éé a seguinte:a seguinte:1)1) O estado inicial da procura O estado inicial da procura éé o estado inicial do problema de o estado inicial do problema de

planeamento.planeamento.

2)2) Cada estado serCada estado seráá um conjunto de literais positivos.um conjunto de literais positivos.

3)3) O estado sucessor resultante de uma acO estado sucessor resultante de uma acççãão o éé gerado adicionando gerado adicionando os literais posos literais posiitivos e apagando os literais negativos.tivos e apagando os literais negativos.

4)4) O teste do objectivo verifica se o estado satisfaz o objectivo dO teste do objectivo verifica se o estado satisfaz o objectivo do o problema de plaproblema de planeamento.neamento.

5)5) O custo de cada acO custo de cada acççãão o éé geralmente 1, este custo pode ser geralmente 1, este custo pode ser colocado pelos utilizadcolocado pelos utilizadoores.res.

Procura em ProgressProcura em ProgressãoãoExemplo do transporte de carga entre aeroportos:Exemplo do transporte de carga entre aeroportos:

A procura comeA procura começça no estado inicial ata no estado inicial atéé ao objectivoao objectivo

Page 28: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

28

Procura em ProgressProcura em Progressãoão

ConclusConclusões:ões:Todas as acTodas as acççõões ses sãão consideradas em cada estado, o consideradas em cada estado, sendo analisadas acsendo analisadas acççõões irreles irreleevantes para a vantes para a resoluresoluççãão do problema.o do problema.

Quanto mais acQuanto mais acççõões, mais caminhos posses, mais caminhos possííveis a veis a percorrer e em alguns casos podpercorrer e em alguns casos podeemos chegar a um mos chegar a um nníível em que a resoluvel em que a resoluçção do problema ão do problema nnãão o éécomputcomputáável.vel.

Imaginemos Imaginemos 10 aeroportos com 5 avi10 aeroportos com 5 aviões em cada e 20 ões em cada e 20 pepeçças de carga para transportaras de carga para transportar1000 ac1000 acçções diferentes ões diferentes 1000^41 n1000^41 nóós a percorrers a percorrer

Procura em RegressProcura em RegressãoãoNesta procuraNesta procura apenas consideramos as acapenas consideramos as acççõões es relevantes para a resolurelevantes para a resoluççãão do nosso problema.o do nosso problema.Como considerar uma acComo considerar uma acçção como relevante ?ão como relevante ?

Relevante = se essa acRelevante = se essa acççãão tiver como efeito um dos o tiver como efeito um dos elementos da conjuelementos da conjunnçção.ão.

Ex.: Vamos usar o exemplo do transporte de carga Ex.: Vamos usar o exemplo do transporte de carga entre aeroportosentre aeroportos

Se o objectivo Se o objectivo éé ter ter 20 pe20 peçças de carga num aeroporto B: as de carga num aeroporto B: At(C1,B) At(C1,B) ∧∧ At(C2,B) At(C2,B) ∧∧ At(C3,B) At(C3,B) ∧∧ .. .. ∧∧At(C20,B) . At(C20,B) . Considerando a conjunConsiderando a conjunççãão At(C1,B), temos de procurar o At(C1,B), temos de procurar uma acuma acçção que tenha esta ão que tenha esta úúltima como efeito. ltima como efeito. Unload(C1,p,B) tem como efeito At(C1,B) Unload(C1,p,B) tem como efeito At(C1,B)

Page 29: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

29

Procura em RegressProcura em Regressãoão

Como construir estados antecessores ao Como construir estados antecessores ao estado objectivo ?estado objectivo ?

1)1) Quaisquer efeitos positivos de A que aparecem em Quaisquer efeitos positivos de A que aparecem em G sG sãão apagadoso apagados

2)2) Cada literal que seja prCada literal que seja préé--condicondiççãão de A o de A ééadicionado. Caso este literal jadicionado. Caso este literal jáá exista ele exista ele ééignoradoignorado

3)3) A procura acaba quando for gerado um estado A procura acaba quando for gerado um estado antecessor que satisfaantecessor que satisfaçça o estado ina o estado iniicial do cial do problema de planeamentoproblema de planeamento

Procura em RegressProcura em Regressãoão

Exemplo:Exemplo:

A procura comeA procura começça no estado a no estado objectivo atobjectivo atéé ao estado ao estado inicial.inicial.

Page 30: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

30

HeurHeuríísticas no planeamento sticas no planeamento num espanum espaçço de estadoso de estados

Procuras em regressProcuras em regressãão e progresso e progressãão so sãão o ineficientes sem uma boa funineficientes sem uma boa funççãão heo heuurríísstica.tica.A funA funççãão heuro heuríística estima a diststica estima a distâância de um ncia de um estado atestado atéé um objectivo.um objectivo.Como calcular uma boa funComo calcular uma boa funçção heurão heuríística ?stica ?

Derivar um Derivar um problema simplificadoproblema simplificado da especificada especificaççãão o do problema a resolver.do problema a resolver.Usar a Usar a assunassunççãão de independo de independêência do sub ncia do sub objectivo.objectivo.

Neste caso o custo de resolNeste caso o custo de resoluuççãão de um conjunto o de um conjunto de sub objectivos de sub objectivos éé aproximado pela soma dos aproximado pela soma dos custos de resolcustos de resoluuççãão de cada um dos sub o de cada um dos sub objectivos de forma independeobjectivos de forma independennte.te.

Planeamento de ordem parcialPlaneamento de ordem parcialAs procuras As procuras em progressem progressãão e em regresso e em regressãão so sãão o formas paformas parrticticuulares de procura totalmente lares de procura totalmente ordenada. ordenada.

Estes tipos de algoritmos exploram apenas Estes tipos de algoritmos exploram apenas sequsequêências lineares de acncias lineares de acççõões ligados es ligados directamente ao estado inicial ou ao objectivo.directamente ao estado inicial ou ao objectivo.

Estes nEstes nãão podem tirar proveito de decompor um o podem tirar proveito de decompor um problema em vproblema em váários sub problemas.rios sub problemas.

Page 31: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

31

Planeamento de ordem parcialPlaneamento de ordem parcialObjectivo:Objectivo:

Separar os problemas em sub problemas e assim ter Separar os problemas em sub problemas e assim ter a vantagem de flexibilidade na ordem em que a vantagem de flexibilidade na ordem em que construconstruíímos o plano.mos o plano.

O planeador pode trabalhar em decisO planeador pode trabalhar em decisõões ou partes es ou partes importantes primeiro. importantes primeiro.

Qualquer algoritmo de planeamento que consiga Qualquer algoritmo de planeamento que consiga colocar duas accolocar duas acççõesões num plano sem especificar qual num plano sem especificar qual deles vem primeiro deles vem primeiro éé chamado de planeador de chamado de planeador de ordem parcial.ordem parcial.

Planeamento de ordem parcialPlaneamento de ordem parcial

Ex.:Ex.:

Tabela: problema de colocar um par de sapatosTabela: problema de colocar um par de sapatos

Goal( RigthShoeOn ∧ LeftShoeOn ) Init() Action(RightShoe, PRECOND: RightSockOn, EFFECT:

RightShoeOn) Action(RightSock, EFFECT: RightSockOn) Action(LeftShoe, PRECOND: LeftSockOn, EFFECT: LeftShoeOn) Action(LeftSock, EFFECT: LeftSockOn)

Page 32: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

32

Planeamento de ordem parcialPlaneamento de ordem parcial

ResoluResoluçção:ão:Start

LeftSock

RightSock

LeftShoe

RightShoe

Finish

Start

Finish

RightSock

LeftSock

LeftShoe

RightShoe

Start

Finish

LeftSock

RightSock

RightShoe

LeftShoe

Start

Finish

LeftSock

RightSock

LeftShoe

RightShoe

Start

Finish

RightSock

RightShoe

LeftSock

LeftShoe

Start

Finish

RightSock

LeftSock

RightShoe

LeftShoe

Start

Finish

LeftSock

LeftShoe

RightSock

RightShoe

Planos de ordem parcial Planos de ordem total

Planeamento de ordem parcialPlaneamento de ordem parcialCada plano Cada plano éé constituconstituíído por quatro componentes:do por quatro componentes:

AcAcççõesõesO plano vazio contem apenas as acO plano vazio contem apenas as acççõões es StartStart e e FinishFinish..StartStart nnãão tem pro tem préé condicondiççõões e tem como efeito todos os literais no es e tem como efeito todos os literais no estado inicial do probleestado inicial do problema de planeamento.ma de planeamento.FinishFinish não tem efeitos e tem como prnão tem efeitos e tem como préé condicondiçções os literais ões os literais objectivo do problema de planeamento.objectivo do problema de planeamento.

RestriRestriçções de ordenaões de ordenaççãoãoEstes elementos definem limitaEstes elementos definem limitaçções na ordem das acões na ordem das acçções.ões.São da forma A < B, e lêSão da forma A < B, e lê--se como se como ““A antes de BA antes de B”” e significa que a e significa que a acacçção A tem que ser executada antes da B.ão A tem que ser executada antes da B.Qualquer ciclo como: A < B e B <A representam uma contradiQualquer ciclo como: A < B e B <A representam uma contradiçção ão por isso as regras que dão origem a ciclos não podem ser por isso as regras que dão origem a ciclos não podem ser adicionadas ao plano. adicionadas ao plano.

Page 33: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

33

Planeamento de ordem parcialPlaneamento de ordem parcialLigaLigaçções causaisões causais

Uma ligaUma ligaççãão causal entre duas aco causal entre duas acççõões A e B num es A e B num plano plano éé escrito como: escrito como:

A A PP BBNo exemplo anterior terNo exemplo anterior terííamos que a ligamos que a ligaaççãão causalo causal

RightSockRightSock RightSockOnRightSockOn RightShoeRightShoe

PrPréé condicondiçções abertasões abertasUma prUma préé condicondiççãão esto estáá aberta se naberta se nãão o éé acessacessíívelvel por por alguma das acalguma das acççõões do plano. es do plano. Reduzir o conjunto de prReduzir o conjunto de préé condicondiçções abertas atões abertas atéé atingir atingir um conjunto vazio, sem introduzirem contradium conjunto vazio, sem introduzirem contradiçções.ões.

Planeamento de ordem parcialPlaneamento de ordem parcialExemplo dos sapatos:Exemplo dos sapatos:

AcAcççõõeses: : {{RightSockRightSock, , RightShoeRightShoe, , LeftSockLeftSock, , LeftShoeLeftShoe, , StartStart, , FinishFinish}}

RestriRestriçções de ordenaões de ordenaççãoão: : {{RightSockRightSock < < RightShoeRightShoe, , LeftSockLeftSock < < LetfShoeLetfShoe}}

LigaLigaçções causaisões causais::RightSockRightSock RightSockOnRightSockOn RightShoeRightShoeLeftSockLeftSock LeftSockOnLeftSockOn LeftShoeLeftShoeRightShoeRightShoe RightShoeOnRightShoeOn FinishFinishLeftShoeLeftShoe LeftShoeOnLeftShoeOn FinishFinish

PrPréé condicondiçções abertasões abertas: {}.: {}.

Page 34: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

34

HeurHeuríísticas para o planeamento de sticas para o planeamento de ordem parcialordem parcial

Planeamento de ordem parcial vs planeamento de ordem total:Planeamento de ordem parcial vs planeamento de ordem total:

No planeamento de ordem parcial a vantagem No planeamento de ordem parcial a vantagem éé ser possser possíível vel decompor problemas em sub problemas.decompor problemas em sub problemas.Uma desvantagem Uma desvantagem éé o facto de no facto de nãão representar os estados o representar os estados directdirectaamente do problema original.mente do problema original.ÉÉ difdifíícil estimar a que distcil estimar a que distâância um plano de ordem parcial estncia um plano de ordem parcial estááde alcande alcanççar um objectivo.ar um objectivo.HHáá menos conhecimento de como computar heurmenos conhecimento de como computar heuríísticas exactas sticas exactas usausanndo o planeamento de ordem parcial do que para o do o planeamento de ordem parcial do que para o planeamento de ordem total.planeamento de ordem total.Em ambos os casos, Em ambos os casos, custo custo éé sobrestimado quando existem sobrestimado quando existem acacççõões que alcanes que alcanççam vam váários objectivos e subestimado quando rios objectivos e subestimado quando existem interacexistem interacçções negativas entre os passos de um plano.ões negativas entre os passos de um plano.

HeurHeuríísticas para o planeamento de sticas para o planeamento de ordem parcialordem parcial

A heurA heuríística mais stica mais óóbvia usada no planeamento de ordem parcial bvia usada no planeamento de ordem parcial éécontar o ncontar o núúmero de prmero de préé condicondiçções abertas distintas. ões abertas distintas. A funA funççãão heuro heuríística stica éé usada para escolher que plano devemos usada para escolher que plano devemos refinar. Dada esta escrefinar. Dada esta escoolha, o algoritmo gera sucessores baseados lha, o algoritmo gera sucessores baseados na selecna selecççãão de uma o de uma úúnica prnica préé condicondiççãão aberta para trabalhar sobre o aberta para trabalhar sobre a mesma.a mesma.A heurA heuríística stica mostmost--constrainedconstrained--variablevariable (de (de CSPsCSPs) pode ser ) pode ser adaptada para algoriadaptada para algorittmos de planeamento:mos de planeamento:

Seleccionar a condiSeleccionar a condiççãão aberta que pode ser satisfeita num menor o aberta que pode ser satisfeita num menor nnúúmero de maneiras diferentes; mero de maneiras diferentes; Casos especiais:Casos especiais:

Se uma condiSe uma condiçção aberta não pode ser alcanão aberta não pode ser alcanççada por nenhuma das ada por nenhuma das acacçções existentes, a heurões existentes, a heuríística irstica iráá seleccionseleccionáá--la;la;Se uma condiSe uma condiçção aberta pode ser alcanão aberta pode ser alcanççada de uma ada de uma úúnica forma, nica forma, então deve ser seleccionada pois pode impor limitaentão deve ser seleccionada pois pode impor limitaçções adicionais ões adicionais noutras escolhas para ainda possam ser feitas.noutras escolhas para ainda possam ser feitas.

Page 35: Inteligência Artificial - Universidade da Madeiracee.uma.pt/edu/iia/acetatos/iia-Planeamento.pdf · Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Planeamento

Inteligência Artificial Universidade da Madeira

35

HeurHeuríísticas para o planeamento de sticas para o planeamento de ordem parcialordem parcial

Estudos mostram que o uso destes dois casos especiais Estudos mostram que o uso destes dois casos especiais ddáá--nos um grande aumento da velocidade:nos um grande aumento da velocidade:

A computaA computaççãão de todos os casos posso de todos os casos possííveis para veis para satisfazer todas as condisatisfazer todas as condiççõões abertas tem um elevado es abertas tem um elevado custo;custo;Nem sempre a computaNem sempre a computaçção de todos os casosão de todos os casos traz traz

grandes valias.grandes valias.

FIMFIM