Press "Enter" to skip to content

3.6. Planification

Une des caractéristiques majeures d’un système intelligent est qu’il est proactif: il a des buts qui lui sont propres et qu’il poursuit activement. Cela le distingue d’un système purement réactif comme un thermostat qui fonctionne selon un principe stimulus-réponse. Il y a des buts qui se réalisent sans qu’il agisse (comme mon but d’arriver à destination lorsque je suis dans un train), mais en général le système doit intervenir pour atteindre ses objectifs : il doit planifier d’effectuer une ou plusieurs actions qui contribuent à l’obtention de son but.

Dès les débuts de l’intelligence artificielle, la planification joue un rôle central. Pendant longtemps l’attention portait sur la planification classique: étant donné un état initial A, un but à atteindre B et un ensemble d’actions possibles, est-ce qu’il existe une suite d’actions menant de A à B? Il s’agit d’un problème difficile et plusieurs hypothèses sont faites afin de le simplifier: les actions sont déterministes (excluant par exemple l’action de lancer un dé), prennent exactement une unité de temps, et l’environnement (y compris les autres agents) n’intervient pas. Même sous ces restrictions la complexité* du problème de décider s’il existe un plan ou non est très élevée. Malgré la difficulté computationnelle inhérente, l’efficacité des algorithmes de planification s’est améliorée de manière spectaculaire, et lors des compétitions annuelles les meilleurs planificateurs réussissent à résoudre des benchmarks* avec plusieurs milliers de variables.

Grâce à ces succès, de plus en plus de chercheurs ont commencé à relâcher les hypothèses de la planification classique et ont considéré des variantes comme des actions temporellement étendues ou des systèmes à plusieurs agents. L’une des dernières extensions, particulièrement intéressante couvre en particulier des situations où il faut raisonner sur les connaissances* des agents, y compris des meta-connaissances* (des connaissances à propos des connaissances d’autres agents, du type “Je pense que Bruno pense que la fenêtre est ouverte”) et plus généralement des connaissances d’ordre supérieur. Il s’agit alors de planification épistémique* qui a des applications par exemple en robotique sociale, où il faut pouvoir se mettre à la place d’un autre agent.