2. Architectures des agents et langages
2.2 Architectures des agents intelligents
2.2.4 Architecture hybride
Une architecture hybride d'un agent intelligent est une architecture
composée d'un ensemble de modules organisés dans une hiérarchie,
chaque module étant soit une composante cognitive avec représentation
symbolique des connaissances et capacités de raisonnement, soit
une composante réactive. De cette manière, on combine le
comportement pro-actif de l'agent, dirigé par les buts, avec un
comportement réactif aux changements de l'environnement. En plus,
on espère obtenir simultanément les avantages des architectures
cognitives et réactives, tout en éliminant leurs limitations.
Plusieurs architectures hybrides ont été conçues et utilisées.
Une des architectures hybrides les plus connues est celle du système
InteRRaP ("Integration of Reactive Behavior and Rational
Planning" = Intégration du comportement réactif et
planification rationnelle). L'architecture InteRRaP est une architecture
en couches avec des couches verticales où les données
d'entrée, notamment les perceptions, passent d'une couche à
l'autre, comme on le voit sur la figure 6. En cela, elle est un peu différente
de l'architecture de subsomption qui est une architecture en couches
horizontales, où les perceptions sont transmises directement
à toutes les couches à la fois (figure 5).
Figure 6. Architecture hybride
en couches verticales
Un agent InteRRaP est un agent BDI qui a des buts à atteindre
(les buts sont les mêmes que les désirs) et qui est capable
de coopérer avec d'autres agents InteRRaP pour accomplir ces buts.
Les buts d'un agent sont divisés en trois catégories :
- réactions : ce sont des buts simples à accomplir
en fonction des perceptions sur l'environnement ;
- buts locaux : ce sont des buts que l'agent peut accomplir
par lui-même ;
- buts coopératifs : ce sont les buts qui peuvent
être accomplis uniquement par une coopération avec d'autres
agents dans le système.
Il est intéressant d'observer que, dans cette conception, la réactivité
de l'agent est conçue toujours comme un but, c'est-à-dire au niveau
cognitif, mais comme un but très simple à réaliser.
L'architecture InteRRaP est composée de trois
couches de contrôle et trois
bases de connaissances associées qui représentent
l'agent et l'environnement à divers niveaux d'abstraction, comme
il est indiqué figure 7. Chaque couche a un ensemble d'opérations
spécifiques associées et une couche supérieure utilise
les opérations plus simples de la couche d'au-dessus pour exécuter
ses opérations plus élaborées. Le flux de contrôle
passe de bas en haut, et une couche prend le contrôle lorsque la
couche antérieure ne peut plus contribuer, par ses opérations,
à l'accomplissement des buts. Chaque couche comprend deux modules:
un module pour l'activation desbuts et la reconnaissance des situations
(AR) et un module de planification et d'exécution
(PE). Les perceptions sur l'environnement sont transmises au module
AR de la première couche et, de module en module, vers le
sommet de la hiérarchie. Le flux de contrôle des actions
passe de haut en bas pour arriver à la fin au module PE
de la dernière couche, et les actions associées sont exécutées
sur l'environnement.
La base de connaissances BC-Monde représente l'information
que l'agent possède sur l'environnement (croyances sur l'environnement),
la base de connaissances BC-Planification est équivalente
à la bibliothèque des plans d'une architecture BDI ;
enfin, BC-Sociale représente les croyances de l'agent sur
les autres agents du système, et notamment leurs capacités
de l'aider à atteindre ses buts.
Figure 7. Architecture InteRRaP
La figure 8 présente la relation entre les modules AR et
PE et les croyances, les buts, les intentions et les plans de l'agent.
On a indiqué sur la figure les fonctions BDI (discutées
dans la section 2.2.2) correspondant aux divers modules.
Figure 8. Le modèle BDI
dans l'architecture InteRRaP
Il faut noter que, par rapport aux autres architectures discutées
précédemment, l'architecture InteRRaP comprend une représentation
explicite du processus de coopération d'un agent avec d'autres
agents du système. Dans les chapitres à venir nous allons
voir d'autres exemples d'architectures où cette coopération
est représentée de manière explicite.
Une autre architecture hybride bien connue est l'architecture du système
TuringMachine. Cette architecture est une architecture en couches horizontales,
semblable à l'organisation de l'architecture de subsomption, où
chaque couche est responsable de l'exécution d'actions de plus
en plus complexes.
Les architectures hybrides se sont avérées efficaces dans
beaucoup d'applications. Il y a cependant deux reproches qu'on peut leur
faire : il n'y a pas de modèle formel associé comme
dans le cas d'une architecture BDI pure, et on n'a pas encore validé
de véritable méthodologie pour guider l'utilisateur dans
la conception d'applications utilisant de telles architectures.
|