(A la recherche du plus petit mme)
La mŽmŽtique traite du domaine fascinant, des idŽes (des mmes) qui se propagent d'un cerveau ˆ un autre. Pour aborder ce sujet, le langage naturel appara”t comme la mŽthode la plus simple. Mais parfois ce support induit des discussions qui tournent en rondÉ ˆ l'avantage du plus volubile.
De faon plus rigoureuse, la complexitŽ de la pensŽe est explorŽe par le domaine gŽnŽral des sciences cognitives et ses diffŽrentes composantes. Pour ma part, je propose de formaliser certains aspects sous-jacents de la propagation des mmes avec une de celles-ci : L'intelligence artificielle (I.A.). A cette fin, j'exhibe Mme01, un mme trs simple et dŽcris un modle minimal de l'architecture cognitive nŽcessaire ˆ sa propagation.
CodŽ dans la matire, un mme est composŽ d'information pure, en position de culture : Il est interprŽtŽ pour Žlaborer un comportement, une personnalitŽ. Pour un informaticien, il possde la dimension d'un logiciel, d'un programme. Mais, dire qu'un mme se rŽduit ˆ de l'information pure, est insuffisant. Un aspect holistique intervient. "Le tout est plus que la sommes des parties" car une structure de boucle se rajoute ˆ l'Ždifice. Au niveau supŽrieur, cette boucle de la vie englobe tout. Ainsi le mutant, qui na”t mieux adaptŽ ˆ son milieu, augmente ses chances de survie.
Pour qu'un mme se reproduise, il lui faut un interprte : l'agent. En situation dans l'univers, il agit selon sa culture qui est constituŽe de plusieurs mmes. A chaque action, il en interprte quelques-uns.
L'agent interagit et communique avec les autres agents de l'univers. Il propose et met en avant ses idŽes, sa faon de voir : Il diffuse sa culture donc il propage aussi ses mmes.
Pour qu'un mme se reproduise, il lui faut un univers physique. Donc, pour dŽcrire un mme, il faut aussi prŽciser l'univers o il vit, car le sens d'un geste change en fonction du contexte. Par exemple, le geste de fuir ou de prendre, peut tre adaptŽ ou dangereux, selon qu'il s'agit de nourriture ou d'un prŽdateur.
Implicitement, l'univers physique analyse la justesse du comportement des agents qui y vivent, et leur permet de se reproduire. Il simule un mŽcanisme de sŽlection. L'agent y est ŽvaluŽ et doit faire ses preuves. Seuls les plus adaptŽs survivent et se reproduisent.
Dans ce type de jeu, rien n'est perdu ou crŽŽ, existe seulement un Žchange : Un joueur gagne ce que l'autre perd... Par exemple, considŽrons les travaux de Winograd[72] et Schank[77]. J'apprŽcie beaucoup leur modŽlisation, qu'ils ont poussŽe trs loin. C'est pourquoi, dans ma position, je ne peux faire de miracle, quand je mets en place une expŽrience de pensŽe, ce que je gagne d'un c™tŽ, je dois accepter de le rendre de l'autre. Si je veux ajouter ˆ l'univers des agents une boucle inspirŽe de la sŽlection naturelle, je dois simplifier mon modle par ailleurs.
Je mets mon automate en situation dans un univers o il est en compŽtition avec d'autres congŽnres. D'abord, pour le faire vivre, je lui fabrique une personnalitŽ au moyen d'une boucle qui dit "quoi faire dans chaque situation". Ensuite, je dis que dans ce monde, seuls les plus performants se reproduisent. Ceci m'amne ˆ mettre au-dessus de l'automate, une couche supplŽmentaire chargŽe d'Žvaluer la justesse du son comportement.
C'est ici tout l'art de l'expŽrimentateur. Comment puis-je vaincre cette grande complexitŽ ? Seulement en restreignant le champ opŽratoire, en me mettant seulement lˆ o les choses sont simples et marchent bien : Je choisis donc de montrer que le mŽcanisme fonctionne sur seulement quelques verbes triŽs sur le volet et dont le fonctionnement est trs dŽpouillŽ (avancer et manger).
Par la suite je devrai montrer que ce mŽcanisme est gŽnŽralisable et extensible. C'est tout le thme que j'avance avec cette notion de "croissance en couches concentriques" qui postule que, couche aprs couche, je peux remonter sur ce modle les structures dŽcrites en informatique : planification, backtrack, intentionnalitŽÉ
A cause de la grande complexitŽ ˆ formaliser des dŽmarches qui manipuleraient des prŽdicats, nous nous replierons vers une reprŽsentation beaucoup plus simple des donnŽes : l'algbre de Boole, l'ensemble {0, 1}. Nous ne manipulerons que des zŽros et des uns.
Dans les discussions qui nous animent, nous parlons surtout de mmes vŽhiculŽs par le langage naturel. On pourrait penser que, pour faire ce travail, je vais utiliser ceux-lˆ, mais a m'est impossible. Dans le but de simplifier ma modŽlisation, je dois me restreindre ˆ une reprŽsentation de la connaissance plus simple, basŽe sur le binaire : Le Mme01 porte un petit programme limitŽ ˆ deux bits : {0, 1}.
C'est un agent qui agit en interprŽtant ce programme. Le code du Mme01 est en position de programme et est interprŽtŽ par un agent : Etre01.
C'est le monde o vit l'agent. Deux lois le caractŽrisent :
- Quand il se dŽbrouille bien, il mange.
- Quand il mange bien il se reproduit !
1) Placer cet tre en situation dans monde. Pour simplifier au maximum, utiliser un univers formel de la vie artificielle.
2) Trouver un modle d'automate capable de se dŽplacer et d'attraper sa nourriture.
3) Pour avoir le plus petit mme, on comprime l'information, donc on introduit un peu de gŽnŽralitŽ : L'automate focalise son attention sur les cases proches. On dŽbouche sur un programme opportuniste, qui dit ce qu'il faut faire dans chaque situation en fonction des cases voisines. Implicitement, on obtient un programme ˆ structure de boucle "tant que condition, faire action".
4) Englober cet univers dans une structure plus riche : Aprs s'tre donnŽ un automate qui agit dans l'univers, on rajoute des considŽrations inspirŽes des algorithmes gŽnŽtiques. Tout agent dont le comportement est adaptŽ se reproduit.


Nous sommes en prŽsence d'une bo”te noire ˆ une entrŽe et une sortieÉ
Il possde un capteur unique qui lui permet de voir la case devant.

Il est programmŽ pour avancer indŽfiniment vers la case suivante. Il sait aussi saisir la nourriture qui est dans la case devant lui et la manger.
Cet tre, qui vit sur cette grille, se comporte selon une programmation formelle codŽe en binaire dans une table, un tableau ˆ une entrŽe et ˆ une sortie. Pour chacun des Žtats possibles sur son entrŽe (0 ou 1), la table doit dire que faire en sortie : Elle spŽcifie s'il faut faire le geste de manger(1) ou non (0). Ce comportement se programme sur un vecteur {x,y} de deux digits binaires :
- 'x' dit ce qu'il faut faire en sortie quand l'entrŽe est 0.
- 'y' dit ce qu'il faut faire en sortie quand l'entrŽe est 1.
Puisque ce vecteur se transmet lors de la reproduction, c'est un mme. De faon gŽnŽrale il appartient ˆ la famille des 'MmeXY. Plus prŽcisŽment, le mme {0,1} se nomme Mme01.
Par dŽfinition un tre qui porte un MmeXY est un EtreXY.
Et, de faon plus prŽcise, l'tre qui porte Mme01 se nomme Etre01.
|
|
entrŽe |
sortie |
|
Cas 0 |
0 |
0 |
|
Cas 1 |
1 |
1 |
|
|
ƒtat de la case
devant |
Action sur
l'actionneur 'Manger' |
|
Cas 0 |
Vide |
0) Ne rien
faire |
|
Cas 1 |
Nourriture |
1) Manger la
nourriture qui est devant |
DŽcrivons la fonction d'Žvaluation qui quantifie la justesse de l'action de l'tre au sein de cet univers.
- Faire le geste d'attraper de la nourriture consomme de l'Žnergie (quel qu'en soit le rŽsultat).
- Manger de la nourriture consomme de l'Žnergie.
- On sait que l'automate est programmŽ pour avancer tranquillement de case en case. Si, au lieu de chercher ˆ saisir la nourriture il butte contre elle : Il l'Žcrase et la voici perdue pour lui.
Quand il mange, il met en rŽserve une partie de ces protŽines. Au bout de plusieurs repas, il se reproduit par scissiparitŽ.
- Il se reproduit en plaant un automate sur la ligne parallle ˆ lui, sur sa droite, dans la mme direction que lui.
- GŽnŽralement, il se reproduit identique ˆ lui-mme, mais, pour donner un peu de pŽtillant ˆ la chose supposons que parfois des modifications interviennent dans son code.
|
|
ƒtat de la case
devant |
Action sur
l'actionneur 'Manger' |
|
Cas 0 |
Vide |
0) Ne rien
faire |
|
Cas 1 |
Nourriture |
0) Ne rien
faire |
Ë cause de sa programmation, quand il est devant la nourriture, ce malheureux ne la mange pas. Il butte contre elle, la voici perdue pour lui. Il erre jusqu'ˆ Žpuisement. Ce mutant n'est pas viable.
|
|
ƒtat de la case
devant |
Action sur
l'actionneur 'Manger' |
|
Cas 0 |
Vide |
0) Ne rien
faire |
|
Cas 1 |
Nourriture |
1) Manger la
nourriture qui est devant |
Il agit avec discernement. Si la case devant lui est vide, il avance en qute de sa pitance. Quand une nourriture se prŽsente, il la mange. Il est parfait.
|
|
ƒtat de la case
devant |
Action sur
l'actionneur 'Manger' |
|
Cas 0 |
Vide |
1) Manger la
nourriture qui est devant |
|
Cas 1 |
Nourriture |
0) Ne rien
faire |
Ce mutant est bien malheureux ! Il fait tout de travers. Quand la nourriture se prŽsente, il butte dedans. Quand elle est absente, il essaye de l'attraper. Ainsi, non seulement, il ne mange pas, mais en plus, cette activitŽ inutile va l'Žpuiser plus rapidement que 'Etre00'.
|
|
ƒtat de la case
devant |
Action sur
l'actionneur 'Manger' |
|
Cas 0 |
Vide |
1) Manger la
nourriture qui est devant |
|
Cas 1 |
Nourriture |
1) Manger la
nourriture qui est devant |
Ce mutant est un peu l'ObŽlix de la famille : Il ne pense qu'ˆ manger. Quand il change de case il cherche systŽmatiquement ˆ attraper la nourriture qui serait prŽsente. Or ce n'est pas souvent le cas. Certes, avec une telle stratŽgie, il ne rate jamais sa nourriture, mais il se fatigue vite ˆ cause de son hyper activitŽ. Dans un milieu o la nourriture est abondante, il peut survivre et se reproduire, mais si la quantitŽ de nourriture diminue, il ne pourra pas rŽsister aussi longtemps que Etre01.
A l'issue du criblage de tous les membres de la famille EtreXY, je choisis Etre01. Par consŽquent, le meilleur mme est Mme01.
Voici que nous avons proclamŽ Mme01 roi de la fte, mais par souci de rigueur, il faut aussi regarder les problmes de dualitŽ. En changeant les conventions, en inversant le signal du capteur ou bien la commande de l'actionneur, on obtient des EtreDualXY qui, prŽsentent un fonctionnement dual des EtresXY : La prŽsence de nourriture devant l'tre est dŽtectŽe par un 0, ou bien l'action de manger se commande par un 0. Dans ces deux cas, l'tre le plus adaptŽ devient 'EtreDual10' car le meilleur mme devient 'Mme10'É Bon, malgrŽ tout, cet aspect de dualitŽ demeure anecdotique et n'est abordŽ que par souci de rigueur.

On peut chercher ˆ pousser le bouchon encore plus loin et considŽrer un automate fini aveugle, c'est ˆ dire sans entrŽe, et muni d'une seule sortie. Dans ce cas, ˆ condition d'tre pilotŽ par le mme {1}, que nous convenons de nommer 'Mme1', il a le comportement de Etre01, et constitue ainsi un mme encore plus petit que Mme01.
Paradoxalement 'Mme1' est trs primaire mais viable. Il est ˆ l'image de la majoritŽ des tres vivants sur la terre : Les insectes. Une forme d'Žvolution des espces, trs frustes, mais ŽvoluŽ tout de mme.
En tant que chercheur en I.A., je souhaite rejeter ce montage en disant que son comportement est imbŽcile. Par dŽfinition, l'intelligence est l'aptitude ˆ s'adapter ˆ une situation nouvelle, mais on voit bien ici que, mme quand la situation change, l'automate n'en tient pas compte. C'est pourquoi Mme01 demeure mon chouchou !
Un jour de mauvaise humeur, on pourrait Žluder ce travail en disant qu'il est trop caricatural. Cependant, il est interprŽtable ˆ la lumire de la vie rŽelle.
Nous avons dŽjˆ ŽvacuŽ Mme00 et Mme11 en disant qu'ils n'Žtaient pas intŽressants car ce sont des brutes Žpaisses.
|
|
ƒtat de la case
'amie' devant |
Action sur
l'actionneur |
|
Cas 0 |
Vide |
0) Ne rien
faire |
|
Cas 1 |
Pleine |
1) Vas-y |
C'est l'action conditionnelle ŽlŽmentaire, en prŽsence de l'ami, on y va.
|
|
ƒtat de la case
'ennemie' devant |
Action sur
l'actionneur |
|
Cas 0 |
Vide |
0) Ne rien
faire |
|
Cas 1 |
Pleine |
1) Vas-y
(fuite) |
C'est l'action conditionnelle ŽlŽmentaire, en prŽsence de l'ennemi, on y va (on fuit).
|
|
ƒtat de la case
'ennemie' devant |
Action sur
l'actionneur |
|
Cas 0 |
Vide |
1) Vas-y |
|
Cas 1 |
Pleine |
0) Ne rien
faire |
C'est l'action conditionnelle ŽlŽmentaire, en prŽsence de l'ennemi, on est en inhibition de l'action.
Voici un texte qui met un automate fini en situation dans un univers o il doit faire preuve de son adaptation, mais on note que l'Žvaluation de cette aptitude est qualitative, et non pas quantitative. A ce titre, on est presque rendu ˆ une expŽrience de pensŽe, comme on en voit en philosophie.
L'avantage de la simplicitŽ de cette dŽmarche est de bien cadrer le domaine par un formalisme qui reste digeste pour le non professionnel. On touche du doigt plusieurs mŽcanismes de base de la mŽmŽtique. Le but est que cette expŽrience de pensŽe serve de base ˆ la discussion, puis qu'elle soit triturŽe par la rŽflexion de ceux qui voudront la critiquer pour la faire avancer.

Je compte sur vous pour
prter vie ˆ ce si petit bŽbŽ : Longue vie au Mme01 !
Dans une dŽmarche analytique, j'ai dŽconstruit les lieux importants de l'I.A., Ce travail m'a amenŽ ˆ baliser un chemin descendant du complexe vers l'ŽlŽmentaire. Maintenant que j'ai rŽussi ˆ formaliser un modle simple et digeste de mme, c'est le moment de repartir depuis ces bases saines pour stratifier toute la dŽmarche de recherche en couches concentriques. Le but est de remonter en sens inverse le chemin que j'ai balisŽ pour retrouver et formaliser les lieux clŽs de l'I.A. en allant le plus loin possible vers la complexitŽ.
Dans un premier temps, je lorgne dŽjˆ avec envie sur d'autres modles de l'intentionnalitŽ et de la planificationÉ Mais ceci est une autre histoire. Qui vivra verra !
SCHANK R.C. & ABELSON R.P. (1977) : Scripts, Plans, Goals, and Understanding.
Erlbaum, Hillsdale, N.J.
WINOGRAD Terry (1972) : Understanding natural language.
Academic press, New-York