Redes de Tarefas Hierarquicas – HTN

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.

Deixe um comentário