Réseau hiérarchisé de tâches

En intelligence artificielle, la planification avec réseaux hiérarchisés de tâches (abrégé en planification HTN pour hierarchical task network) est une approche à la planification automatique où les actions sont structurées[1]. Différemment par rapport à la planification classique, en planification HTN sont introduites des tâches complexes (dites même "hiérarchiques") qui peuvent être découpées en sous-tâches. Cette hiérarchie de tâches permet de décrire le problème de planification à plusieurs niveaux, en partant de tâches plus abstraites pour terminer en des tâches élémentaires directement applicables.

Définition formelle modifier

Un problème de planification HTN est défini par une tuple > 

  •   est un ensemble d'états,
  •   est un ensemble d'actions,
  •   est une fonction de transition qui à un état et une action associe un état t.q.  ,
  •   est l'état initial,
  •   est l'ensemble d'états but.

L'ensemble d'actions   est découpé en

  • actions primitives (ou élémentaires) qui correspondent en tout et pour tout à des actions STRIPS ;
  • actions complexes (ou hiérarchiques ou abstraites) sont définies par un "nom" identificatoire de chaque action, un ensemble de préconditions, un ensemble de méthodes qui correspondent à des actions soit élémentaires qu'abstraites définissant les sous-tâches et des contraintes temporelles les ordonnant.

Exemple modifier

Planificateurs HTN modifier

Voici une liste de planificateurs HTN :

  • Nonlin, un des premiers planificateurs HTN[2]
  • SIPE-2[3]
  • O-Plan[4]
  • UMCP, le premier planificateur HTN prouvé[5]
  • SHOP2, a un planificateur HTN développé à l'University of Maryland, College Park[6]
  • PANDA, un système pour la planification hybride, qui étend la planification HTN développé à l'université d'Ulm, en Allemagne[7]
  • HTNPlan-P, un planificateur HTN basé sur les préférences[8]

Complexité modifier

La planification HTN est indécidable en général, c'est-à-dire qu'il n'existe pas d'algorithme pour planifier un problème HTN dans le cas général[9]. La démonstration d'indécidabilité mentionnée par Erol et al.[9] s'effectue par réduction depuis le problème de savoir si l'intersection de deux langages algébriques est non vide, qui est indécidable.

Des restrictions syntaxiques décidables ont été identifiées[10]. Certaines problèmes HTN peuvent être résolus en les traduisant efficacement en planification classique (en PDDL par exemple)[11].

Notes et références modifier

  1. (en) Erol, K.,, Hendler, J. A. et Nau, D., « UMCP: A Sound and Complete Procedure for Hierarchical Task-network Planning », AIPS, vol. 94,‎ , p. 249-254 (lire en ligne, consulté le )
  2. (en) « Austin Tate's Nonlin Planning System », sur www.aiai.ed.ac.uk.
  3. David E. Wilkins, « SIPE-2: System for Interactive Planning and Execution », Artificial Intelligence Center (en), SRI International (consulté le )
  4. (en) « O-Plan », sur www.aiai.ed.ac.uk.
  5. (en) « UMCP: Universal Method Composition Planner », sur www.cs.umd.edu.
  6. (en) « SHOP2 », sur www.cs.umd.edu.
  7. (en) « PANDA - Planning and Acting in Network Decomposition Architecture », sur www.uni-ulm.de.
  8. (en) Shirin Sohrabi, Jorge A. Baier et Sheila A. McIlraith, « HTN Planning with Preferences », sur www.cs.toronto.edu.
  9. a et b Kutluhan Erol, James Hendler et Dana S. Nau, « Complexity results for htn planning », Springer, vol. 18,‎ , p. 69–93 (lire en ligne, consulté le )
  10. Ron Alford, Pascal Bercher et David Aha « Tight Bounds for HTN Planning » () (lire en ligne, consulté le )
    Proceedings of the 25th International Conference on Automated Planning and Scheduling (ICAPS)
  11. Ron Alford, Ugur Kuter et Dana S. Nau « Translating HTNs to PDDL: A small amount of domain knowledge can go a long way » () (lire en ligne, consulté le )
    Twenty-First International Joint Conference on Artificial Intelligence (IJCAI)
    .