Journal d'un Terrien

Web log de Serge Boisse

On line depuis 1992 !

Publicité

Si cette page vous a plu, Copiez son adresse et partagez-la !
http://sboisse.free.fr/technique/info/copycat.php

copycat
Metadata
Serge Boisse
Le 31/03/2023 à 18:03
web/MOC
oui
oui

Copycat : un incroyable programme d'IA... qui date de 1998 !

Selon Douglas Hofstadter, le "pape de l'analogie" en intelligence artificielle, La question centrale de l’analogie est celle-ci :  qu’est-ce qui est à … ce que … est à … ? (vous pouvez mettre ce que vous voulez dans les pointillés, par exemple : Qu’est-ce qui est à l’Angleterre ce que la « première dame » est aux USA ?). Et, nous dit Hofstadter, comme la question générale (avec les pointillés) est une question bien trop générale pour y répondre simplement, je vous propose d’en examiner un petit sous-ensemble, en nous concentrant sur la seule question : qu’est-ce qui est à X ce que Y  est à Z ?, mais en restreignant X,Y, et Z à des suites de lettres de l’alphabet. C’est ce que fait mon programme Copycat. Par exemple, vous lui posez la question :

« qu’est-ce qui est à ijk ce que abd est à abc ?
(ou encore : si abc devient abd, que devient ijk ?),  

et Copycat vous répondra « ijl », bien sûr !

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

Publicité
Commentaires

Commentaires (4) :

Page : [1] 

Fred Ouf
Le 04/09/2012 à 15h03
C'est d'ailleurs toute la complexité des analogies qui m'a fait atterrir sur votre site, en effet je recherchais sur google ce genre d'"équations" construites en "est à ce que est à" dont je ne me rappelais plus le nom. A ce moment là, je ne pensais surtout pas passer les heures que j'ai passées sur votre page.

Je suis réellement impressionné par cette multitude d'informations sur une si grande diversité de sujets. J'aspire vraiment à emmagasiner autant de savoir tout au long de ma vie comme vous le faites.

Bravo pour ce site dont je me suis empressé de partager le lien avec mes contacts.
Serge Boisse
Le 02/09/2012 à 10h00
pour fred ouf

hjkk n'est pas mal du tout! Je n'y avais pas pensé... ça prouve bien que le problème de l'analogie est tout sauf simple et qu'il est au cœur de notre cognition!
Fred Ouf
Le 02/09/2012 à 00h00
Seulement si on veut respecter le fait qu'une lettre isolée qui suit ou précède une paire de lettres ne saute pas un échelon de l'alphabet (montant ou descendant).

Fred Ouf
Le 01/09/2012 à 23h46
Si vous me permettez, je répondrais plutôt à la question "Qu’est-ce qui est à i j k k ce que a a b d est à a a b c ?" par h j k k (pour préserver le saut d'une lettre symétriquement).


Ajouter un commentaire (pas besoin de s'enregistrer)

Pseudo :
Message :


image de protection
En cliquant sur le bouton "Envoyer" vous acceptez les conditions suivantes : Ne pas poster de message injurieux, obscène ou contraire à la loi, ni de liens vers de tels sites. Respecter la "netiquette", ne pas usurper le pseudo d'une autre personne, respecter les posts faits par les autres. L'auteur du site se réserve le droit de supprimer un ou plusieurs posts à tout moment. Merci !
Ah oui : le bbcode et le html genre <br>, <a href=...>, <b>b etc. ne fonctionnent pas dans les commentaires. C'est voulu.
< Retour en haut de la page