L'architecture de COPYCAT a quatre composants principaux : le
Slipnet (ou réseau de glissement, littéralement), le Workspace (ou
espace de travail), le Coderack (ou « étagère à code »), et la
Température. Nous allons les décrire brièvement :
Figure 3.1:
Les composants de l'architecture de COPYCAT.
le Slipnet est l'emplacement de tous les
concepts permanents platoniques. On peut le voir,
grossièrement, comme la mémoire à long terme de COPYCAT. En tant
que tel, il ne contient que des types de concepts, et aucune
de leurs instances. Les distances entre les concepts du
Slipnet peuvent varier durant le traitement, et ce sont ces
distances qui déterminent, à tout moment, quels sont les glissements
probables ;
le Workspace est le lieu de l'activité
perceptuelle. Il contient des instances des différents
concepts du Slipnet, combinées en structures perceptuelles
temporaires. On peut le voir comme la mémoire à court terme de
COPYCAT, ou mémoire de travail, ou, en empruntant un terme
d'Hearsay II, comme son « blackboard » ;
le Coderack est une sorte de « salle d'attente
stochastique » dans laquelle de petits agents qui veulent travailler
dans le Workspace attendent d'être appelés. Il n'a pas d'équivalent
dans d'autres architectures, mais on peut le rapprocher d'un
agenda (une file contenant des tâches à exécuter dans un
certain ordre). La différence essentielle est que, dans le Coderack,
les agents sont choisis stochastiquement, plutôt que dans un
ordre déterminé. Les raisons de cette étonnante caractéristique
seront détaillées plus tard. Elles sont cruciales pour la fluidité
mentale ;
enfin, la Température est une mesure de
l'organisation perceptuelle du système (une température basse
traduisant un haut degré d'organisation) et permet le contrôle du
degré de hasard utilisé lors de la prise de décisions.
COPYCAT est un système multi-agents émergent, puisqu'il
possède les trois caractéristiques définies dans [Lenay1996] :
Aucun agent ne contrôle complètement la dynamique de la
population. Les agents sont limités et il y a des différences du
système global qu'ils ignorent. Il y a donc un extérieur
relativement à chaque agent : un environnement.
Par définition, les agents agissent et donc modifient cet
environnement. Mais les agents ne peuvent percevoir et agir que
localement dans cet environnement. Autrement dit, chaque agent
interprète l'environnement suivant ses moyens limités (d'après les
distinctions qu'il peut faire).
Les agents sont plusieurs dans un environnement commun. Les
interprétations de l'environnement par les divers agents sont
potentiellement différentes.
L'émergence permet de faire apparaître
une solution, elle évite d'avoir à prendre une décision à la fin du
traitement. Un système émergent code les agents, l'environnement et
les interactions, au lieu de coder, comme le font les systèmes
« classiques », les étapes de la résolution d'un problème.
Le terme « émergence » était employé à l'origine par les philosophes, les
biologistes et les physiciens pour caractériser le fait qu'une chose
« sorte » d'une autre sans que celle-ci la produise à la manière dont
une cause produit nécessairement un effet et suffise à en faire
comprendre l'apparition [Jean1997]. L'émergence est à distinguer
de l'épiphénomène, qui est un phénomène qui accompagne un phénomène
essentiel sans être pour rien dans son apparition ou son
développement. Un exemple est celui de l'ombre de la main qui est un
épiphénomène puisque sa présence ne change pas ce que l'on fait par
ailleurs. Un épiphénomène n'est pas une émergence parce qu'il est
causé par le processus mais n'interagit pas avec le processus.
Voici que dit John searle [Searle1995] pour
illustrer la notion d'émergence : « Soit un système S, constitué
d'éléments a, b, c, ... Par exemple S pourrait être une
pierre, et les éléments les molécules. En général il y aura des
caractéristiques de S qui ne sont pas, ou pas nécessairement, des
caractéristiques de a, b, c, ... Par exemple, il se pourrait que
S pèse cinq kilos, mais pas les molécules prises individuellement.
Appelons ces caractéristiques les ``caractéristiques du système''. La
forme et le poids sont des caractéristiques du système. Certaines
caractéristiques du système peuvent être déduites ou conçues ou
calculées à partir des caractéristiques de a, b, c, sur la
simple base de leur arrangement ou de leur composition (et parfois des
relations qu'elles entretiennent avec le reste de l'environnement)
-- par exemple la forme, le poids, la vitesse. Mais d'autres
caractéristiques ne peuvent se concevoir à partir de la seule
composition des éléments et des seules relations environnementales ;
il faut les expliquer en termes des interactions causales qui se
produisent entre les éléments. Appelons-les des ``caractéristiques du
système causalement émergentes''. Solidité, liquidité et transparence
en sont autant d'exemples. »