Planejamento Hierárquico
e Planejamento em Jogos
Sergio Queiroz
[email protected]
Planejamento: Até agora...
• Um plano consiste em uma sequência de
ações atômicas
• Adequado para tarefas complexas?
– Exemplo: planejamento de duas semanas de férias
em Porto de Galinhas
Férias em Porto de Galinhas
• Planejamento em nível atômico
– Ações são ativações de músculos do corpo
– Há cerca de 103 músculos no corpo (conta-se às
vezes 639, mas há músculos com subunidades)
– Há ativação pode ser feita por volta de 10 vezes
por segundo
– Estando acordados 16 horas por dia durante 15
dias teremos:
• 15 x 16 x 60 x 60 x 10 x 103 x 2 = 1,728 x 1010 possíveis
planos do que fazer na viagem...
Férias em Porto de Galinhas
• Não parece que o cérebro planeja assim...
• Aparentemente planejamos em níveis de
abstração mais altos
– No primeiro dia, pela manhã, vou até as piscinas
naturais...
• Veja que ir até as piscinas naturais pode ser
decomposta em uma sequência de ações
– Vestir a roupa de banho, passar protetor solar...
Férias em Porto de Galinhas
• Ações podem permanecer em nível abstrato
até a sua execução
– Não preciso decidir de imediato de vou andando
ou se vou pegar uma jangada, quando chegar na
praia eu decido...
• Ideia subjacente fundamental:
– DECOMPOSIÇÃO HIERÁRQUICA
Decomposição Hierárquica
• Decomposição hierárquica é uma idéia que permeia quase todas as
tentativas de gerenciar a complexidade. Por exemplo, software
complexo é criado a partir de uma hierarquia de sub-rotinas ou classes
de objetos; exércitos operam como uma hierarquia de unidades;
governos e corporações têm hierarquias de departamentos, subsidiárias
e filiais. O principal benefício da estrutura hierárquica é que, em cada
nível da hierarquia, uma tarefa computacional, missão militar, ou função
administrativa é reduzida a um pequeno número de atividades do
próximo nível abaixo, de modo que o custo computacional de encontrar
a maneira correta de organizar essas atividades para o problema atual é
pequena. Métodos não hierárquicos, por outro lado, reduzem a tarefa a
um grande número de ações individuais; para problemas de grande
escala, isso é completamente impraticável.
(AIMA, 3ª. Ed, Seção 11.2)
Planejamento Hierárquico
• Área de origem: Hierarchical Task Networks
(HTN)
• Conceitos
– Ações primitivas: como no planejamento clássico
– Ação de alto nível (HLA – high level action)
• Possui um ou mais “refinamentos”
– Refinamento
• Sequência de ações, cada uma das quais pode ser uma
ação primitiva ou uma HLA.
Planejamento Hierárquico
• Conceitos
– Implementação de uma HLA
• Refinamento que possui apenas ações primitivas
– Plano de alto nível (High-Level Plan)
• Uma sequência ações (com pelo menos uma HLA)
– Implementação de um plano de alto nível
• Concatenação das implementações de cada ação que o
compõe em sequência
– Um plano de alto nível alcança o objetivo a partir de
um determinado estado se pelo menos uma de suas
implementações alcança o objetivo a partir deste
estado
Biblioteca de Planos
• Uma ideia fundamental é o ganho de
eficiência pelo reuso de planos previamente
construídos
– A partir de experiências passadas...
– É necessário ter poder de generalização
• Passar protetor solar antes de ir à praia, independente
de qual seja o nome da praia...
Planejamento em Jogos
Slides selecionados de “Game Applications of HTN
Planning with State Variables, Dana Nau, Dept. of
Computer Science, and
Institute for Systems Research
University of Maryland
Pyhop - nomemclatura
Pyhop - nomemclatura
Pyhop - nomemclatura
Download

Planejamento Hierárquico