Projet CoCoA

Exemple : Retrouver la princesse

Cette applet permet d'illustrer le fonctionnement d'un agent cognitif dans un cadre contraint mais dynamique. Contrairement aux agents réactifs, les agents cognitifs planifient leurs actions avant de les exécuter. Cette applet permet de voir évoluer le cerveau du personnage selon ses objectifs.

Dans tous les cas, l'objectif initial de l'agent chevalier est toujours d'aller rejoindre la princesse. L'environnement est constitué de pièces auxquelles on peut accéder par des portes. Ces portes peuvent être soit ouvertes, soit fermées, soit verrouillées. Dans ce dernier cas, les clés permettant de les déverrouiller peuvent être placées n'importe où. Tant qu'il n'est pas passé à proximité d'une porte, l'agent ne sait pas si celle-ci est ouverte ou fermée ni même avec quelle clé l'ouvrir. En situation de recherche, le chevalier préfère explorer les couloirs proches que d'essayer de franchir une porte (qui peut s'avérer difficile à ouvrir).

La planification est ici très simple. Elle se base sur une pile dans laquelle l'agent empile ses buts successifs. La fenêtre de droite permet de visualiser son état de réflexion (une planification de type arbre de buts Et/Ou est évidemment possible mais beaucoup plus coûteuse puisqu'elle oblige à prendre en compte tous les cas possibles dans un même raisonnement). Au départ seul aller vers la princesse est empilé. Au fur et à mesure des difficultés et découvertes que rencontre le personnage, il empile de nouveaux buts. Bien sur, pour supprimer un but du haut de la pile, il faut qu'il soit satisfait. Quelques options sont disponibles pour modifier son raisonnement :

Comportement
  • Optimiste : Les calculs de chemins sont faits en considérant que les portes dont l'état est encore inconnu sont ouvertes.
  • Pessimiste : Il considère que les portes de statut inconnu sont fermées et qu'il ne pourra donc pas passer par la.
Vision
  • Omnisciente : Il connaît dès le début l'ensemble de la carte avec l'emplacement de tous les objets (portes, clés, princesse). La seule chose qu'il ignore c'est l'état des portes (verrouillées ou non).
  • Partielle : Il ne connaît que ce qu'il a vu. Il ne connaît donc ni la carte ni les emplacements des portes et clés. Il ne peut calculer son chemin que sur la partie de carte déjà explorée.
Pile de buts
  • Rigide : Les objectifs sont empilés les uns au dessus des autres. Un objectif en haut de la pile ne s'efface que quand il est réalisé. Ceci implique par exemple que si pour trouver la princesse, il lui faut la clé rouge, et que pour trouver la clé rouge il passe devant la princesse, il continue néanmoins à chercher la clé sans s'arrêter.
  • Intelligent : A chaque nouvelle information obtenue (état d'une porte ou découverte d'un objet), l'ensemble des buts est parcouru et tout but au dessus d'un but satisfait est alors supprimé.
Opportunisme
  • opportuniste : Le personnage cherche à ramasser tout ce qui passe dans son champs de vision. Concrètement, dès qu'il voit une clé, il la prend, indépendamment de son utilité.
  • Non opportuniste : Il ne prend les clés que si elles ont une utilité pour lui.

Vous voici avec entre les mains un personnage capable de suivre 16 comportements différents. A vous de voir maintenant si vous raisonnez aussi bien que lui ! Dans chaque situation posez vous la question : Que doit-il faire maintenant ?

Pour profiter pleinement de l'applet la résolution de votre écran doit être supérieure à 775 pixels de large par 560 pixels de haut.

Votre navigateur ne gère pas les applets JAVA.

En cas cas de problème avec les Applets sous Micro$oft Windows il est possible d'essayer la méthode suivante :

  1. Aller sur http://www.java.com/fr
  2. Cliquer sur Java Software Download
  3. Cliquer ensuite sur Windows (intallation XPI)
  4. Répondre aux questions classiques
  5. Comme toujours sous Micro$oft Windows après ça il faut enfin redémarrer l'ordinateur.