Red jerárquica de tareas
# Red jerárquica de tareas

La red jerárquica de tareas (denominada también del inglés como: Hierarchical task network o abreviadamente HTN) es un algoritmo de planificación automática que crea un plan por descomposición de tareas en subtareas hasta lograr primitivas que pueden ser ejecutadas directamente. La dependencia entre las acciones se proporciona en forma de red (Network). La descomposición se aplica en cumplimiento de unas precondiciones según una jerarquía.

## Concepto

Las restricciones entre las tareas se expresan mediante redes, a las que se denomina red de tareas. Una red de tareas es un conjunto de tareas ligadas con ciertas restricciones entre ellas. De esta forma se puede decir que una tarea dada es viable sólo si un conjunto de acciones (incluidas en la red) se han realizado cumpliendo con las restricciones existentes entre ellas (especificadas en la red). Una forma particular de representar una red jerárquica de tareas en un formalismo particular es mediante el uso de TÆMS.

## Usos

Los algoritmos HTN proporcionan una forma adecuada de planificar recursos cuando existe de antemano una información jerárquica de la estructura del dominio. Los planificadores similares a HTN (que son los que se emplean en la práctica) poseen las mismas capacidades (son aplicables en los mismos dominios) que STRIPS. Los modelos teóricos sobre los que se fundamenta HTN les hacen más expresivos que STRIPS, pero no puede ser directamente empleado debido a su indecidibilidad.

## Planificadores HTN

Los planificadores HTN independientes de dominio más conocidos son:

* Nonlin, se trata de uno de los primeros sistemas de planificación HTN.
* SIPE-2
* O-Plan
* UMCP, es probablemente el primero más completo HTN de los planificadores.
* SHOP2, un planificador HTN desarrollado en la University of Maryland, College Park.
