José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice (http://www.laas.fr/planning/). Licensed under the Creative.

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Inteligência Artificial
Planejamento Viviane Torres da Silva
gerador de código intermediário
Exercícios PAA- Grafos
Solved Exercises 1. Finding the Peak. Let A= a1,…,an be a sequence of n numbers with the following property: there is p in {1,…,n} for which (i) the.
Busca com Informação Busca com informação Busca Gulosa Busca A*
Teste de Software Parte 3.
Inteligência Artificial I
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
GRASP Greedy Randomized Adaptative Search Procedure
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
Sistemas Baseados em Conhecimento
Busca Online Alexandra Barros Geber Ramalho. Busca Offine x Busca Online Busca Offline (ou planejamento clássico) –Computa a solução (do estado inicial.
Busca Cega (Exaustiva)
Busca Heurística - Informada
PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema * porque.
Recursividade Conceitos e Aplicações.
Métodos de Classificação por Seleção: HeapSort
Capítulo 4 - Russell e Norvig
Capítulo 3 - Russell e Norvig
Construção de Compiladores
Capítulo 2 Representação de Problemas em Planejamento Clássico
Buscando Soluções Busca Heurística.
Programação Dinámica Análise de algoritmos UNISUL
Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
INF 1771 – Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial Busca.
Informática Teórica Engenharia da Computação
1 Introdução aos Agentes Inteligentes Flávia Barros.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Exercícios PAA- Grafos
INF 1771 – Inteligência Artificial Aula 12 – Planejamento Edirlei Soares de Lima.
Planejamento e Solucionamento de Problemas Distribuídos
Busca com informação e exploração
Estruturas de Dados Módulo 3 – Controle de Fluxo
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Estrutura de Decisão e Repetição
Algoritmos de Busca Local
QuickSort Dividir: A[p…r] é particionado (reorganizado) em dois subvetores não vazios A[p…q] e A[q+1…r] tal que cada elemento de A[p…q] é menor ou igual.
Tópicos em Sistemas Inteligentes
Construção e Análise de Algoritmos
Algoritmos e Estruturas de Dados RECURSIVIDADE. O que é recursividade? Recursividade significa algo ser definido em termos de sí próprio. Em termos de.
Planejamento Hierárquico Jacques Robin CIn-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema.
Busca Combinatorial e Métodos de Heurística
Inteligência Artificial
Torre de  Hanói.
INF 1771 – Inteligência Artificial
Resolução de Problemas de Busca
Recursividade Profs. De Prog2 e Lab2.
Analise de Algoritmos e Notação Assintótica
Introdução planning is the reasoning side of acting
José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative.
Busca Competitiva Disciplina: Inteligência Artificial
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Principais Tópicos Introdução Métodos de busca Busca cega
1 Planejamento Clássico – Parte 1 Sergio Queiroz * *Baseado nos slides de Alan Fern (Oregon State University), que por sua vez foram parcialmente baseados.
Interpretação do Teorema de Herbrand
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Transcrição da apresentação:

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 1 Capítulo 4 Planejamento em Espaço de Estados José de Jesús Pérez-Alcázar MAC IME/USP segundo semestre de 2005 Planejamento em Inteligência Artificial

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 2 Motivação l Quase todos os procedimentos de planejamento são procedimentos de busca l Os procedimentos de planejamento têm diferentes espaços de busca u Dois exemplos: l Planejamento em espaço de estados u Cada nodo representa um estado do mundo »Um plano é uma trajetória a través do espaço l Planejamento em espaço de planos u Cada nodo é um conjunto de operadores parcialmente instanciados, mais algumas restrições »Impor mais e mais restrições, até obtermos um plano.

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 3 Planejamento como Busca Espaço de EstadosEspaço de Planos Algoritmo(Progression) busca para frente, (Regression) busca para trás POP NodosEstados do mundoPlanos parciais Arestas/ Transições Ações Por exemplo, no mundo dos blocos: l move-A-from-B-to-C l move-B-from-A-to-Table l move-C-from-B-to-A l … Refinamentos de Planos: l Step addition l Step reuse l Demotion l Promotion

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 4 Tópicos l Planejamento em Espaço de Estados u Busca para frente u Busca para atrás u Lifting u STRIPS u O mundo dos blocos

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 5 Forward Search take c3 move r1 take c2 … …

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 6 Propriedades Forward-search é válida (“sound”) u Para qualquer plano retornado por qualquer um dos seus rastreamentos não-determinísticos, este plano é uma solução garantida Forward-search também é completa  Se uma solução existe então ao menos um dos rastreamentos não-determinísticos da Forward-search retornará uma solução.

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 7 Implementações determinísticas l Algumas implementações determinísticas de busca para frente: u breadth-first search u best-first search u depth-first search u greedy search l Breadth-first e best-first search são corretos e completos u Mas eles em geral não são práticos porque precisam de muita memória u O requerimento de memória é exponencial em função do tamanho da solução l Na prática, more melhor usar a depth-first search ou greedy search u Pior-caso: requerimento de memória é linear em função do tamanho da solução u correto mas não completo »Porém o planejamento clássico tem unicamente um número finito de estados »Sendo assim, podemos fazer “depth-first search” usando verificação de laços s0s0 s1s1 s2s2 s3s3 a1a1 a2a2 a3a3 s4s4 s5s5 sgsg a4a4 a5a5 …

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 8 Fator de ramificação da Forward Search l Forward search pode ter um fator de ramificação muito grande (veja exemplo) l Porque isto é ruim: u Implementações determinísticas podem gastar tempo tentando muitas ações irrelevantes l Precisa de uma boa função heurística e/ou procedimento de “pruning”. a3a3 a1a1 a2a2 … a1a1 a2a2 a 50 a3a3 Estado inicial meta

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 9 Busca para trás (“Backward”) l Para busca para frente (“forward”), começamos no estado inicial e calculamos as transições de estados u novo estado =  (s,a) l Para busca para trás (“backward”), começamos pela meta e calculamos transições inversas de estados u Novo conjunto de sub-metas =  -1 (g,a)

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 10 Transições inversas de estados l O que significa  -1 (g,a)? l Primeiro precisamos definir relevância: u Uma ação a é relevante para uma meta g se »a faz no mínimo um dos literais de g verdadeiro g  effects(a) ≠  »a não faz qualquer dos literais de g falso g +  effects – (a) =  g –  effects + (a) =  l Se a for relevante para g, então u  -1 (g,a) = (g – effects(a))  precond(a)

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 11 g0g0 g1g1 g2g2 g3g3 a1a1 a2a2 a3a3 g4g4 g5g5 s0s0 a4a4 a5a5

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 12 Eficiência da “Backward Search” l O fator de ramificação da busca para trás é pequena no nosso exemplo l Existem casos onde pode ainda ser muito grande u Muitas instâncias de operadores são avaliados a3a3 a1a1 a2a2 … a1a1 a2a2 a 50 a3a3 Estado inicial meta q(a) foo(x,y) precond: p(x,y) effects: q(x) foo(a,a) foo(a,b) foo(a,c) … p(a,a) p(a,b) p(a,c)

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 13 Lifting l Podemos reduzir o fator de ramificação se nós instanciamos parcialmente os operadores u Isto é chamado de lifting q(a) foo(a,y) p(a,y) q(a) foo(x,y) precond: p(x,y) effects: q(x) foo(a,a) foo(a,b) foo(a,c) … p(a,a) p(a,b) p(a,c)

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 14 Busca para trás Lifted Mais complicado que a busca Backward u Seguir a pista de quais substituições foram desenvolvidas l Porém isto tem um fator de ramificação muito menor

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 15 O espaço de busca é ainda muito grande A busca Lifted-backward-search gera um espaço de busca menor que a Backward- search, porém este ainda pode ser muito grande u Se alguns subproblemas são independentes e algo mais causa problemas em algum outro lugar, nos tentaremos todas as ordenações possíveis antes de perceber que não há solução u Mais sobre isto no Capítulo 5 (Planejamento em Espaço de Planos) a b c b a b a b a c b c a c b goal

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 16 Outras formas de reduzir a Busca l Estratégias de controle de busca u Será tratado mais tarde »Part III do livro u Por enquanto, só dois exemplos »STRIPS »Empilhamento de blocos “block-stacking”

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 17 STRIPS l π  o plano vazio l Fazer uma busca para trás modificada desde g u No lugar de  -1 (s,a), cada novo conjunto sub-metas é só precond(a) u Cada vez que você acha uma ação que é executável no estado atual, então STRIPS compromete a execução desse operador e não deixa fazer “backtracking” do compromisso u Repita até que todas as metas são satisfeitas g g1g1 g2g2 g3g3 a1a1 a2a2 a3a3 g4g4 g5g5 g3g3 a4a4 a5a5 Trajetória atual de busca a6a6 π =  a 6, a 4  s =  (  (s 0,a 6 ),a 4 ) g6g6 a3a3 satisfeita em s 0

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 18 STRIPS

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 19 unstack(x,y) Pre: on(x,y), clear(x), handempty Eff: ~on(x,y), ~clear(x), ~handempty, holding(x), clear(y) stack(x,y) Pre: holding(x), clear(y) Eff: ~holding(x), ~clear(y), on(x,y), clear(x), handempty pickup(x) Pre: ontable(x), clear(x), handempty Eff: ~ontable(x), ~clear(x), ~handempty, holding(x) putdown(x) Pre: holding(x) Eff: ~holding(x), ontable(x), clear(?x), handempty Revisão rápida do Mundo dos Blocos c ab c ab c ab c a b c ab

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 20 A Anomalia de Sussman Estado inicialmeta l Sobre este problema, STRIPS não pode produzir uma solução sem redundâncias c ab c a b

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 21 O Problema de Atribuição de Registros l Formulação em variáveis de estado: Estado Inicial:{valor(r1)=3, valor(r2)=5, valor(r3)=0} Meta:{valor(r1)=5, valor(r2)=3} Operador:atribuir(r,v,r’,v’) precond: valor(r)=v, valor(r’)=v’ efeitos: valor(r)=v’ l STRIPS não pode resolver este problema

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 22 Versão DWR da anomalia de Sussman

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 23 Como solucionar isto? l Várias formas: u Fazer algo diferente a busca no espaço de estados »e.g., Capítulo 5–8 u Usar busca no espaço de estados para frente ou para trás, com conhecimento específico do domínio para recortar (prune) o espaço de busca »Podemos resolver os dois problemas de forma fácil »Exemplo: “block stacking” usando busca para frente

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 24 Conhecimento Específico do Domínio l Um problema de planejamento do mundo dos blocos P = (O,s 0,g) é solucionável Se s 0 e g satisfazem algumas condições de consistência simples »g não deveria mencionar nenhum bloco não mencionado em s 0 »um bloco não pode estar sobre outros dos blocos ao mesmo tempo »etc. Pode checa-las em tempo O(n log n) l Se P é solucionável, podemos facilmente construir uma solução de tamanho O(2m), onde m é o numero de blocos u Mover todos os blocos para a mesa, então construir pilhas desde baixo (bottom) »Podemos fazer isto em tempo O(n) l Com conhecimento específico adicional do domínio podemos melhorar ainda mais…

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 25 Conhecimento Específico Adicional do Domínio l Um bloco x precisa ser movimentado se alguma das condições seguintes é verdade:  s contem ontable (x) e g contem on (x,y)  s contem on (x,y) e g contem ontable (x)  s contem on (x,y) e g contem on (x,z) para algum y≠z  s contem on (x,y) e y precisa ser movimentado Estado inicial meta e d d ba c c a b

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 26 Algoritmo Específico do Domínio loop if there is a clear block x such that x needs to be moved and x can be moved to a place where it won’t need to be moved then move x to that place else if there is a clear block x such that x needs to be moved then move x to the table else if the goal is satisfied then return the plan else return failure repeat estado inicial meta e d d ba c c a b

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 27 Soluciona Facilmente a Anomalia de Sussman loop if there is a clear block x such that x needs to be moved and x can be moved to a place where it won’t need to be moved then move x to that place else if there is a clear block x such that x needs to be moved then move x to the table else if the goal is satisfied then return the plan else return failure repeat estado inicial meta ba c c a b

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 28 Propriedades l O algoritmo block-stacking: u correto, completo, garantia de terminação u Executa em tempo O(n 3 ) »Pode ser modificado para executar em tempo O(n) u Freqüentemente acha soluções ótimas (mais curtas) u Porém algumas vezes somente perto do ótimo (Exercício 4.22 no livro) »Lembre que PLAN LENGTH é NP-completo

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 29 Algoritmo de empilhamento de contenedores

José de J. Pérez-Alcázar. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Licensed under the Creative Commons License: / 30