2. Architectures des agents et langages
2.2 Architectures des agents intelligents
2.2.1 Intelligence artificielle et théorie de la décision
Dans la communauté des agents artificiels, le comportement
rationnel, notamment l'action vers l'accomplissement des buts, a été
le sujet d'étude aussi bien en intelligence artificielle
qu'en théorie de la décision. En intelligence artificielle,
les chercheurs ont étudié ce comportement rationnel surtout
du point de vue des modalités par lesquelles les agents atteignent
leurs buts, et ils se sont particulièrement intéressés
aux problèmes de planification : quelles sont les actions
à effectuer pour arriver à un certain but ? Cette approche
est aussi connue comme "raisonnement orienté modalité".
En théorie de la décision, le principal point d'intérêt
a été un peu différent : lorsqu'un agent connaît
les alternatives permettant de réaliser ses buts, comment doit-il
les évaluer afin de choisir la meilleure voie à suivre ?
Ce choix devrait être fait en fonction des utilités associées
par l'agent aux divers états désirables.
Il est certain qu'un agent rationnel doit prendre en compte les deux
aspects :
- les modalités ou actions pour atteindre ses buts et
- le choix des actions qui peuvent lui apporter la plus grande utilité.
En même temps, il faut tenir compte du fait que, dans une application
réelle, l'agent a un temps limité pour réaliser ses
buts. Dans un modèle théorique, un agent peut passer autant
de temps qu'il sera nécessaire à évaluer diverses
actions possibles ; mais en réalité le temps dont l'agent
dispose pour choisir la meilleure action est fini. On dit que l'agent
est limité du point de vue ressources, où, par
ressources, on comprend le temps de calcul et/ou la capacité de
la mémoire de l'ordinateur. Par conséquent, un agent artificiel
conçu pour une application réelle doit trouver le juste équilibre
entre le temps passé à décider entre actions compétitives
et le temps mis à effectuer ces actions.
Même si on ignore le problème du choix des actions les plus
désirables, si l'agent développe un plan dans un environnement,
il est bien possible que les conditions de l'environnement au moment où
le plan a été fait soient différentes de celles qui
règneront au moment où le plan sera exécuté.
Par exemple, l'environnement est non déterministe et comprend plusieurs
agents ; chaque agent agit et modifie, d'une façon ou d'une autre,
l'environnement. Ce problème est toujours lié aux ressources
limitées de l'agent, car l'agent a besoin d'un certain temps pour
établir son plan d'action et, pendant ce temps, l'environnement
peut changer. Dans ce cas, est-ce que l'agent doit toujours vérifier,
avant d'effectuer une action, si les conditions de l'environnement ont
changé ? Et si oui, doit-il refaire son plan à chaque
fois ? On rencontre alors le même problème : trouver
un juste équilibre entre planification et replanification, et faire
des suppositions sur l'état de l'environnement.
Il est difficile de trouver une juste réponse à tous ces
problèmes. L'architecture BDI qui sera décrite dans la section
suivante semble avoir les qualités nécessaires pour être
un bon candidat. L'architecture BDI s'est d'ailleurs avérée
comme l'une des architectures favorites dans la communauté des
agents intelligents et des systèmes multi-agents.
Il faut noter que les aspects que l'on vient de discuter sont spécifiques
aux agents cognitifs, notamment aux agents avec états, buts et,
le cas échéant, avec utilité. Les agents réactifs
n'ont pas à planifier leurs actions ni à choisir parmi des
états désirables car, comme il a été dit dans
le premier chapitre, leur intelligence émerge de l'interaction
de leurs simples actions sur l'environnement. Par contre, quand on discute
de l'architecture des agents, on peut parler aussi bien d'architectures
d'agents cognitifs que réactifs.
Avant de commencer à présenter des architectures, il faut
définir ce qu'on entend par architecture d'un agent. Même
s'il n'y a pas consensus sur ce point, on peut dire que l'architecture
d'un agent est une description de son organisation interne :
les données et les connaissances de l'agent, les opérations
qui peuvent être effectuées sur ses composantes et le flux
de contrôle des opérations. Le choix d'une architecture ou
d'une autre est, bien sûr, lié à la structure conceptuelle
de l'agent, décrite dans la section précédente, et
représente la décision du concepteur sur la façon de bâtir
l'agent artificiel. Les figures de la section précédente,
qui décrivent la structure des divers types d'agent, sont des exemples
d'architecture d'agents, bien qu'à un niveau de description très
général. Nous allons voir dans ce qui suit des exemples
d'architectures d'agents plus détaillées, et étudier
d'une manière systématique leur fonctionnement.
|