2. Architectures des agents et langages

2.4 Exercices

1. Soit le problème suivant : un agent doit trouver la sortie d'un labyrinthe. L'agent a une position initiale dans le labyrinthe et cherche son chemin vers une de trois sorties possibles.

a) Modélisez ce problème avec un agent réactif ; définissez le comportement de l'agent et les fonctions associées.
b) Modélisez ce problème avec un agent ayant des buts ; définissez le comportement de l'agent, les états, les buts, et les fonctions associées.
c) Modélisez ce problème avec un agent ayant des buts et utilité ; définissez le comportement de l'agent, les états, les buts, l'utilité et les fonctions associées.
d) Choisissez votre modèle favori parmi ceux que vous avez définis, et écrivez un programme pour trouver la sortie du labyrinthe dans un langage de programmation à votre choix.

2. Soit un agent qui peut se déplacer sur une grille et qui doit ramasser des objets qui se trouvent dans certaines cases de la grille. L'agent est capable d'effectuer les actions suivantes : se déplacer vers le haut, vers le bas, vers la gauche, vers la droite, percevoir l'environnement pour voir s'il y a un objet dans la case, et ramasser cet objet. L'agent sait qu'il y a une probabilité de 10% de trouver un objet dans une case de la grille.

a) Modélisez ce problème en utilisant un agent avec utilité et définissez la performance de l'agent.

b) Comment faut-il changer votre modèle si on suppose qu'il y a plusieurs agents dans l'environnement, chaque agent ayant les mêmes capacités que celles décrites ci-dessus ?

3. On a discuté comment modéliser un robot qui fait l'exploration de la planète Mars avec une architecture réactive dans la section 2.2.3.

a) Donnez une définition des règles de comportement de l'agent et définissez la relation d'inhibition pour ces règles. Notez que pour cela il vous faut une représentation des perceptions et des actions de l'agent.
b) Supposons maintenant qu'on ajoute deux autres compétences à notre robot : ramasser des objets intéressants sur la planète (on considère que la perception dont est doté le robot lui permet de distinguer les objets intéressants des autres objets) et emporter ces objets dans la navette spatiale. Redéfinissez l'architecture réactive pour ce cas, détaillez les compétences des nouveaux modules ajoutés, les nouvelles règles de comportement et la relation d'inhibition associée.
c) Pour le cas b) écrivez un programme pour un robot qui ramasse des objets intéressants sur la planète en supposant que la surface de la planète est représentée par une grille. Avant de commencer à écrire le programme, prenez soin de bien choisir les structures de données adéquates pour représenter les perceptions, les actions et les règles de compétence.

4. Choisissez une application que vous connaissez et modélisez-la en termes d'agents. Décidez si vous aller utiliser des agents cognitifs ou réactifs, définissez les perceptions et les actions des agents ainsi que l'architecture associée. Essayez de voir comment vous pouvez détailler l'architecture afin de la rendre la plus adéquate possible à votre application.

5. Soient quatre agents robots Spa, Ren, Pro1 et Pro2. Spa sait assembler des réfrigérateurs, Ren est capable de fournir les pièces nécessaires alors que Pro1 et Pro2 sont responsables de la réception des commandes des réfrigérateurs et peuvent demander à Spa de les produire. Supposons que Spa a besoin de 4 unités de temps pour produire un réfrigérateur et Ren, de 2 unités de temps pour fournir les pièces nécessaires à l'assemblage de 4 réfrigérateurs. à l'instant t0, Pro1 demande à Spa de lui satisfaire une commande de 2 réfrigérateurs alors qu'à l'instant t2 (t0+2) Pro2 demande à Spa 3 réfrigérateurs.

Définissez le comportement de ces quatre agents dans le langage AGENT0 et imaginez comment va se dérouler le programme dans le cas qu'on vient de décrire.

<< Section précédente Table de matières Section suivante >>

Politechnica University of Bucharest - 2002