230 likes | 339 Views
Planejamento Clássico – Parte 1. Sergio Queiroz *. *Baseado nos slides de Alan Fern ( Oregon State University ), que por sua vez foram parcialmente baseados em slides por Daniel Weld. Alguns problemas de planejamento em IA. Paciência. Planejamento para resposta a Incêndio , Resgate.
E N D
PlanejamentoClássico – Parte 1 Sergio Queiroz* *Baseado nos slides de Alan Fern (OregonStateUniversity), que por sua vez foram parcialmente baseados em slides por Daniel Weld.
Algunsproblemas de planejamentoem IA Paciência Planejamentopararesposta a Incêndio, Resgate Jogos de Estratégia Controle de robôs Segurança/Controle de Redes Controle de Helicóptero
Elementoscomuns • Nóstemos um sistemacontrolávelquemuda de estado com o tempo (de alguma forma previsível) • O estadodescreveinformaçõesessenciaissobre o sistema (as informaçõesvisíveissobre as cartas no jogo de paciência…) • Nóstemos um objetivoqueespecificaquaisestados, ousequências de estados, sãomais/menosdesejados • Pode-se (parcialmente) controlar a transição dos estados do sistemaatravésdatomada de ações • Problema: A cadamomentodeve-se selecionarumaaçãoqueotimiza o objetivogeral • Produzir as sequências de estadosmaisdesejáveis
Premissas do PlanejamentoClássico Ações Percepções Mundo únicafonte demudança perfeito ???? determinístico totalmenteobservável instantâneo Objetivoalcançar as condiçõesdo objetivo
Premissas do PlanejamentoClássico Ações Percepções Mundo únicafonte demudança perfeito ???? determinístico totalmenteobservável instantâneo Objetivoalcançar as condiçõesdo objetivo Principais limitantes para muitas aplicações práticas
Porque se importar com planejamentoclássico? • Ênfaseemanalisar a estruturacombinatória de problemas • Desenvolveumuitasideiaspoderosasnestadireção • Pesquisas “modernas” emplanejamento, comoMarkov Decision Processes (MDP), praticamenteignoraramestetipo de análise (emboratambémenfrentemestetipo de problema) • Planejadoresclássicoscostumam ser capazes de escalarmelhorparaespaços de estadosgrandesgraças à utilizaçãodessasideias. • Replanejamento:muitosambienteestáveissatisfazemaproximadamenteessaspremissas (e.g. robôpara mover caixas) • É possíveltratarviolaçõespequenas das premissasatravés de replanejamento e monitoramentodaexecução • O mundofrequentementenão é tãoaleatório e pode ser pensado de forma efetivamente de forma determinística
Porque se importar com planejamentoclássico? • Ideiasoriundas de técnicas de planejamentoclássicofrequentementesão a base paradesenvolvertécnicas de planejamentonão-clássicas • Uso de planejadoresclássicoscomo um componente de planejamentoprobabilístico [Yoon et. al. 2008](i.e. redução de planejamentoprobabilísticoparaplanejamentoclássico) • Técnicaspoderosas de análise de domínio do planejamentoclássicoforamintegradasemplanejadores MDP
RepresentandoEstados Estados do mundosãorepresentadoscomoconjuntos de fatos Fatostambémserãochamados de proposições. A A B B C C Closed World Assumption (CWA):Fatosnãolistadosem um estadosãoconsideradosfalsos. Sob CWA estamosassumindoque o mundo é totalmenteobservável.
RepresentandoEstados Objetivostambémsãorepresentadoscomoconjuntos de fatos. Porexemplo, { on(A,B) }, é um objetivo no mundo dos blocos. Um estadoobjetivo é qualquerestadoquecontenhatodososestadosobjetivo A A B B C C Estado 1 é um estadoobjetivopara o objetivo{ on(A,B) }. Estado 2 não é um estadoobjetivopara{ on(A,B) }.
RepresentandoumaAçãoemSTRIPS PutDown(A,B) A A B B C C Umadefinição STRIPS de açãoespecifica: 1) um conjuntoPRE de fatosquesãopré-condições 2) um conjuntoADD de fatos-efeitoquesãoadicionados 3) um conjuntoDEL de fatos-efeitoquesãoapagados PutDown(A,B): PRE: { holding(A), clear(B) }ADD: { on(A,B), handEmpty, clear(A) }DEL: { holding(A), clear(B) } STRIPS = Stanford Research InstituteProblem Solver
Semântica de Ações STRIPS PutDown(A,B) A A B B C C • UmaaçãoSTRIPS é aplicável(oupermitida) em um estadoquandosuaspré-condiçõesestãocontidas no estado. • Tomarumaaçãoem um estadoSresultaem um novo estado: • S ADD – DEL(i.e. adicionarosefeitos ADD e remover osefeitosDEL) PutDown(A,B): PRE: { holding(A), clear(B) }ADD: { on(A,B), handEmpty, clear(A)}DEL: { holding(A), clear(B) }
Problema de Planejamento STRIPS Um problema de planejamento STRIPS especifica: 1) um estadoinicialS 2) um objetivoG 3) um conjunto de ações STRIPS Objetivo: encontrarumasequência de açõesquechegue a um estadoobjetivo, ouretornarque o objetivo é inalcançável. Problema-Exemplo: Solução: (PutDown(A,B)) A B PutDown(B,A): PRE: { holding(B), clear(A) }ADD: { on(B,A), handEmpty, clear(B) }DEL: { holding(B), clear(A) } PutDown(A,B): PRE: { holding(A), clear(B) }ADD: { on(A,B), handEmpty, clear(A)}DEL: { holding(A), clear(B) } Ações STRIPS
PlanejadoresProposicionais • Porrazões de clarezaescrevemosproposiçõestaiscomoon(A,B) emfunção de objetos(e.g. A e B) e predicados(e.g. on). • No entanto, osplanejadoresqueiremosconsiderarignoram a estruturainterna de proposiçõestaiscomo on(A,B). • Taisplanejadoressãochamadosplanejadoresproposicionaisemoposição a planejadores de primeiraordem, ourelacionais • Portantonãofarádiferençapara o planejador se nóssubstituíssemostodaocorrência de “on(A,B)” em um problemapor“prop1” (e assimpordianteparaoutrasproposições) • Pareceerradoignorar a existência de objetos. Masatualmenteplanejadoresproposicionaissão o estado-da-arte.
Esquemas de ações STRIPS Porconveniêncianóstipicamenteespecificamosproblemas via esquemas de açõesaoinvés de escreverações STRIPS individuais. PutDown(B,A): PRE: { holding(B), clear(A) }ADD: { on(B,A), handEmpty, clear(B) }DEL: { holding(B), clear(A) } Esquema de Ações: (x e y sãovariáveis) PutDown(x,y): PRE: { holding(x), clear(y) }ADD: { on(x,y), handEmpty, clear(x) }DEL: { holding(x), clear(y) } . . . . PutDown(A,B): PRE: { holding(A), clear(B) }ADD: { on(A,B), handEmpty, clear(A) }DEL: { holding(A), clear(B) } • Cada forma de substituirvariáveisporobjetos a partir do estadoinicial e objetivogeraumaação STRIPS “ground” (instanciada – semvariáveislivres). • Dado um conjunto de esquemas, um estadoinicial, e um objetivo, planejadoresproposicionaiscompilamesquemasemações ground e entãoignoram a existência de objetosdestepontoemdiante.
STRIPS Versus PDDL • O AIMA fazreferência à PDDL paradefinição de problemas de planejamentoaoinvés de STRIPS • A Planning Domain Description Language (PDDL)foidefinidaporpesquisadoresemplanejamentocomoumalinguagempadrãoparadefinirproblemas de planejamento • IncluiSTRIPS comocaso especial juntamente com característicasmaisavançadas • Algumascaracterísticasadicionais simples incluem: especificação de tipoparaobjetos, pré-condiçõesnegadas, efeitos add/del condicionais • Algumascaracterísticasmaisavançadasincluem a introdução de variáveisnuméricas e açõesduráveis • A maioria dos planejadoresquevocêpodebaixarrecebe PDDL comoentrada (vejahttp://fai.cs.uni-saarland.de/hoffmann/ff.html ) • A maioriasuportaapenas as característicasmais simples de PDDL (essencialmenteSTRIPS) • A sintaxe PDDL é fácil de aprender a partir dos exemplosqueacompanhamosplanejadores, masumadefinição formal pode ser encontrada: http://www.informatik.uni-ulm.de/ki/Edu/Vorlesungen/GdKI/WS0203/pddl.pdf
Propriedades de Planejadores • Um planejador é correto (sound)se todasequência de açõesqueeleretorna é de fatoumasoluçãoverdadeira • Um planejador é completo (complete) se eleretornaumasequência de açõesou “nãoexistesolução” paraqualquerproblema de entrada • Um planejador é ótimo (optimal) se elesempreretorna a soluçãomenorpossível O ótimo é um requisitoimportante? É um requisitorazoável?
PlanejamentocomoBuscaemGrafos • É fácilverplanejamentocomo um problema de buscaemgrafos • Nós/vértices= estadospossíveis • Arestasdirecionadas= ações STRIPS • Solução: caminho de um estadoinicial(i.e. vértice) para um estado/vérticequesatisfaz o objetivo
Espaço de Busca: Mundo dos Blocos Grafo é finito Estado Inicial Estado Objetivo
PlanejamentocomoBuscaemGrafos • Planejamento é simplesmenteencontrar um caminhoem um grafo • Porquenãosimplesmenteusaralgoritmospadrãode grafosparaencontrarcaminhos? • Resposta:grafossãoexponencialmentegrandes no tamanho de codificação dos problemas(i.e. tamanho dos problemas STRIPS). • Mas, algoritmospadrãosãopolinomiais no tamanho do grafo • Entãoalgoritmospadrãonecessitariam de tempo exponencial • É possívelfazermelhor do queisso?
Complexidade de Planejamento STRIPS PlanSATEntrada: um problema de planejamento STRIPSSaída: “sim” se o problema tem solução, casocontrário “não” • PlanSATé decidível. • Porque? (o número de estados é finito) • EmgeralPlanSATé PSPACE-completo! Simplesmenteencontrar um plano é difícil no piorcaso. • Mesmo com açõeslimitadaspara 2 pré-condições e 2 efeitos Issosignificaquedeve-se desistir de planejamentoem IA? NOTA: PSPACE é o conjunto de todososproblemasquesãodecidíveisemespaçopolinomial.Acredita-se que PSPACE-completocontémestritamenteNP.
? Satisficing vs. Optimality • Enquantosimplesmenteencontrar um plano é difícil no piorcaso, paramuitosdomínios de planejamento, encontrar um plano é fácil. • No entanto, encontrarsoluçõesótimaspodeainda ser difícil nesses domínios. • Porexemplo, planejamentoótimo no mundo dos blocos é NP-completo. • Na prática, é frequentementesuficienteencontrar “boas” soluções “rapidamente”, mesmoqueelasnãosejamótimas. • Isso é frequentementechamado de um objetivo do tipo “satisficing”. • Porexemplo, no mundo dos blocos é possívelproduzirsoluçõesaproximadamenteótimasem tempo linear. Como?
Satisficing • Mesmoassim, encontrarplanossatisficingparaproblemas STRIPS arbitráriosnão é fácil. • Ainda é precisolidar com o tamanhoesponencial do espaço de estados • Porque é possívelfazermelhor do quealgoritmosgenéricos de grafos? • Resposta:nóstemosumadescrição STRIPS compacta e estruturada dos problemas • Tentartomarproveitodaestruturapresentenessasdescriçõesparaprocurarporsoluções de forma inteligente • A seguirveremosexemplo de comoissopode ser feito.