logo admiroutes Les automates intelligents
robotique, vie artificielle, réalité virtuelle


information, réflexion, discussion
logo automate © Anne Bedel
Jean-Paul Baquiast Jean-Paul.Baquiast@wanadoo.fr
Christophe Jacquemin christophe.jacquemin@admiroutes.asso.fr

14
Retour au sommaire
 

logo Revue les automates intelligents - © image : Anne Bedel

Le feuilleton
Eléments de définition
J.P.Baquiast

Les systèmes massivement multi-agents

Retour à la lecture du feuilleton

Eléments de définition précédents  
Un générateur  automate d'états de conscience  Langage afficheurLa commande : "Recherchez solution" ; individu,-individuation ;
conscience collective ; conscience ; catégorisation ; information  ; darwinisme ; théorie computationnelle de l'esprit ; émergence ; intelligence ; intelligence artificielle
; cybionte ; automate ; paradigme de l'automate

Avertissement: ces définitions n'ont aucun caractère vraiment scientifique, ni même philosophique ou politique.
Elles visent seulement à illustrer les propos parfois sibyllins ou trop rapides de nos deux amis Alain et Bernard.
Nous les modifierons éventuellement au fil des discussions.

Cette note doit beaucoup aux travaux d'Alain Cardon*, que nous remercions.

Les systèmes multi-agents ou massivement multi-agents (SMA)  constituent, après les algorithmes évolutionnaires, le nouveau thème de recherche intéressant la simulation informatique des phénomènes évolutifs.

Il s'agit, en simplifiant à l'extrême, de représenter non plus des processus darwiniens relativement simples, sur le mode mutation-sélection, mais de véritables entités évolutives du monde réel, qu'il s'agisse d'organismes vivants, de sociétés animales ou humaines, de consciences individuelles ou collectives. Comme ces entités sont à l'évidence complexes, il n'est pas possible d'analyser leurs comportements évolutifs sans faire l'effort de les décomposer en parties plus petites, et plus facilement analysables. Mais décomposer le tout en parties ne conduit à rien, dans ce cas, si on n'a pas pris conscience du fait que les parties, dans la plupart des cas, évoluent pour leur compte en interagissant, et qu'il n'est pas possible de déduire de leur comportement particulier celui de l'ensemble du système, sauf de façon statistique. On sait depuis Poincarré que l'on ne peut prévoir exactement le comportement d'ensemble d'un système comportant 3 corps ou plus en interaction, si ces corps ont des comportements différents. La modélisation est alors obligée de recourir à la prévision sur le mode statistique ou probabiliste.

Ceci est ennuyeux si l'on veut prédire avec le plus d'exactitude possible le comportement futur d'un système complexe. C'est ainsi qu'en météorologie, les prévisions ne sont jamais absolument fiables. Mais lorsque l'on veut simuler ce même système par un modèle capable de s'adapter le plus souplement possible à son environnement, la propriété du modèle de n'être pas entièrement déterministe devient une qualité. Ainsi peut s'introduire le hasard qui est avec la nécessité au cœur des mécanismes darwiniens.

Quant un système est composé de milliers ou plus d'agents, la difficulté pour réaliser un modèle évolutif est évidemment très grande. Mais, comme toujours en matière d'intelligence artificielle évolutive, il paraît possible d'initialiser les recherches sur la base des technologies et outils disponibles, pour progresser en parallèle, sur le mode constructiviste, avec le développement de ces technologies et outils.

La recherche des agents

Pourquoi en est-on venu de parler de SMA à propos d'entités que spontanément on est tenté d'identifier, via leur comportement, de façon globale ? Parce que, depuis longtemps, l'observation de la nature avait montré que le comportement holiste d'un organisme résulte de la coopération permanente des nombreux organes ou constituants de cet organisme. Etudier le rôle de chacun et la façon dont ce rôle se conjugue avec celui des autres permet d'éclairer le fonctionnement de l'ensemble. Ce fut l'essentiel du travail de l'anatomie et de la physiologie pendant plusieurs siècles.

Plus récemment, la mise en évidence des compétitions darwiniennes pouvant intervenir entre constituants d'un organisme pour la production du comportement d'ensemble a permis d'introduire l'analyse des mécanismes évolutifs au sein même de l'organisme. Ce fut le cas par exemple dans l'étude des processus de compétition entre insectes sociaux dans la construction du nid, ou entre neurones dans l'élaboration d'une représentation. Les algorithmes évolutionnaires et automates évolutionnaires ont été inspirés par l'observation et la modélisation de tels systèmes naturels.

L'approche SMA pour l'étude d'un système complexe donné du monde réel consiste donc à identifier ceux de ses composants qui paraissent les plus actifs dans la détermination de son comportement d'ensemble, composants que l'on appellera agents, et à étudier les rôles de ces agents, pris individuellement d'abord, puis en groupe. Il faut ensuite modéliser l'ensemble en informatique.

Quand la plus grande partie des agents est stable dans le temps, ou quand ils n'interagissent pas (situation en fait purement théorique, mais qui est pratiquement celle de la matière aux conditions ordinaires), il est facile de prédire le comportement du système à partir du comportement des agents. Le système est en équilibre, fermé et déterministe. Dès que les agents constituants du système sont plus ou moins complexes, autonomes et actifs-proactifs, ils réagissent d'une certaine façon aux modifications de l'environnement, en s'y adaptant. Par ailleurs et dans le même temps ils interagissent d'une façon qui ne peut être précisée à la construction, mais qui traduit une adaptation globale du système d'ensemble à son environnement. Le système, considéré comme une organisation d'agents, adopte ce faisant un comportement adaptatif imprévisible dans le détail. On est conduit pour le décrire à faire appel à une représentation statistique du comportement des agents.

Le système d'ensemble, vu de l'extérieur, apparaît comme doté d'une plus ou moins grande autonomie comportementale. De plus, comme il réagit globalement aux modifications de l'environnement, en s'y adaptant au mieux, l'architecture ou la morphologie qu'il adopte sont utilisables par une partie des agents du système pour évaluer le comportement d'ensemble, qui devient à son tour un agent pour les adaptations ultérieures. Le système est devenu auto-adaptatif.

Dès lors que l'on veut modéliser un système adaptatif du monde réel, il est évident que l'on ne peut plus utiliser la mécanique des systèmes stables ni celles des systèmes mécaniques ou informatiques construits pour réaliser des tâches précises, connues à l'avance. Par ailleurs, un tel système, constitué d'un certain nombre de composants, oblige à modéliser parallèlement les divers types d'agents avec leurs comportements spécifiques, et la façon dont le comportement de l'organisme global peut être modélisé à son tour compte tenu de l'activité de ces agents. Le problème devient particulièrement ardu si l'organisme choisi comporte de très nombreux agents, eux-mêmes jouant des rôles fonctionnels très différents (on parlera de systèmes massivement multi-agents).

Agents et objets

Les systèmes informatiques combinent évidemment depuis longtemps des algorithmes de détail pour obtenir le fonctionnement d'ensemble d'un système. C'est ainsi que la production d'un bulletin de paye résulte du rapprochement entre un premier traitement, celui du fichier décrivant le salarié, et de plusieurs autres, décrivant son activité. Pour faciliter la programmation d'ensemble, tout en assurant la mise à jour la plus rapide possible des différents fichiers, la programmation a fait appel depuis une vingtaine d'années à ce que l'on a appelé des objets, eux-mêmes analysés et programmés de façon spécifique. Ainsi l'objet salarié, lui-même possiblement décomposé en objets " état-civil du salarié " et objet " position dans la ligne hiérarchique ", est traité à part de l'objet " travail accompli pendant le mois ", et de l'objet " grille des salaires ". La programmation d'ensemble, aboutissant à la production du bulletin de paye individuel, peut alors est réalisée à partir de progiciels n'obligeant pas à dérouler pour chaque salarié l'ensemble des calculs concernant le processus tout entier.

Dans ce cas, le système global, qui est la paye mensuelle, peut être calculé à l'avance de façon aussi fine que possible - tant du moins que l'on admette de ne mettre à jour les fichiers individuels qu'une fois par mois. Les objets ne sont pas en effet actifs ou réactifs. Ils ne se modifient que dans le cadre de règles prévues à l'avance, qui les enferment dans un comportement lui-même, de ce fait, prévisible, tant dans le détail qu'en ce qui concerne son influence sur le comportement des autres objets. Les objets comme le système d'ensemble constituent donc des systèmes fermés, entièrement prévisibles. La programmation-objet n'a donc rien à voir avec la programmation évolutionnaire. Pour accéder à cette dernière, il faut remplacer le concept d'objet par celui d'agent. Ce glissement sémantique n'est pas d'ailleurs sans signification " politique ". Nous passons de la représentation d'un système complexe constitué d'objets sans autonomie à celle d'un système constitué d'agents plus ou moins autonomes. Ce dernier système est beaucoup plus adaptatif que le premier, ce qui pourrait conduire à conclure en forme de boutade que les régimes démocratiques, constitués d'agents disposant de pouvoirs distribués, sont plus adaptatifs que les régimes dictatoriaux, constitués d'objets qui sont de simples rouages de la machine centrale.

Le concept d'objet, et la programmation objet, ne sont pas à rejeter pour autant dans la modélisation des systèmes évolutionnaires. L'objet servira à représenter des éléments de l'environnement, voire du système lui-même, qui peuvent être considérés comme stables.

L'agentification

La mise en évidence des agents suppose un certain nombre de choix méthodologiques, voire scientifiques sinon philosophiques. On pourra employer le terme d' " agentification " ou de réification. Il s'agit d'un travail qui, lorsque l'on observera la nature, devra se développer de façon continue, au fur et à mesure que de nouveaux éléments se révéleront comme actifs dans le comportement d'ensemble. Dans la construction d'un modèle artificiel par contre, il faudra limiter sinon le nombre, du moins les catégories d'agents qui seront retenues, sauf à rendre le modèle complètement instable.

On peut remarquer que l'agentification est un réflexe pratiqué depuis longtemps par le langage philosophique, à base de métaphores. C'est ainsi que, dans le vocabulaire ou dans la peinture des siècles précédents, on agentifiait volontiers les qualités ou les vices (la raison, l'avarice), en leur donnant des figures humaines qui se disputaient le gouvernement des âmes. En fonction du combat que se livraient ces personnages-passions chez l'homme, celui-ci était entraîné au bien ou au mal, d'une façon qui n'était pas prévisible a priori.

Nous avions là des modèles multi-agents avant la lettre, où on retrouve les contraintes de tout modèle : identifier au départ un certain nombre d'agents différents, les caractériser compte tenu de leurs spécificités, sur le plan de leur domaine d'action et de leurs comportements, étudier leurs interactions possibles, partielles et globales.

Si nous voulions simuler artificiellement la production d'un état de conscience chez l'homme, nous aurions ainsi à agentifier un certain nombre de phénomènes internes (perceptions de l'état du corps, accès à des représentations déjà mémorisées, etc. ) et de phénomènes externes (informations reçues par l'appareil sensoriel, influences mémétiques, etc.). L'agentification devra descendre jusqu'à l'identification des supports neurologiques (objets mentaux) traduisant les différentes entrées et traitements intermédiaires de l'information. Il conviendra ensuite de traduire ces résultats d'observation en données et programmes informatiques s'appliquant à chacun des types d'agents ainsi identifiés, et les représentant au mieux dans un système artificiel. On obtiendra ainsi des agents artificiels, sous forme d'algorithmes, dont il faudra ensuite étudier les effets combinatoires. Leur combinaison produira, comme on l'a dit, des comportements instables au niveau global, uniquement descriptibles en termes probabilistes. Mais les mathématiques fournissent de nombreux opérateurs spécialisés permettant de mettre un peu d'ordre dans la complexité.

Tout ceci, comme l'ont montré les travaux de Prigogine, conduit à prendre en compte la flèche du temps et l'irréversibilité. Les fluctuations jouent alors un rôle central, et toute stabilisation ne peut être que temporaire. L'évolution, du fait notamment des réactions des agents en contact avec l'environnement du système, se fait loin de l'équilibre. Ceci ne veut pas dire pour autant que le système soit totalement chaotique. Il est plus ou moins souplement adaptatif.

Dans l'approche informatique des SMA, les agents composant ceux-ci sont définis comme autonomes, ayant des aptitudes sociales (c'est-à-dire pouvant interagir avec d'autres ou coopérer avec eux, et réactifs-proactifs, (c'est-à-dire capables de s'activer ou redéfinir leur action). L'agent est donc lui-même un automate doté de divers modules caractérisant les automates, plus ou moins développés : modules de connaissance, de communication, d'action…Certains des agents jouent au profit du SMA le rôle d'agents d'interface. D'autres, celui de générateurs de représentations s'organisant en scènes et en scénarios. Les différents agents sont des processus qui se retrouvent en compétition pour l'accès aux données ou ressources communes Le comportement d'ensemble du SMA est distribué entre tous ces agents et réseaux d'agents de façon à la fois peu stable et redondante. Le comportement d'ensemble peut donc être complexe et générer de l'émergence.

Précisons qu'à ce jour, il n'a pas encore été possible de réaliser un SMA évolutif doté d'un nombre important d'agents, même en limitant considérablement l'hétérogénéité de ceux-ci. La production de générations successives d'un SMA, sur le mode darwinien de la mutation-sélection, suppose en effet que ces générations intègrent les mutations-sélections des agents. Or, il semble encore impossible de déterminer les critères d'évolution d'un agent donné, en fonction de celles des milliers d'autres évoluant indépendamment de lui.

L'auto-adaptation

Mais on peut penser que ces difficultés se résoudront rapidement. Pour réduire en effet l'instabilité et la sensibilité aux conditions initiales, propre à tout système dynamique, comme le fait la nature dans le cas des systèmes vivants évoluant loin de l'équilibre, il faut envisager de rendre le SMA relativement auto-adaptatif. On définira d'abord, sous forme d'ontologies, les limites d'ensemble du système et des fonctionnalités envisagées, puisqu'il serait irréaliste d'envisager un système s'adaptant à l'ensemble du champ des possibles. On définira ensuite plusieurs catégories fonctionnelles d'agents ou de groupes d'agents, correspondants aux attitudes futures que l'on souhaite obtenir du système. A partir de ces prémisses, le système sera conçu pour se développer de façon incrémentielle, pas à pas. Le système s'augmentera au fur et à mesure qu'il s'interfacera avec son environnement.

Pour obtenir l'auto-adaptation, il faudra que le système, grâce à certains de ses agents, puisse générer la scène représentant l'environnement dans lequel il opère et sa propre action dans cet environnement. Mais il faudra simultanément qu'il puisse se représenter la façon dont il construit cette scène et ordonnance son action en fonction des finalités qui sont les siennes. Cette seconde catégorie de représentations pourra permettre au système de revenir en boucle sur les modalités de construction de la scène et de l'action afin de les modifier en rétroaction. La démarche d'ensemble sera constructiviste.

Nous n'entrerons pas plus ici dans le détail des modalités de réalisation de modèles de SMA, surtout quand il s'agira de donner à ceux-ci les caractères d'une conscience artificielle. On trouvera dans les travaux de Alain Cardon de très nombreux exemples et démonstrations des actions possibles*.

Indiquons seulement que les agents peuvent être des algorithmes, mais qu'ils peuvent aussi être des algorithmes associés à des hardware. Ceci donnera des systèmes multi-agents qui se construiront simultanément sur le plan des fonctions et des supports de mémoire électroniques ou autres permettant l'exécution de ces fonctions. Ainsi le système se rapprochera encore plus de l'organisation des cerveaux, au sein duquel l'évolutivité du réseau neuronal est indissociable de l'évolutivité des fonctions cérébrales. Lorsque les SMA auront réussi à associer des centaines de milliers ou millions d'agents de ce type, on pourra commencer à parler sérieusement de cerveaux artificiels utilisables pour simuler les comportements réels massivement multi-agents, comme les comportements de foule, de mouvements économiques ou de flux mémétiques.

* Alain Cardon, Conscience artificielle et systèmes adaptatifs, Eyrolles, 1999. Remonter d'où l'on vient


Retour au sommaire