2. Architectures des agents et langages
2.1 Structures des agents intelligents
2.1.2 Structure conceptuelle des agents
Agents avec états
Les agents avec états, comme leur nom l'indique, maintiennent
un état interne qui mémorise la séquence des perceptions
de l'agent et, dans certains cas, les actions effectuées par l'agent.
L'agent a besoin de maintenir cet état interne pour faire la distinction
entre des états de l'environnement qui lui semblent identiques
selon la perception qu'il en a, mais qui sont néanmoins différents.
Soit S={s1, s2, …} l'ensemble des états internes
de l'agent. Dans ce cas, les fonctions de l'agent se modifient de la manière
suivante :
- action : S -> A est maintenant définie
sur l'ensemble des états internes de l'agent, ce qui revient
à dire que l'agent décide de l'action à effectuer
en fonction de son état interne ;
- suiv : S x P -> S est une
nouvelle fonction qui modélise le changement de l'état
interne de l'agent en fonction de ses perceptions et de l'état
interne courant ;
- inter : S x P -> I et rinter :
S x I -> A sont modifiées pour montrer que
la décision sur les interactions avec d'autres agents dépend
aussi de l'état interne ;
- voir : E -> P et env
: E x A ->P(E) ne sont pas modifiées.
Agents avec buts
Connaître l'état de l'environnement et la séquence des
perceptions mémorisées dans l'état interne n'est
pas toujours suffisant pour décider quelle est la meilleure action
à effectuer à un moment donné. Au début de
ce chapitre, nous avons dit qu'il fallait associer une mesure de performance
à l'agent. Pour fonctionner d'une manière efficace, l'agent
doit essayer d'obtenir le maximum de performance et il doit donc choisir
ses actions en conséquence.
Il y a plusieurs façons de définir la mesure de performance. Une
première solution est d'indiquer à l'agent ce qu'il doit
faire en toute circonstance pour avoir du succès. C'est le cas
des agents réactifs, où le concepteur définit les
règles condition-action pour chaque cas de perception sur l'environnement.
Toutefois, puisque les agents intelligents sont autonomes et proactifs,
on aimerait n'avoir à dire à notre agent que ce qu'il faut
faire, sans avoir à lui dire exactement comment le faire dans chaque
situation. Dans ce cas, une deuxième solution pour définir
la mesure de performance de l'agent est de fixer des états-but
ou états désirables :
but : E -> {0, 1} est une fonction
qui a la valeur 1 pour les états-but et 0 pour les autres.
Si les états-but sont connus d'avance, on peut définir
l'ensemble B des buts de l'agent, B Ì E. Par exemple,
un robot qui ramasse des objets sur une surface pour les transporter à
la base sait que l'état-but est l'état "parvenir à
la base avec le maximum d'objets". Si les états-but ne sont
pas connus mais que l'on connaît uniquement certaines propriétés
désirables de ces états, alors la fonction but
fait l'évaluation de chaque état pour voir si l'état
possède ou non ces propriétés. Par exemple, si le
robot ne connaît pas d'avance la position de la base mais qu'il peut la
percevoir une fois arrivé près d'elle, le robot doit tester
dans chaque position s'il est près de la base ou pas.
Une troisième solution pour définir la mesure de performance
de l'agent est décrite dans ce qui suit.
Agents avec utilité
La mesure de performance d'un agent peut être définie d'une
manière plus fine en associant à chaque état de l'ensemble
E une valeur réelle, l'utilité, qui mesure la désirabilité
de cet état pour l'agent. On peut voir les états-but comme
un cas particulier des états avec utilité, puisque cela
correspond au cas où l'utilité ne peut prendre que les valeurs
1 et 0. Pour associer une utilité aux états, on introduit
une nouvelle fonction :
utilité : E -> R, où
R est l'ensemble des nombres réels.
La fonction utilité est mieux adaptée que
la fonction but dans deux situations. Premièrement,
si l'agent a des buts contradictoires, par exemple l'agent Pierre veut
aller au cinéma et étudier pour son prochain examen, la
fonction utilité indique le but à choisir.
Deuxièmement, si l'agent agit dans un environnement non déterministe,
il n'est pas toujours certain de pouvoir atteindre ses buts. Dans ce cas,
l'utilité des buts offre un moyen de rapporter la probabilité
de succès à l'importance des buts. En général,
dans un environnement non déterministe, l'agent va souvent avoir
besoin de la fonction utilité pour prendre des décisions
sur les diverses actions à effectuer tout en sachant que les résultats
de ces actions ne sont pas certains.
Dans un environnement non déterministe, env : E
x A ->P(E), le résultat de l'action a,
notamment l'état suivant est un élément du sous-ensemble
env(e,a) qui contient les états suivants possibles après
l'exécution de l'action a dans l'état e de
l'environnement. L'utilité d'un état peut être combinée
avec le résultat probable d'une action pour déterminer l'utilité
attendue d'une action. Avant l'exécution d'une action a,
l'agent associe une probabilité à chaque résultat
possible de cette action, et nous noterons prob(ex(a,e) = e') la
probabilité estimée par l'agent que le résultat de
l'exécution de l'action a dans l'état e sera
l'état e'. On a bien évidemment :
L'utilité attendue d'une action
dans l'état e du point de vue de l'agent est alors calculée
avec la formule :
UA(a,e) =
Le principe de la plus grande utilité
attendue - utilité attendue maximale, en anglais Maximum
Expected Utility (MEU) - dit qu'un agent rationnel devrait choisir l'action
qui lui apporte la plus grande utilité attendue. En pratique, le
calcul des probabilités des résultats possibles d'une action
n'est pas trivial et il nécessite que l'agent ait un modèle
causal de l'environnement. Même si la fonction utilité est
plus utile pour définir la performance d'un agent, il n'est pas
toujours facile de déterminer l'utilité des divers états,
surtout dans le cas où l'agent doit bâtir des plans compliqués
d'actions. Dans les chapitres qui vont suivre, on va voir que les agents
utilisent parfois les buts pour arriver à un comportement rationnel
et à une bonne performance, et parfois l'utilité, par exemple
dans le cas des agents compétitifs modélisés dans
des théories économiques.
Question : Quelle est la différence
entre la mesure de performance d'un agent et la fonction utilité ?
Cliquer
ici pour voir la réponse
|