2. Architectures des agents et langages
2.1 Structures des agents intelligents
2.1.2 Structure conceptuelle des agents
Un agent est situé dans un environnement. Pour modéliser
la structure de l'agent il faut avoir un modèle de l'environnement.
L'environnement peut être vu comme étant dans un état
e parmi un ensemble d'états E={e1, ..,
e, ..} L'environnement peut changer son état soit d'une manière
spontanée soit comme résultat des actions de l'agent.
L'évolution de l'environnement se modélise différemment
selon les caractéristiques que l'on prend en compte, et les simplifications
que l'on s'autorise. Les principales distinctions à faire sur les
types d'environnements sont :
- Environnement accessible ou inaccessible. Un environnement
est accessible à l'agent si l'agent peut percevoir entièrement
l'état de l'environnement ou, au moins, tous les traits de l'environnement
qui sont significatifs du point de vue des actions de l'agent. Sinon,
l'environnement est inaccessible.
- Environnement déterministe ou non déterministe.
Si l'état suivant de l'environnement est déterminé
d'une manière unique par l'état courant et l'action de
l'agent, alors l'environnement est déterministe. Si le résultat
est incertain, notamment si, par suite d'une action de l'agent, l'environnement
peut évoluer de différentes manières, alors on
est dans le cas non déterministe.
- Environnement statique ou dynamique. Si l'environnement ne
peut pas changer d'état sans l'intervention de l'agent, on est
dans le cas statique. L'environnement est dynamique si son état
peut se modifier sans l'action de l'agent dans l'intervalle de temps
entre deux perceptions de l'agent.
- Environnement discret ou continu. Si tout passage d'un état
de l'environnement à un autre nécessite le passage par
une séquence d'états intermédiaires, alors on a
un environnement continu ; sinon, l'environnement est discret.
Les caractéristiques de l'environnement influencent la façon dont
on conçoit un agent car il faut tenir compte de l'évolution de
l'environnement, de la capacité de l'agent de saisir cette évolution
et de sa capacité à décider en conséquence.
Par exemple, si on a plusieurs agents qui agissent dans un même
environnement, chaque agent va percevoir l'environnement comme dynamique
et non déterministe, car l'état de l'environnement changera
en raison des actions des autres agents, et une même action exécutée
dans un certain état aura des résultats différents
en fonction des actions de ces autres agents.
Nous revenons maintenant à la modélisation des agents :
nous commençons par définir une structure simple, puis nous développerons
cette structure vers des structures agents plus élaborées.
Au niveau abstrait, on peut identifier quatre types d'agents :
- agents réactifs
- agents avec états
- agents avec buts
- agents avec utilité
Agents réactifs
Dans le premier chapitre, on a décrit d'une manière informelle
les agents réactifs comme des entités simples basées
sur des règles condition-action qui associent des actions aux perceptions
de l'environnement. Maintenant, pour modéliser nos agents, on considère
plusieurs fonctions :
- voir : E -> P est la fonction qui décrive
la capacité d'observation de l'environnement, où E est
l'ensemble d'états de l'environnement et P est l'ensemble des
perceptions de l'agent ;
- action : P -> A est la fonction
qui représente le processus de décision de l'agent :
elle détermine quelle action aÎA (A étant l'ensemble des
actions disponibles pour l'agent) l'agent choisit en fonction de la
perception pÎP qu'il a sur son environnement ;
- env : E x A ->P(E) est
la fonction qui décrit l'évolution de l'environnement ;
pour un état eÎE et une action aÎA de l'agent, l'environnement
peut modifier son état dans un des états d'un sous-ensemble
Ee,a ÍP(E), ou P(E) est l'ensemble des sous-ensembles de
E.
Question : Quelles sont les
suppositions faites sur l'environnement par une telle définition
de la fonction env ?
Cliquer
ici pour voir la réponse
La structure d'un agent réactif, avec les composantes principales
et les fonctions ainsi définies, est représentée
dans la figure 1. Il faut noter que, au niveau très général,
cette structure correspond aussi aux autres types des agents intelligents,
que nous allons définir dans ce qui suit, sauf que chaque composante
sera plus développée, ayant sa propre structure.
Figure 1. Structure générale
d'un agent
Si on considère plusieurs agents dans l'environnement, chacun
d'eux étant doté de la structure définie ci-dessus,
la situation est celle représentée figure 2. Dans ce cas,
l'évolution de l'environnement se fait toujours par la fonction
env, sauf qu'il y a plusieurs agents qui interagissent avec
l'environnement :
- env : E x A1 x … An ->P(E),
Aj, j =1..n étant l'ensemble des actions disponibles
à l'agent j.
Figure 2. Structure générale
d'un agent dans un système multi-agents
On voit dans la figure 2 qu'un agent interagit uniquement avec l'environnement.
En général, les agents réactifs se comportent de
cette manière. Mais les agents intelligents peuvent aussi interagir
avec les autres agents du système, cette interaction définissant
la dimension sociale des agents. Mêmes les agents réactifs
peuvent parfois interagir, d'une manière directe ou indirecte,
avec les autres agents du système. L'interaction des agents peut
être définie comme une spécialisation des fonctions
action et voir définies précédemment.
On ajoute alors deux autres fonctions à notre modèle :
- inter : P -> I est la fonction
qui représente la décision de l'agent concernant son interaction
avec un autre agent, où I est l'ensemble des interactions disponibles
pour l'agent et iÎI est l'interaction que l'agent choisit (par exemple
un message) en fonction d'une perception pÎP qu'il a de l'environnement ;
- rinter : I -> A est la fonction
qui décrit la réaction de l'agent, notamment l'action
décidée par l'agent, à une interaction transmise
par un autre agent.
La nouvelle structure, ainsi augmentée, est présentée
dans la figure 3.
Figure 3. Structure générale
d'un agent qui interagit avec d'autres agents
Il faut noter que la structure présentée dans la figure
3 caractérise les agents intelligents en général,
et que la composante interaction avec d'autres agents n'est pas souvent
présente dans le cas des agents réactifs. Ce qu'il faut
retenir est que cette structure définit aussi les autres types
d'agents que nous allons discuter dans ce qui suit.
|