1 / 51

Capítulo 11 Planejamento em Rede Hierárquica de Tarefas

Planejamento em Inteligência Artificial. Capítulo 11 Planejamento em Rede Hierárquica de Tarefas. José de Jesús Pérez-Alcázar MAC 5788 - IME/USP segundo semestre de 2005. Motivação. Nós podemos já ter uma idéia de como solucionar problemas em um domínio de planejamento

gasha
Download Presentation

Capítulo 11 Planejamento em Rede Hierárquica de Tarefas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planejamento em Inteligência Artificial Capítulo 11 Planejamento em Rede Hierárquica de Tarefas • José de Jesús Pérez-Alcázar MAC 5788 - IME/USP segundo semestre de 2005

  2. Motivação • Nós podemos já ter uma idéia de como solucionar problemas em um domínio de planejamento • Exemplo: viagem para um destino longe: • Planejador independente do domínio: • várias combinações de veículos e rotas • Ser humano com experiência: usa um pequeno número de “receitas” e.g., voar: • comprar passagem do aeroporto local ao aeroporto remoto • viajar ao aeroporto local • voar para o aeroporto remoto • viajar ao destino final • Como facilitar o uso de tais receitas aos sistemas de planejamento?

  3. Duas Abordagens • Regras de controle (capítulo 10): • Escrever regras que eliminem (prune) toda ação que não se ajuste à receita • Planejamento em Rede Hierárquica de Tarefas (HTN) : • Descreva as ações e sub-tarefas que se ajustam à receita

  4. tarefa travel(x,y) Planejamento HTN método taxi-travel(x,y) air-travel(x,y) • Um tipo de problema de redução • Decompor tarefas em subtarefas • Manipular restrições (e.g., um taxi não é bom para distâncias longas) • Resolver interações (e.g., tomar um taxi o bastante cedo para pegar o avião) • Se necessário, retrocesso e tentar outra decomposição get-ticket (a(x), a(y)) travel (a(y),y) get-taxi ride-taxi (x,y) pay-driver travel (x, a(x)) fly (a(x), a(y)) • travel(UMD, LAAS) • get-ticket(BWI, Toulouse) • go to Orbitz • find-flights(BWI,Toulouse) • buy-ticket(BWI,Toulouse) • travel(UMD, BWI) • get-taxi • ride-taxi(UMD, BWI) • pay-driver • fly(BWI, Toulouse) • travel(Toulouse, LAAS) • get-taxi • ride-taxi(Toulouse, LAAS) • pay-driver

  5. Planejamento HTN • Planejadores HTN podem ser de domínio especifico • e.g., veja Capítulos 20 (robôtica) e 23 (bridge) • Ou eles podem ser domínio configuráveis • Motor de planejamento independente dodomínio • Descrição do domínio • métodos,operadores • Descrição do Problema • descrição do domínio,estado inicial,rede de tarefas inicial

  6. Rede de Tarefas Simples (STN) de Planejamento • Um caso especial de planejamento HTN • Estados e operadores • O mesmo que no planejamento clássico • Tarefa: uma expressão da forma t(u1,…,un) • t é um símbolo tarefa, e cada ui é um termo • Dois tipos de símbolos tarefa (e tarefas): • primitivas: tarefas que nós conhecemos como executar diretamente • símbolo tarefa é um nome de operador • Não primitivas: tarefas que devem ser decompostas em sub tarefas • usa métodos (próxima transparência)

  7. Métodos • Método totalmente ordenado : una 4-tuplem = (nome(m), tarefa(m), precond(m), subtarefas(m)) • nome(m): uma expressão da forma n(x1,…,xn) • x1,…,xnsão parâmetros – símbolos variáveis • tarefa(m): uma tarefa não primitiva • precond(m): pré-condições (literais) • subtarefas(m): uma seqüênciade tarefas t1, …, tk air-travel(x,y) tarefa: travel(x,y) precond: long-distance(x,y) subtarefas: buy-ticket(a(x),b(x)), travel(x,a(x)), fly(a(x),b(x)), travel(b(x),y) travel(x,y) air-travel(x,y) long-distance(x,y) buy-ticket (a(x), a(y)) travel (x, a(x)) fly (a(x), a(y)) travel (a(y), y)

  8. Métodos • Método parcialmente ordenado : una 4-tupla m = (nome(m), tarefa(m), precond(m), subtarefas(m)) • nome(m): uma expressão da forma n(x1,…,xn) • x1,…,xnsão parâmetros – símbolos variáveis • tarefa(m): uma tarefa não primitiva • precond(m): pré-condições (literais) • subtarefas(m): um conjunto parcialmente ordenada de tarefas {t1, …, tk} air-travel(x,y) tarefa: travel(x,y) precond: long-distance(x,y) rede: u1=buy-ticket(a(x),b(x)), u2= travel(x,a(x)), u3= fly(a(x),b(x)) u4= travel(b(x),y), {(u1,u3), (u2,u3), (u3 ,u3)} travel(x,y) air-travel(x,y) long-distance(x,y) buy-ticket (a(x), a(y)) travel (x, a(x)) fly (a(x), a(y)) travel (a(y), y)

  9. Domínios, Problemas, Soluções • domínio de planejamento STN: métodos, operadores • problema de planejamento STN: métodos, operadores, estado inicial, lista de tarefas • domínio e problema de planejamento STN de ordem total: • Mesmo que acima exceto que todos os métodos são totalmente ordenados • Solução: qualquer plano executável que pode ser gerado pela aplicação recursiva • métodos para tarefas não primitivas • operadores paratarefas primitivas nonprimitive task method instance precond primitive task primitive task operator instance operator instance precond effects precond effects s0 s1 s2

  10. Exemplo • Suponhamos que desejamos mover três pilhas de contenedores de forma que preserve a ordem dos contenedores

  11. Exemplo (continuação) • Uma forma mover cada pilha: • primeiro movo oscontenedoresde p para uma pilha intermediariar • Então os movemos de r para q

  12. Formulação de Ordem Parcial

  13. Formulação deOrdem Total

  14. Solução de Problemas de Planejamento STN de ordem total state s; task list T=( t1 ,t2,…) action a state (s,a) ; task list T=(t2, …) task list T=( t1 ,t2,…) method instance m task list T=( u1,…,uk ,t2,…)

  15. Expressividade Relativa do Planejamento Clássico • Qualquer problema de planejamento clássico pode ser traduzido num problema de planejamento ordenado de tarefas em tempo polinomial • Várias formas de fazer isto. Uma é aproximadamente como segue: • Para cada meta ou pré-condição e, criar uma tarefa te • Para cada operador o e efeito e, criar um método mo,e • Tarefa: te • Subtarefas: tc1, tc2, …, tcn, o, onde c1, c2, …, cn sâo as pré-condições de o • Restrições de ordenação Parcial: cada tci precedeo • Existem problemas de planejamento em HTN que não podem ser traduzidos a problemas de planejamento clássico. • Exemplo na próxima página

  16. Exemplo • Dois métodos: • Sem argumentos • Sem precondições • Dois operadores, a e b • De novo, sem argumentos e sem pré-condições • Estado inicial é vazio, tarefa inicial é t • Conjunto de soluções é {anbn | n > 0} • Nenhum problema de planejamento clássico tem este conjunto de soluções • O sistema de transição estados é um autômato de estados finitos • Nenhum autômato de estados finitos pode reconhecer {anbn | n > 0} t t method2 method1 a b t b a

  17. op1 op2 opi s0 s1 s2 … Si–1 … Comparação com buscaprogressiva e regressiva • No planejamento em espaço de estados, deve ser escolhido entre fazer uma busca progressiva ou regressiva • No planejamento HTN, há duas alternativas de direção: • progressiva ou regressiva • acima ou abaixo • TFD vaiabaixo eprogressiva task t0 … task tm task tn … op1 op2 opi s0 s1 s2 … Si–1

  18. Comparação com buscaprogressiva e regressiva • Como a busca regressiva,TFD é dirigido pela meta • Metascorrespondema tarefas • Como na busca progressiva, ele gera açõesna mesma ordem na qual elas serão executadas • Sempre que nós desejamos planejar a próxima tarefa • Nós temos já planejado todo o que está antes dela • Assim, nós sabemos o estado atual do mundo task t0 … task tm task tn … op1 op2 opi s0 s1 s2 … Si–1

  19. Incrementando a Expressividade ainda mais • Conhecendo o estado atual facilita fazer coisas que seria difícil de outra forma • Estados podem ser estruturas de dados arbitrários • Pré-condições e efeitos podem incluir • inferências lógicas (e.g., cláusulas de Horn) • Cálculos numéricos complexos • interações com outros pacotes de software • e.g., SHOP: http://www.cs.umd.edu/projects/shop Us: East declarer, West dummy Opponents: defenders, South & North Contract: East – 3NT On lead: West at trick 3 East: KJ74 West: A2 Out: QT98653

  20. Exemplo • domínio simples do problema de planejamento de viagens • Ir de uma localização a outra • formulação de variáveis de Estado (a,x,y)

  21. I am at home, I have $20,I want to go to a park 8 miles away Problema de Planning: travel(me,home,park) Initial task: home park travel-by-foot travel-by-taxi Precond: distance(home,park) ≤ 2 Precond:cash(me) ≥ 1.50 + 0.50*distance(home,park) Precondition succeeds Precondition fails Decomposition into subtasks call-taxi(me,home) ride(me,home,park) pay-driver(me,home,park) s0 s1 s2 s3 Initial state Final state Precond: … Effects: … Precond: … Effects: … Precond: … Effects: … s0 = {location(me)=home, cash(me)=20, distance(home,park)=8} s1 = {location(me)=home, location(taxi)=home, cash(me)=20, distance(home,park)=8} s2 = {location(me)=park, location(taxi)=park, cash(me)=20, distance(home,park)=8 s3 = {location(me)=park, location(taxi)=park, cash(me)=14.50, distance(home,park)=8}

  22. Limitações do Planejamento com Tarefas Ordenadas • Não pode misturar sub-tarefas de diferentes tarefas • Algumas vezes isto pode fazer coisas erradas • Necessário métodos que raciocinem globalmente no lugar de localmente get-both(p,q) get(p) get(q) walk(a,b) pickup(p) walk(b,a) walk(a,b) pickup(q) walk(b,a) get-both(p,q) goto(b) pickup-both(p,q) goto(a) walk(a,b) walk(b,a) pickup(p) pickup(q)

  23. get-both(p,q) get(p) get(q) walk(a,b) stay-at(b) pickup(p) pickup(q) walk(b,a) stay-at(a) Generalizar os Métodos • Generalizar métodos para permitir que as sub-tarefas sejam parcialmente ordenadas • Conseqüência: planos podem misturar sub-tarefas de diferentes tarefas • Isto faz o algoritmo de planejamento mais complicado

  24. Exemplo

  25. Exemplo

  26. Exemplo

  27. Generaliza TFD para misturar sub-tarefas π={a1,…, ak}; w={ t1 ,t2, t3…} operator instance a π={a1 …, ak, a }; w’={t2,t3 …} w={ t1 ,t2,…} method instance m w’={ u1,…,uk ,t2,…}

  28. Discussão • PFD é correto e completo • Pode ser generalizado da mesma forma que TFD • SHOP2: implementação de um algoritmo PFD-like + generalizações • Ganhou um dos quatro majores prêmios na competição de planejamento AIPS-2002 • Freeware, open source • Implementação disponível em http://www.cs.umd.edu/projects/shop

  29. Planejamento HTN • Em STN, foram associados dois tipos de restrições a um método: de ordem e pré-condições (as quais explicitamente não são validadas), elas são cumpridas na medida que se constroem redes de tarefas que as satisfazem. • Planejamento HTN é mesmo mais geral • Pode ter restrições associadas com tarefas e métodos • Coisas que devem ser verdade antes, durante, ou depois • Alguns algoritmos usam elos causais e ameaças como esses em PSP • Redes de tarefas: par w = (U,C), onde U é um conjunto de nodos tarefa e C é um conjunto restrições. • Seja  = <a1, ...,an> uma solução para w, U´U o conjunto de nodos tarefa em w, e A o conjunto de todas as ações em  tal que na árvore de decomposição de , ai é um descendente de um nodo em U´.  First(U´, ) = a1 e Last(U´, ) = an • Tipos de restrições: precedência, antes, depois e entre (between).

  30. Planejamento HTN • Restrição de precedência: expressão da forma , onde u e v são nodos tarefas. • Restrição before: generalização da noção de pré-condição em STN. Uma restrição before(U´, l), onde U´  U é um conjunto de nodos tarefa e l é um literal. Ela diz que em qualquer solucao  para P, o literal l deve ser verdadeiro no estado que ocorre antes de First(U´, ). Se tu = move(r2,l2,l3)  entao a restricao before({u}, at(r2,l2))? • Restricao after. after(U´,l) diz que l deve ser verdade no estado que ocorre depois de Last(U´, ). • Restricao between. Between(U´, U´´, l) diz que l debe ser verdadeiro no estado depois de last(U´, ), antes de first(U´´, ), e todos os estados entre eles.

  31. Métodos HTN • Um método HTN é um 4-tupla m = (nome(m), tarefa(m), subtarefas(m), restrição(m)) • nome(m): uma expressão da forma n(x1,…,xn) • x1,…,xnsão parâmetros – símbolos variáveis • tarefa(m): uma tarefa não primitiva • (subtarefas(m), restrição(m)) : uma rede de tarefas. • Suponhamos que w = (U, C) é uma rede de tarefas, u  U é um nodo tarefa, tu é a tarefa, m é uma instancia de um método, e tarefa(m) = tu m decompõe u em subtarefas(m´), produzindo a rede de tarefas: (w,u,m) = ((U – {u}) subtarefas(m´), C´  restrição(m´))

  32. Métodos HTN • C´ é construido a partir de C. • Para toda restrição de precedência que contém u, troque-a com restrições de precedência que contém nodos de subtarefas(m´). Exemplo, se subtarefas(m´) = {u1,u2}, então troque pelas restrições e • Para toda restrição before, after, ou between, na qual há um conjunto de nodos U´ que contém u, troque U´ por (U´-{u})  subtarefas(m´). Exemplo, se subtarefas(m´)={u1,u2}, então troque a restrição before({u,v}, l) por before({u1,u2,v},l).

  33. Exemplo

  34. Exemplo

  35. Problemas HTN e Soluções • Semelhante a STN, mudam os métodos. • Um domínio de planejamento HTN é um par • D = (O, M) • Um problema de planejamento HTN é uma 4-tupla • P = (s0,w,O,M), s0 é o estado inicial, w é a rede de tarefas inicial, O conjunto de operadores, M conjunto de métodos HTN. • Agora, o que significa que um plano  seja uma solução para P? • Existem dois casos, dependendo de se w é primitivo ou não.

  36. Problemas HTN e Soluções • Se W = (U,C) é primitivo, então um plano  = <a1, ..., ak> é uma solução para P, se existir uma instância ground (U´,C´) de (U,C) e uma ordenação total <u1,...,uk> de todos os nodos de U tal que: • As ações em  são as relacionadas aos nodos u1, ...,uk. name(ai) = tui • O plano  é executável no estado s0 • A ordenação total satisfaz as restrições de precedência em C´. • Para toda restrição before(U´,l) em C´, l é válido no estado si-1 que precede imediatamente ai (ação associada ao primeiro nodo de U´). • Para toda restrição after(U´,l) em C´, l é válido no estado sj, produzido pela ação aj (ação associada ao último nodo de U´). • Para toda restrição between(U´, U´´,l) em C´, l é válido em todo estado entre ai e aj (ai associado a último nodo de U´ e aj associado ao primeiro nodo de U´´). • Se w é não primitivo (pelo menos uma tarefa não primitiva), então  é uma solução para P, se existir uma seqüência de decomposição de tarefas para w que produz uma rede de tarefas w´ primitiva para qual  é uma solução.

  37. Procedimento de Planejamento Função que pode fazer modificações arbitrárias Para uma rede de tarefas. Úteis para desenvolver cálculos específicos

  38. Expressividade de TLPlan Comparada comSHOP e SHOP2 • Potência expressiva equivalente • Ambos são Turing-completo, porque ambos permitem símbolos funcionais • Ambos permitem procedimentos anexados, computações numéricas • Ambos conhecem o estado atual em cada passo do processo de planejamento,e usam isto para eliminar (prune) operadores • Ambos podem chamar sub-rotinas externas • SHOP usa “eval” para chamar funções LISP • Em TLPlan, um símbolo funcional pode corresponder a uma função calculada • Principal diferença • em SHOP e SHOP2, os métodos mencionam sobre o que pode ser feito • SHOP e SHOP2 não fazem algo a menos que um método o ordene • Regras de controle TLPlan falam sobre o que não pode ser feito • TLPlan tentará tudo o que as regras de controle não proibem. • Qual abordagem é mais conveniente depende do domínio do problema

  39. Comparação Experimental • Há vários anos, o grupo do Nau fez uma comparação de SHOP, TLPlan, e Blackbox • Blackbox é um planejador independente de domínio que usa uma combinação de Graphplan e satisfatibilidade • Um dois mais rápidos planejadores na competição de 1998 • Domínio de teste: o domínio de logística • Um problema de planejamento clássico • Bem mais simples que o planejamento real de logística • Cenário: uso de caminhões e aviões para o envio de pacotes • Como uma versão simplificada do domínio DWR no qual contenedores não podem ser empilhados sobre os outros • Condições de teste • SHOP e TLPlan num Sun Ultra de 167-MHz com 64 MB de RAM • Eles não conseguiram executar Blackbox na sua máquina • Resultados publicados: Blackbox numa máquina mais rápida com 8 GB de RAM

  40. Resultados do Domínio de Logística

  41. Average Blackbox TLPlan SHOP CPU time 327.1 2.9 1.1 Average no. Blackbox TLPlan SHOP of actions 82.5 54.5 51.9 Resultados do Domínio de Logística (continuação) Mesmo grafo de antes, mas sobre uma escala logarítmica Número de ações nos planos

  42. Resumo • TLPlan e SHOP gastam quantidades de tempo similar • Nesta experiência, SHOP foi ligeiramente mais rápido, mas em outras TLPlan pode ser mais rápido • Blackbox tomou ao redor de 1000 vezes mais tempoe precisou ao redor de 100 vezes mais memória • Razões do porque: • Entradas do SHOP incluem métodos e axiomas específicos do domínio • Entradas do TLPlan incluem regras de controle específicos do domínio • Isto lhes facilitou achar soluções perto do ótimo em tempo e espaço polinomial • Blackbox é um planejador totalmente automatizado • Nenhum conhecimento específico do domínio • Busca de teste-e-erro, tempo e espaço exponencial

  43. Planejadorescom domínio configurável comparados a Planejadores Clássicos • Desvantagem: escrever uma base de conhecimento pode ser mais complicado que apenas escrever operadores clássicos • Vantagem: pode codificar “receitas” como coleções de métodos e operadores • Expressar coisas que não podem ser expressadas no planejamento clássico • Especificar formas padrão de resolver problemas • De outra forma, o sistema de planejamento teria que derivar estes sempre de “primeiros princípios,” cada vez que resolve um problema • Pode melhorar o planejamento em várias ordenes de magnitude (e.g., tempo polinomial versus tempo exponencial)

  44. Exemplo da Competição AIPS-2002 • O domínio de satélites • Planejamento e escalonamento de tarefas de observação entre múltiplos satélites • Cada satélite equipado de forma ligeiramente diferente • Várias versões diferentes. Serão apresentados resultados para o seguinte: • Tempo simples: • uso concorrente de diferentes satélites • dados pode ser adquiridos mais rapidamente se eles são usados eficientemente • Numérico: • custos de combustível para satélites to slew between targets; quantidades finitas de combustível disponível. • dados ocupam espaço numa memória de capacidade finita • Planos tentam adquirir todos os dados necessários a um custo mínimo de combustível. • Hard Numeric: • Nenhuma meta lógica mesmo – thus even the null plan is a solution • Planos que adquirem mais dados são melhores – assim o plano nulo não tem valor • Nenhum dos planejadores clássicos poderiam tratar isto

More Related