Planification (intelligence artificielle)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

La planification (Automated planning) est une discipline de l'intelligence artificielle qui vise le développement d'algorithmes pour produire des plans (en d'autre termes, une planification), typiquement pour l'exécution par un robot ou tout autre agent. Les logiciels de planification qui incorporent ces algorithmes se nomment planificateurs.

Un planificateur typique manipule trois entrées (toutes codées dans un langage formel tel que STRIPS qui utilise des prédicats logiques) :

  • une description de l'état initial d'un monde,
  • une description d'un but à atteindre et
  • un ensemble d'actions possibles (parfois appelés opérateurs)

Chaque action spécifie généralement des préconditions qui doivent être présentes dans l'état actuel pour qu'elle puisse être appliquée, et des postconditions (effets sur l'état actuel).

La difficulté du problème de planification dépend des hypothèses de simplification qu'on prend pour acquis, par exemple un temps atomique, un temps déterministe, une observabilité complète, etc.

Le problème de planification classique[modifier | modifier le code]

Les planificateurs classiques prennent pour acquis que toutes ces hypothèses tiennent. Ils ont été étudiés en profondeur. Quelques techniques populaires sont

  • la recherche avant dans un espace d'états,
  • la recherche arrière dans un espace d'états,
  • la recherche avant dans un espace de plans, graphplan, et
  • la transformation vers un problème de satisfiabilité de propositions.

L'algorithme A* est un exemple typique d'algorithme de planification classique, souvent employé dans les cours d'introduction pour sa simplicité.

Planification pratique[modifier | modifier le code]

En pratique, on ne vérife que très rarement les hypothèses de la planification classique. C'est pourquoi bon nombre d'extensions ont vu le jour.

Le problème de planification non déterministe[modifier | modifier le code]

Si l'hypothèse du déterminisme est abandonnée et un modèle probabiliste de l'incertitude est adopté, alors ceci mène au problème de la génération de politique (ou stratégie) pour un Processus de décision markovien (MDP) ou (dans le cas général) un Processus de décision markovien partiellement observable (POMDP).

Planification non linéaire[modifier | modifier le code]

La planification classique résout les sous-buts dans un ordre donné. Le problème est que cela amène parfois à détruire ce qui a déjà été construit. Ce phénomène est connu sous le nom d'anomalie de Sussman.

Supposons qu'un individu pieds nus doive se retrouver dans l'état ou il porte sa chaussure droite, sa chaussure gauche, sa chaussette droite et sa chaussette gauche. S'il cherche à réaliser les buts dans l'ordre de l'énoncé, il échouera.

Pour résoudre ce type de problème, on peut passer à des plans partiellement ordonnés dans lesquels l'ordre entre les actions n'est fixé que lorsque c'est nécessaire (engagement au plus tard ou least commitment planning).

Dans l'exemple précédent, mettre la chaussure gauche doit se faire après avoir mis la chaussette gauche. Idem pour la droite. En revanche l'exécution du plan pour la gauche est indépendante de l'exécution pour la droite. Le plan global est donc partiellement ordonné.

Les planificateurs capable de gérer cette catégorie de problème sont dits à ordre partiel (POP, NOAH, etc).

Planification hiérarchique[modifier | modifier le code]

Certains problèmes sont difficilement solubles en l'état du fait de leur complexité. On peut gagner en efficacité en effectuant une abstraction des détails et en changeant la granularité des opérateurs de planification. On peut par exemple commencer à planifier à haut niveau puis descendre dans le détail au besoin (comme le fait ABSTRIPS par exemple).

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • Algorithmique de la planification en IA, Pierre Régnier, Editions Cépaduès, ISBN 2-85428-658-8
  • (en) Automated planning", 2004, Malik Ghallab, Dana nau et Paolo Traverso, Morgan Kaufman, ISBN 1-55860-856-7
  • (en) Michael R. Genesereth and Nils J. Nilsson, Logical Foundations of Artificial Intelligence, Morgan Kaufmann,‎ 1987 [détail de l’édition], chap. 12 Planning, pp. 285-306

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Quelques planificateurs
Autres ressources
  • AIPS Conférences internationales sur les Systèmes de Planification en Intelligence Artificielle au cours de laquelle se déroulent des compétitions de planificateurs.
  • PDDL (Planning Domain Description Language) qui est un langage utilisé pour décrire des domaines et des problèmes de planification. Utilisé en compétition, il est modulaire et supporté (en partie) par bon nombre de planificateurs.