• Aucun résultat trouvé

Les systèmes de planification

Dans le document Les systèmes de connaissances (Page 81-83)

Aspects fonctionnels

5.2.2. Les systèmes de planification

La résolution de problèmes, telle que l'envisage GPS, est en fait assez particulière. Elle consiste à déterminer une suite d'opérations connues, qui permet de passer d'un état initial à un état final. C'est ce qu'on appelle la génération de plan d'action ou planification. Comme on l'a vu, GPS est un modèle de planification assez simple. De nombreux travaux se sont ensuite développés pour sophistiquer ce modèle, et ont été appliqués essentiellement dans le domaine de la robotique avec comme problème type à résoudre le problème appelé le "monde de cubes" : des cubes différents sont empilés d'une certaine manière (état initial) et un robot doit les disposer d'une autre manière (état final) en utilisant des opérations élémentaires de préhension, dépilement et empilement (on voit qu'on est loin des problèmes généraux au sens intuitif !).

S'arrêter aux feux V > 0 G > 0 V = 0 G = 0 V > 0 G > 0 S'arrêter en douceur S'arrêter brusquement V = 0 G = 0 V > 0 G > 0 Ralentir Accélérer Ralentir G < 0 S'arrêter Piler V = 0 G = 0

Figure 5.5. Planification hiérarchique

Le premier type de système de planification réalisé a été STRIPS (Stanford Research Institute Problem Solver), écrit par Fikes et Nilson en 1971 [Fikes 71]. Basé sur les mêmes idées que GPS, des différences notables peuvent y être cependant remarquées. En premier lieu, les opérations, décrites très simplement dans GPS deviennent plus complexes dans STRIPS, où on voit apparaître pour la première fois la notion de tâche. Un opérateur dans STRIPS est associé à une tâche ou une action, il possède des préconditions. Par exemple, pour l'action "prendre une boite", une précondition est "être près de la boite", ou encore "Il n'y a rien sur la boite". La liste des préconditions de STRIPS est différente de la liste de conditions de GPS dans le sens où, dans GPS, elle est principalement utilisée pour sélectionner les opérateurs utilisables, alors que dans le cadre de STRIPS la vérification d'une précondition peut aboutir au déclenchement d'une tâche ayant pour objectif de vérifier une ou plusieurs de ces préconditions. Par contre les listes de modifications de l'environnement liées à un opérateur ont des fonctions identiques au modèle GPS, l'une permet de retrancher des éléments de la description du monde du robot, l'autre d'y en ajouter. La stratégie de STRIPS est légèrement différente de celle de GPS car si ce dernier essaye de trouver une solution en réduisant la différence qui existe entre l'état dans lequel il se trouve, et l'état qu'il veut atteindre, STRIPS lui, fonctionne en partant d'un but (problème à résoudre) et connaissant les opérateurs qui le réalisent, essaie de vérifier si l'opérateur est applicable par le biais de ses préconditions. Ceci aboutit alors à la reformulation du problème initial en un problème plus élémentaire. Les reproches que l'on peut faire à STRIPS sont pratiquement les mêmes que ceux faits à GPS, excepté pour le contrôle assuré par les préconditions.

Le second type de système de planification réalisé a été NOAH (Network of Action Hierarchies), écrit par Sacerdoti en 1975 [Sacerdoti 77]. Ce programme utilise le principe de la planification hiérarchique. Il se démarque de STRIPS et de GPS car il permet une recherche et une décomposition de façon hiérarchique. La stratégie est donc nettement différente de celles rencontrées dans les programmes précédents. Il établit tout d'abord un plan de haut niveau à la manière de STRIPS (reformulation du problème initial en un ou plusieurs problèmes plus élémentaires) puis récursivement traite les éléments de ce plan qui sont à leur tour décomposables en sous-problèmes, et ce jusqu'à ce que les problèmes à traiter soient solubles par des tâches élémentaires dont toutes les préconditions sont vérifiées. Le résultat fourni par la résolution d'un problème avec NOAH est un plan étendu dans lequel l'exécution n'est plus forcément linéaire comme dans les précédents modèles. Dans ces derniers on établissait un plan hiérarchique ou linéaire, mais l'exécution de ce plan était vue comme une séquence (donc quelque chose de linéaire) d'opérateurs à appliquer à un environnement, ce qui permettait d'atteindre l'objectif fixé. Dans NOAH, la démarche est toute autre.

Dans un premier temps, on part d'un but principal à atteindre de façon similaire à GPS, puis on développe ce but principal à l'aide de fonctions d'expansion qui lui sont attachées. Ces fonctions permettent d'étendre ce but en un réseau de procédures constituant à leur tour des sous-buts plus élémentaires. Dans le plan ainsi obtenu, les tâches qui ne possèdent pas de contraintes d'ordonnancement sont placées en parallèle. NOAH applique ce schéma récursif jusqu'au niveau de précision désiré par l'utilisateur. On reprend pour illustrer l'exemple de l'arrêt aux feux de circulation, avec plusieurs conduites possibles pour plusieurs véhicules (Figure 5.5).

Ensuite dans un second temps, le système vérifie à l'aide de procédures appelées "critiques" s'il n'existe pas de problèmes de conflits provenant de préconditions (contraintes temporelles d'exécution ou autres) attachées aux procédures. Ceci permet la détection d'éventuelles incohérences. On peut imaginer par exemple qu'il y ait incompatibilité entre des véhicules qui s'arrêtent et des véhicules qui pilent, les premiers devant effectuer leur manœuvre impérativement avant les seconds sous peine de collision. En introduisant cette condition en termes de préconditions, d'ajouts ou de retraits, le réseau va alors être modifié pour tenir compte de cette contrainte d'ordonnancement (Figure 5.6).

Le principal problème d'une telle modélisation est le choix de la fonction d'expansion, du but en sous- buts, ce choix doit faire appel comme pour les modèles précédents, à des mécanismes de prise de décisions qui doivent permettre de choisir telle ou telle fonction d'expansion en tenant compte de critères ou d'arguments de poids différents. Sa structure hiérarchique permet de répondre, au besoin, de fournir des plans dont le détail peut être adapté en fonction de l'expérience et des connaissances de l'utilisateur. De par cette capacité, NOAH fournit un outil très intéressant pour la formation. Il se transforme alors en un véritable instructeur qui peut guider l'utilisateur quel que soit son niveau et ce, de façon très efficace. Cela permet au système de donner des instructions très générales à une personne qualifiée, et des instructions plus détaillées à une personne moins spécialisée. Par exemple il peut dire "démonter le moteur de telle voiture" à un mécanicien confirmé, alors que pour un apprenti, il lui faudra donner la séquence des opérations de démontage nécessaire à la dépose du moteur.

V > 0 G > 0 Ralentir Accélérer Ralentir G < 0 S'arrêter Piler V = 0 G = 0

Figure 5.6. Plan d'action après la vérification des contraintes d'ordonnancement

Le thème de la résolution de problèmes, qui voulait dans GPS modéliser les mécanismes intellectuels de traitement de la connaissance, a donc fortement évolué dans les systèmes de planification qui ont suivi. La validité psychologique a été largement abandonnée au profit d'une opérationnalité et d'une formalisation accrue. Des différentes évolutions, quelques concepts forts sont apparus : la notion d'opérateurs s'est complexifiée pour donner une notion plus proche des tâches cognitives comme on en parlera plus loin. Ces tâches sont organisées en plans qui décrivent leur succession dans la résolution de problèmes. Ces plans ne se décrivent pas comme une simple suite linéaire d'opérations, mais peuvent contenir des actions qui peuvent être exécutées en parallèle (planification non linéaire). De plus, ces plans peuvent être hiérarchisés, c’est-à-dire qu'une action peut être

décomposée en un autre plan d'action, ceci jusqu'au degré de raffinement choisi (planification hiérarchique). On obtient bien ainsi une représentation formelle et "automatisable" relativement complexe d'une méthode générique de résolution de problèmes.

Cependant, si cette méthode est bien adaptée pour résoudre certains problèmes (en robotique, par exemple), on est loin du compte quant à une modélisation psychologique telle que l'ambitionnaient Newell et Simon. L'évolution des méthodes ne permet plus, pour l'instant, de les spécifier en termes de stratégies compréhensibles cognitivement, comme cela a été fait simplement par exemple dans la figure 5.4. Au contraire, les méthodes sont spécifiées dans une algorithmique de plus en plus compliquée, ou axiomatisées dans des logiques très formelles (cf.. par exemple [Chapman 87]). De plus, beaucoup d'aspects, mis en exergue depuis par des travaux de psychologie cognitive ou d'intelligence artificielle sont ignorés, tels que la stratégie d'exécution des plans d'actions, la difficulté de modéliser par états un domaine réel (la réalité est loin du monde des cubes!), les processus de décision bien plus complexes que celui proposé à partir des préconditions, l'élaboration du plan d'actions au fur et à mesure de son déroulement et non pas a priori, etc.

Dans le document Les systèmes de connaissances (Page 81-83)