Redes de Tarefas Hierarquicas – HTN

filósofo
0.6 – Planejamento
0.6.2 – Planejamento Hierarquico
0.6.2.1 – Redes de Tarefas Hierarquicas – HTN
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

o que são redes de tarefas hierárquicas

HTN (Hierarchical Task Networks) é um formalismo para planejamento que utiliza decomposição de tarefas. Diferente do planejamento clássico, que busca sequências de ações primitivas, HTN parte de tarefas compostas. Primeiramente, o sistema possui uma biblioteca de métodos que especificam como decompor cada tarefa composta. Por exemplo, a tarefa “viajar” pode ser decomposta em “escolher transporte”, “comprar passagem”, “embarcar”. Além disso, o planejador continua decompondo até obter apenas tarefas primitivas executáveis. Dessa forma, essa abordagem reflete como especialistas humanos pensam sobre problemas complexos. Consequentemente, HTN é amplamente utilizado em sistemas que exigem planejamento eficiente e estruturado.

componentes de um sistema htn

Um sistema HTN possui três componentes principais que trabalham em conjunto. As tarefas primitivas representam ações diretamente executáveis pelo agente no mundo. Por outro lado, as tarefas compostas representam atividades de alto nível que requerem decomposição. Além disso, os métodos definem como cada tarefa composta pode ser decomposta em subtarefas. Cada método possui um nome de tarefa, pré-condições e uma rede de subtarefas ordenadas. Por exemplo, método “viajar-de-carro” pode ter pré-condição “possui_carro”. Sua rede de subtarefas pode incluir “pegar_chaves”, “entrar_carro”, “dirigir”. Portanto, essa estrutura captura conhecimento sobre como realizar tarefas complexas.

exemplo prático: preparar refeição

Considere um sistema HTN para planejamento de refeições em uma cozinha. A tarefa composta “preparar_jantar” possui métodos como “jantar_simples” e “jantar_elaborado”. Primeiramente, o método “jantar_simples” decompõe em “preparar_prato_único” e “servir”. Em seguida, “preparar_prato_único” decompõe em ações primitivas como “aquecer_forno”, “temperar_comida”. Além disso, as pré-condições verificam ingredientes disponíveis antes de escolher um método. Por exemplo, “jantar_simples” requer que haja ingredientes para um prato principal. Dessa forma, o planejador escolhe métodos cujas pré-condições são satisfeitas no estado atual. Consequentemente, o resultado é um plano hierárquico com ações executáveis.

algoritmos de planejamento htn

Algoritmos HTN utilizam busca na estrutura hierárquica para construir planos completos. O algoritmo forward HTN começa com a tarefa inicial e aplica métodos recursivamente. Para cada tarefa composta, ele seleciona um método aplicável dentre os disponíveis. Em seguida, aplica o método, expandindo suas subtarefas na ordem especificada pela rede. Quando encontra uma tarefa primitiva, verifica se ela pode ser executada no estado atual. Se alguma subtarefa falha, o algoritmo retrocede e tenta métodos alternativos. Por fim, esse processo continua até que todas as tarefas sejam resolvidas como primitivas.

vantagens e aplicações do htn

HTN oferece vantagens significativas para domínios onde conhecimento especializado está disponível. Primeiramente, a decomposição hierárquica reduz drasticamente o espaço de busca comparado ao planejamento clássico. Além disso, os planos gerados tendem a ser mais compreensíveis para humanos especialistas. Sistemas militares utilizam HTN para planejamento tático e logístico em operações complexas. Jogos eletrônicos também empregam HTN para controlar personagens não-jogadores com comportamentos realistas. Assistentes pessoais utilizam HTN para entender e executar comandos compostos dos usuários. Para iniciantes, HTN demonstra como conhecimento estruturado pode guiar planejamento eficiente. Por fim, é uma abordagem que combina poder expressivo com desempenho prático.

Planejamento Hierarquico

filósofo
0.6 – Planejamento
0.6.2 – Planejamento Hierarquico
0.6.2.1 – Redes de Tarefas Hierarquicas – HTN
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

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.