Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGeraldo Cortês Aragão Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.