Réseau hiérarchisé de tâches

Un article de Wikipédia, l'encyclopédie libre.

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 | modifier le code]

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 | modifier le code]

Planificateurs HTN[modifier | modifier le code]

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 | modifier le code]

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 | modifier le code]

  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)
    .