A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 1 Capítulo 4 Planejamento em Espaço de Estados José de Jesús Pérez-Alcázar MAC 5788 - IME/USP segundo semestre de 2005 Planejamento em Inteligência Artificial

2 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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.

3 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

4 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

5 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 5 Forward Search take c3 move r1 take c2 … …

6 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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.

7 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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 …

8 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

9 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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)

10 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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)

11 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 11 g0g0 g1g1 g2g2 g3g3 a1a1 a2a2 a3a3 g4g4 g5g5 s0s0 a4a4 a5a5

12 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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)

13 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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)

14 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

15 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

16 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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”

17 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

18 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 18 STRIPS

19 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

20 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

21 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

22 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 22 Versão DWR da anomalia de Sussman

23 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

24 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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…

25 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

26 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

27 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

28 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 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

29 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 29 Algoritmo de empilhamento de contenedores

30 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 Commons License: http://creativecommons.org/licenses/by-nc-sa/2.0/ / 30


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google