0.6.2 – Planejamento Hierarquico
0.6.2.1 – Redes de Tarefas Hierarquicas – HTN
dividir para planejar melhor
Planejamento hierárquico decompõe problemas complexos em níveis de abstração progressivamente mais detalhados. Em vez de planejar diretamente com ações primitivas, ele usa ações de alto nível. Por exemplo, uma ação “viajar para Paris” se decompõe em “comprar passagem”, “ir ao aeroporto”, “embarcar”. Essa decomposição continua até atingir ações executáveis diretamente pelo agente. A abordagem reduz drasticamente o espaço de busca comparada ao planejamento clássico. Além disso, permite reutilização de conhecimento: uma vez definida, uma ação pode ser usada em múltiplos contextos. O planejamento hierárquico imita como humanos organizam tarefas complexas.
métodos de decomposição de tarefas
HTN (Hierarchical Task Network) é o formalismo mais conhecido para planejamento hierárquico. Ele utiliza métodos que especificam como decompor tarefas compostas em subtarefas. Cada método tem um nome de tarefa, pré-condições e uma rede de subtarefas ordenadas. Por exemplo, método “viajar-de-carro” pode decompor “ir a cidade” em “pegar chaves”, “entrar carro”, “dirigir”. As pré-condições do método determinam quando essa decomposição é aplicável. Diferente do planejamento clássico, HTN não busca sequência de ações primitivas. Ele busca uma decomposição que respeite as ordenações e restrições entre subtarefas.
exemplo prático: preparar refeição
Considere uma tarefa “preparar jantar” em um sistema de planejamento hierárquico. O método para “preparar jantar” decompõe em “preparar entrada”, “preparar prato principal”, “servir”. Cada uma dessas subtarefas se decompõe ainda mais em ações mais específicas. “Preparar entrada” pode ser “fazer salada”, que se decompõe em “lavar alface”, “cortar tomate”, “misturar”. As pré-condições verificam disponibilidade de ingredientes e utensílios antes de cada decomposição. O planejador resolve conflitos como usar o mesmo forno para dois pratos diferentes. O plano final é uma sequência de ações primitivas executáveis.
vantagens e desafios
O planejamento hierárquico oferece vantagens significativas em termos de eficiência e modularidade. A decomposição em níveis reduz exponencialmente o espaço de busca necessário. Conhecimento especializado pode ser encapsulado em métodos reutilizáveis para diferentes problemas. Além disso, planos hierárquicos são mais compreensíveis para humanos que os planos tradicionais. Contudo, a construção da base de métodos exige engenharia de conhecimento substancial. A interação entre diferentes métodos pode gerar conflitos complexos de resolver. Para iniciantes, o planejamento hierárquico mostra como abstração pode domar a complexidade. Ele revela uma abordagem que combina eficiência computacional com organização intuitiva do conhecimento.
aplicações e legado
Planejamento hierárquico é amplamente utilizado em sistemas reais que exigem coordenação complexa. Assistentes pessoais como Siri e Alexa utilizam planejamento hierárquico para entender comandos compostos. Sistemas de automação industrial planejam tarefas de manufatura com múltiplas etapas. Jogos eletrônicos empregam planejamento hierárquico para controlar personagens não-jogadores. O formalismo SHOP (Simple Hierarchical Ordered Planner) é um implementação eficiente e amplamente utilizada. Para iniciantes, estudar planejamento hierárquico é entender como sistemas lidam com tarefas complexas. Ele demonstra que organização hierárquica do conhecimento é fundamental para planejamento escalável.