Bien sûr… sauf que la réponse n’est en rien évidente, pour un ordinateur ! Pour répondre, il faut qu’il sache que les lettres se suivent dans un certain ordre, qu’il remarque que dans abc et ijk les lettres se suivent dans l’ordre, que dans abd le « d » joue un rôle spécial car il « saute » la lettre c, et que par conséquent la bonne réponse est sans doute de faire « sauter » aussi une lettre après la séquence ij pour donner ijl
Et encore, c’est un cas simple. Que pensez vous de la question suivante :
Qu’est-ce qui est à i j k k ce que a a b d est à a a b c ?
On encore : si « a a b c » se transforme en « a a b d », que deviendrait « i i k k » ?
Voyons voir : a a b c se transforme en a a b d, donc en appliquant le raisonnement que nous avons tenu pour l’exemple précédent, la réponse pourrait être i j k l. Oui… sauf que ça ne nous satisfait pas. D’abord , dans cette réponse, toutes les lettres sont dans l’ordre, alors que dans a a b d c’est loin d’être le cas. Ensuite, il semble y avoir une histoire de lettre doublée. Dans la séquence a a b c -> a a b d, on n’a pas touché à cette paire a a Ce serait bien qu’on préserve aussi la paire k k dans notre réponse. D’où une réponse possible : i j l l, dans laquelle on a remplacé le concept de « augmenter la lettre la plus à droite » par « augmenter le groupe de lettre le plus à droite ». Mais il y a d’autres réponses possibles. Je peux dire qu’en passant de a a b c vers a a b d, j’ai augmenté la lettre la plus éloigné de la paire a a (qui se trouve être le c) : donc en augmentant dans i j k k la lettre la plus éloignée de la paire k k, je trouve … j j k k. Ah oui, mais c’est pas génial parce qu’il y a maintenant deux paires de lettres dans ma réponse, alors que dans l’exemple a a b d il n’y en a qu’une. Non, décidément, la bonne réponse semble être i j l l .
Aussi incroyable que cela puisse paraître, le programme Copycat, dû à Melanie Mitchell et Douglas Hosftadter, tient effectivement tous ces raisonnements ! Selon Hoftstadter, l’objectif du programme n’est pas tant de « faire des analogies » que de simuler un raisonnement fluide. Copycat procède par « glissements de perception ». Pour lui, un point de vue, c’est un ensemble de rôles que le programme assigne aux lettres de l’exemple (par exemple une lettre peut « être la lettre précédente augmentée de 1 », ou « membre d’une paire », ou « être en début d’une séquence (ou sous-séquence) ». Mais lorsque ce point de vue ne convient pas, Copycat change de point de vue, et choisit un autre rôle pour certaines lettres.
Par exemple :
« si a a a a donne a c e g, qu’est ce que devient z z z z ? »
(cherchez un peu avant de passer au paragraphe suivant)
La réponse de Copycat pour cet exemple a nécessité l’invention du concept « d’inversion du sens » : (au lieu de commencer par a et de monter, je commence par z et je descend), alors qu’il ne connaissait pas ce concept. De plus le programme a choisi d’inverser le sens parce que z est, en quelque sorte, l’inverse de a dans la suite des lettres. Et, naturellement, puisqu’à à chaque « pas » dans a c e g je monte de deux lettres, je dois descendre de deux lettres à chaque pas de la réponse, qui est bien sûr ( !) z x v t. N’est-ce pas une magnifique preuve d’intelligence ? Certaines réponses données par Copycat (comme pour les deux questions précédentes) dénotent un véritable « agilité d’esprit ».
Ce qui est extraordinaire, c’est que Copycat invente les rôles lui même, au fur et à mesure des problèmes qu’on lui pose. Au départ, il ne connaît que les lettres de l’alphabet, et laquelle est la première et la dernière. Point final. Copycat est, comme Eurisko, un programme qui se modifie lui-même. Les objets internes du programme sont des cadres, qui possèdent des champs comme « facile à voir », « importance », « concepts similaires », etc.
Pour traiter les répétitions de lettres, Copycat a inventé le concept de nombre. Mais il n’est pas allé au delà de 5, ce qui n’est pas très grave parce que les gens ne comptent pas les lettres « d’un seul coup d’œil » au delà de 5, précisément. Les capacités de Copycat pour faire des analogies dans le domaine des lettres sont très voisines de celles d’un humain, pas moins bonnes, pas meilleures. Mais c’est déjà tout à fait remarquable.
Les sous-programmes fabriqués par Copycat, les Codelets, sont de véritables agents qui possèdent une valeur « d’urgence » qui les pousse à agir (s’exécuter) ou pas dans une situation donnée. Bien sur un codelet peut appeler un autre codelet. Il n’y a aucun processus global qui supervise le fonctionnement des agents, qui sont tous autonomes. Le comportement global intelligent de Copycat émerge réellement de l’interaction d’une multitude d’agents inintelligents.
Essayez de répondre à la question suivante
Si a b c devient a b d, que devient i i j j k k ?
Il y a a priori plusieurs réponses possibles : i i j j l l, i i j j d d, i i j j k l, i i j j k d, ou même a b d ou a a b b d d Il y a plusieurs justifications possibles pour ces réponses. En général les gens jugent certaines réponses meilleures que d’autres. Souvent, la meilleure réponse (i i j j l l) n’est pas la plus simple ou la plus évidente. Malgré sa simplicité apparente, le domaine des problèmes couverts par Copycat est extrêmement riche et subtil.
On pourrait penser que le « domaine des lettres de l’alphabet » est très réductif, et qu’un système qui pourrait faire des analogies sur tous les domaines devrait être beaucoup plus compliqué que Copycat. Par exemple trouver que la « première dame » d’Angleterre est probablement la femme du premier ministre (ou son mari si c’est une femme) semble plus intelligent que de trouver la réponse à un « simple jeu de lettres ». Mais, dit Hofstadter, c’est une illusion. Le domaine des lettres de l’alphabet capture tant de caractéristiques de ce que nous appelons analogie que n’importe quel domaine n’est pas, en réalité, plus compliqué. En fait le domaine de la question « si X devient Y, que devient Z » ? capture toute les formes de raisonnement logique. Par exemple le cas particulier « si X devient Y, que devient Y ? » est ce qu’on appelle l’extrapolation. Qu’est ce qui est aux Beatles ce que les Beatles sont à Mozart ? Voilà une question intéressante !
Autre exemple, si DA donne AA, DB donne BB et DC donne CC, que donne DD ? Il est clair d’après les trois exemples que D est un « duplicateur », c’est à dire que son rôle est de dupliquer ce qui le suit. DD donne alors DD, c’est à dire lui-même. Toute structure capable de supporter la duplication permet l’autoréférence. Et l’autoréférence est au cœur de la conscience.
Pour montrer que l’architecture interne de Copycat, le « moteur d’analogie », peut être appliqué à presque toutes les situations où les humains font preuve d’intelligence, Hosfstadter a donné carte blanche à ses étudiants, pour qu’ils inventent de nouveau programmes « intelligents ». L’un de ces programmes mérite une attention particulière, il s’agit de Phaeaco.
NB: cette page est extraite de mon livre "L'esprit, l'IA et la SIngularité".
La suite>: Phaeaco