NE DITES PLUS « INFORMATIQUE », ...
(Fin du titre en fin d'article)

suite et fin

Charles DUCHÂTEAU

<== Début de l'article dans le précédant numéro ==

Le critère du « copain portugais »

     J'ai un ami portugais qui ne connaît pas un traître mot de français, et je souhaite lui donner (en portugais évidemment) les indications nécessaires à certains travaux. Il est facile de voir que je pourrai par exemple lui fournir la marche à suivre pour qu'il puisse conjuguer un verbe français : il ne sera pas conscient qu'il est en train de conjuguer, il serait parfaitement incapable de prononcer les suites de caractères que je vais lui demander d'écrire, il ne comprendra pas ce que signifie le travail que je lui commande, mais cela n'a aucune importance : en suivant mes indications il va conjuguer en français.

     Ainsi en se limitant à un verbe régulier du premier groupe, mes instructions (en portugais) pourraient être du style :

- demande qu'on te fournisse le mot à traiter (par exemple sur un petit bout de papier)

on lui donne « porter »

- écris ce mot au dessus de ta feuille

il écrit porter

- efface les deux derniers caractères de ce mot

le mot devient port

- écris « je » puis passe un espace puis écris le mot raccourci auquel tu colles (sans espace) la lettre « e »

il écrit je porte

- passe à la ligne, écris « tu », puis le mot raccourci auquel tu colles (sans espace) les lettres « es »

il écrit à la ligne tu portes

... ...

Même si cela est fort loin des contraintes syntaxiques des langages de programmation, nous venons de concevoir ainsi un premier programme (à destination du copain portugais). Nous allons y revenir, puisque (et cela illustre bien cette difficulté de formaliser) ce premier exemple de programme est aussi le premier exemple de programme incorrect...

     De la même manière nous pourrons lui expliquer comment réaliser une addition écrite, comment calculer une moyenne, et même en prenant pas mal de temps comment calculer la dérivée d'une fonction mathématique élémentaire.

     Mais si le travail consiste à donner (en portugais) les règles qui vont permettre de résumer un texte écrit en français, on devine qu'il s'agit là d'une tâche redoutable, peut-être même impossible.

Il importe de bien insister sur le fait qu'il s'agit de donner les indications pour un texte quelconque, qu'on n'a évidemment pas devant les yeux lorsqu'on rédige ces indications. Sinon, si c'est de la synthèse de tel texte précis qu'il s'agit, la solution est immédiate : je le résume moi-même, je donne ce résumé à mon ami qui n'a plus qu'à le rendre. Ce que je veux c'est lui indiquer comment résumer n'importe quel texte, c'est avoir formalisé le processus de synthèse d'un texte.

     On voudrait que face à un texte qu'il ne comprend pas (puisque c'est un texte français), où il ne voit qu'une succession de lettres et de mots, il puisse à l'aide de nos indications produire un autre texte français (qu'il ne comprendra pas davantage) et qui constitue un résumé du premier... On mesure j'espère toute la difficulté du processus.

     Et on devine que des stratégies formalistes simples comme « réécrire le texte en ne retenant qu'un mot sur cinq » conduiront à un charabia qui ne constituera en aucune manière une synthèse du texte original.

     Le même défi se rencontre si la travail consiste à traduire un texte du français vers l'anglais. On pourrait penser à une approche qui consisterait à fournir au copain portugais un lexique français - anglais qui comporterait par exemple les équivalences :

il

he

la

the

porte

door

ce qui conduirait immanquablement à traduire la courte phrase « il la porte » par « he the door »...

     Mais ce qu'il est essentiel de saisir c'est que si demain on dispose pour ces diverses tâches des indications nécessaires à destination du copain portugais, après-demain, on pourra les faire faire par l'ordinateur : le problème de leur formalisation sera réglé.

Le propos n'est évidemment pas ici d'assimiler les capacités d'un humain avec celles d'un ordinateur. Mais du point de vue de la nécessité de formaliser (décrire les traitements sur la seule base de la forme des informations à traiter, sans jamais faire intervenir la signification, le sens que nous attachons à ces informations), le passage par un homme ne comprenant pas notre langue mais auquel nous pouvons prêter par ailleurs les mêmes possibilités de traitements formels que les nôtres (il peut compter, additionner, repérer une suite de caractères dans un texte,...) est éclairant.

On lira à ce propos la magnifique contribution « Esprits, cerveaux et programmes » de John Searle dans (Hofstadter 87).

L'ordinateur, un manipulateur formaliste d'informations

     Même lorsqu'une énorme couche de logiciel [1] transfigure l'ordinateur et le rend capable de traitements sophistiqués (mais toujours formalisables et même formalisés, puisque justement l'ordinateur en est capable) des indices nous montrent clairement que l'on n'échappe pas à la contrainte de formalisation.

     Ainsi, par exemple, la plupart des logiciels actuels de traitement de texte comportent un correcteur orthographique, capable de détecter dans le texte traité les « fautes d'orthographes ». Voici ce que donne l'action d'un tel correcteur orthographique sur un texte (que je vous recommande de lire à haute voix) :

     On appréciera le sens de la phrase écrite ci-dessus et pour lequel le traitement de vérification effectué ne détecte aucune faute d'orthographe.

     On devine aisément que les indications consistent essentiellement dans ce cas à munir l'ordinateur d'une interminable liste de tous les mots acceptables (noms au singulier et au pluriel, formes conjuguées, articles, adjectifs...) : une erreur est détectée chaque fois qu'un mot du texte n'est pas dans cette liste ; sinon, c'est correct.

     Il y a mieux : certains logiciels de traitement de texte sont accompagnés d'un « correcteur grammatical ». Voici ce que donne, face à la même phrase, le « correcteur grammatical » de mon traitement de texte favori :

J'ai parlé ci-dessus de « mot » du texte. C'est un excellent exercice de chercher ce qu'est pour un traitement de texte ou pour un éditeur de texte la définition d'un mot, ou plutôt selon quels critères une succession de caractères est candidate à être un mot. Ainsi, dans le cas du correcteur orthographique quels sont les suites de caractères dont il vérifiera qu'elles sont ou non présentes dans sa longue liste. On constate alors que les critères de détermination de ce qu'est un mot changent au sein d'un même logiciel selon qu'il s'agit de sélection, de recherche, de vérification orthographique...

     Il y a mieux : lorsqu'un mot fautif est détecté, une liste de corrections envisageables est proposée par le correcteur orthographique. Il est amusant de décrypter dans les mots alors proposés la stratégie - évidemment purement formelle - suivie par le programmeur (= celui qui a donné les indications).

     Ainsi la phrase « J ai Laicé desborder le lê », conduit à épingler le mot fautif « Laicé », qui voit alors proposer comme candidats « Alice, Laciez, Laissé, Laisse, Laisser, Laissez, Laîche, Lainé, Laité, Laies, Lacé, Lancé ». On appréciera le fait que comme l'original, les mots proposés le sont en tout cas avec une majuscule. « desborder » lui ne provoque l'apparition que de deux propositions (dont on notera la proximité sémantique avec « déborder ») : « dessouder » et « destroyer » ! Enfin, « lê » conduit aux suggestions « le, lé, lai, lei, let »... Si ceci ne démontre pas le caractère formaliste des traitements, alors je veux bien manger mon dictionnaire... [2]

     Si l'on veut bien, pour quelques instants, se mettre dans la « peau de l'ordinateur » et pour en terminer avec ces problèmes de mots, tout pour « lui » (y compris nos plus beaux textes français) est comparable à ce que sont pour vous les « textes » qui suivent :


ou

ou mieux encore

     Je vous laisse le soin de souligner les mots fautifs du premier, de mettre au passé le second et d'écrire au pluriel, chaque fois bien entendu que vous le jugez opportun, le troisième...Vous voilà maintenant « le portugais » de chacun de ceux qui, comprenant parfaitement ces textes, devraient vous donner pour chacune de ces tâches les indications nécessaires.

La programmation

     On a déjà pu goûter aux plaisirs de la programmation en écrivant les indications nécessaires pour faire conjuguer notre ami portugais. Ce n'est pas mon propos ici d'en dire plus sur le « faire faire », qui est au coeur de la programmation et qui se cache dans ma pseudo-définition d'ordinateur sous la petite phrase « pour autant qu'on lui ait indiqué comment mener à bien ce traitement ».

     J'avais signalé ci-dessus que ce premier exemple de « programme pour faire conjuguer » était aussi le premier exemple d'un programme incorrect. On aura vu que si, fort de nos explications, notre ami portugais se voit confier le soin de conjuguer le verbe « aimer », il fournira sans sourciller « je aime », puisque c'est là ce que nos indications lui ordonnent. On pourra toujours alors corriger [3] la première version en ajoutant les considérations indispensables sur les verbes commençant par une voyelle. Puis on se rendra compte (toujours en se limitant aux verbes réguliers du premier groupe - ceux en « er ») qu'il y a aussi le problème du « h » (j'hésite, mais je hume) ; ces « détails » réglés, j'aurai la surprise de voir l'ami portugais, servi par un utilisateur facétieux, conjuguer sans problème « je cerisie » (première personne de l'indicatif présent du verbe « cerisier ») ou « je plombie »... et il me faudra alors lui fournir, en plus des indications, la liste des verbes acceptables...

     C'est cela le défi qui est au coeur de la programmation : comment décrire, sur la seule base de la forme, sans jamais référer au bon sens ou à une commune expérience, des traitements d'informations que nous n'accomplissons pas de manière formaliste. Je l'ai évoqué plus haut, nous conjuguons essentiellement par euphonie et non pas en appliquant je ne sais quelle règle ; nous conjuguons sans réfléchir... Et même lorsqu'à l'école fondamentale nous avons appris à conjuguer, l'essentiel était déjà fait : nous écrivions sans doute parfois « ils porte », jamais « vous portons ».

     Vous pouvez passer en revue les tâches précédemment classées comme « aisément formalisables » (écrire un nombre en toutes lettres, conjuguer, trier, calculer une dérivée) et vous admettrez sans doute que l'adverbe aisément est peut-être un peu exagéré... sauf lorsqu'on compare ces tâches à celles de la seconde colonne (résumer, traduire, synthétiser...).

     C'est ce qui fait sans doute de la programmation -même si d'autres difficultés viennent de ce que l'ordinateur est infiniment plus formaliste encore que notre ami portugais - une des activités les plus inhabituelles et les plus complexes.

Et l'intelligence ?

     Il est à présent évident que de notre point de vue d'être humain d'autres termes peuvent être accolés à l'axe qui va de l'« aisément formalisable » au « très difficilement formalisable ».

     Plus les traitements concernés par le processus de formalisation exigé se situent à droite sur l'axe, plus ils correspondent à des tâches qui réclament de notre part « de l'intelligence ». « Compter les mots d'un texte » n'est pas un travail très sophistiqué (pour nous !) [4] ; « synthétiser un texte » est un travail comportant pas mal de « matière grise ajoutée ».

     Dès lors, plus l'informatique s'attaque à des tâches difficilement formalisables pour tenter de les formaliser, plus le comportement de l'ordinateur disposant de l'énorme masse des indications nécessaires à l'accomplissement de cette tâche - indications toujours formalistes - nous paraît « intelligent ».

     Être un « grand maître » au jeu d'échecs était (est !) sans conteste considéré comme une preuve d'intelligence ; aujourd'hui l'ordinateur équipé des indications indispensables [5] gagne aux échecs, même quand il est opposé aux grands maîtres. Guidé par un système expert adéquat, l'ordinateur pose des diagnostics médicaux, aide à détecter les pannes des locomotives, seconde les spécialistes dans la détection des champs de pétrole...

     Ceci, vu ce qui vient d'être dit, montre dans un premier temps que tous ces processus ont pu être formalisés et dans un second temps pose la question de « l'intelligence », non de l'ordinateur [6], mais du couple ordinateur-indications de traitement.

     Tout ce que je voudrais signaler ici c'est que, me semble-t-il,

  1. cette question a du sens

  2. il ne faut pas confondre « intelligence » et « conscience »

     Si l'on veut bien en effet parler non d'intelligence, mais de comportements intelligents, la question du comportement intelligent d'un système (même informatisé) me semble pouvoir être posée [7] et mérite plus qu'un haussement d'épaules ou que les anathèmes de ceux qui définissent l'intelligence comme « ce que ne font pas (encore) les ordinateurs ».

     Il faut sans doute dissocier la question de l'intelligence et celle de la conscience : vous pouvez me montrer votre intelligence, jamais vous ne pourrez me prouver votre conscience ou le fait que vous « pensez ». Le seul être dont je sois certain qu'il est conscient et qu'il pense, c'est moi.

Lorsque je commence le cours qui est censé faire des étudiants qui terminent leur formation universitaire en informatique des formateurs aptes à l'enseigner, je le débute souvent par une question : « donnez-moi des "chose" qui vous paraissent être hors de portée des ordinateurs ». Je vois alors fleurir des réponses comme « être triste », « avoir des sentiments », « aimer »... et beaucoup plus rarement évoquer des tâches de traitement d'informations difficilement formalisables comme résumer, traduire...
Si demain on fait « pleurer » les ordinateurs à la lecture d'un poème particulièrement poignant seront-ils « tristes » pour autant ; et si mon ordinateur de bureau m'accueille par un « Salut Charlie » (depuis qu'il est équipé d'une carte son), est-il forcément « content » de me voir ?

     Je ne souhaite pas pousser plus loin la question (la provocation ?). On est sans doute fort loin des MegaBytes, des RAM et des SETUP. Mais s'il vaut la peine d'enseigner l'informatique, c'est sans doute à cause de questions comme celles-ci et pas pour faire des « presse-boutons » ou des « clique-souris »...

CONCLUSIONS

     Après avoir pris conscience du caractère formaliste des traitements, il resterait à préciser quelles informations sont acceptables par l'ordinateur et sous quelle forme, à cerner le rôle des périphériques... J'en resterai là pour l'instant.

     Nous pouvons à présent achever le titre qui nous enjoignait de ne plus parler de « l'informatique » :

ne dites plus « informatique »,

 
 

dites « inFORMEatique » !

Charles DUCHÂTEAU
CeFIS, Facultés N-D. de la Paix
rue de Bruxelles, 61 - B-5000 NAMUR

Tél +32 81 725060 - Fax +32 81 725064
E-mail : cduchateau@cc.fundp.ac.be

Paru dans la  Revue de l'EPI 83 n°  de septembre 1996.
Vous pouvez télécharger cet article au format .pdf (183 Ko).

BIBLIOGRAPHIE

ACM Turing Award Lectures ; The First Twenty Years. 1966-1985. ACM Press, New York, 1987.

Arsac J. (1987) Les machines à penser. Des ordinateurs et des hommes. Editions du Seuil, Paris, 1987.

BULL (1991) Intelligence artificielle et bon sens. Collection F.R. BULL, Masson, Paris, 1991

Changeux J.-P., Connes A. (1989) Matière à pensée, Éditions Odile Jacob, Paris, 1989.

Defays D. (1988) L'esprit en friche. Les foisonnements de l'intelligence artificielle, Pierre Mardaga, Bruxelles, Liège, 1988.

Duchâteau C. (1990) Images pour programmer. Apprendre les concepts de base. De Boeck-Wesmael, Bruxelles, 1990.

Duchâteau C. (1992) « Comment définir une culture informatique » Journal de Réflexion sur l'informatique, n° 23, octobre 1992, pp. 34-39.

Ganascia J.-G. (1990) L'âme machine Les enjeux de l'intelligence artificielle Editions du Seuil, Paris, 1990.

Hofstadter D. (1985) Godel, Escher, Bach. InterEditions, Paris, 1985.

Hofstadter D., Dennett D. (éditeurs). (1987) Vues de l'esprit. Fantaisies et réflexions sur l'être et l'âme. InterEditions, Paris, 1987.

Linard M. (1990) Des machines et des hommes Editions Universitaires, Paris, 1990.

Pair C. (1987) « Informatique et enseignement : hier, aujourd'hui et demain. ». Bulletin de l'EPI, septembre 1987, p 85-97.

Varela F.-J. (1989) Connaître les sciences cognitives. Tendances et perspectives. Editions du Seuil, Paris, 1989.

Weizenbaum J. (1981) Puissance de l'ordinateur et raison de l'homme. Les Editions d'Informatique, Paris, 1981.

NOTES

[1] le logiciel, ce sont les indications de traitement, conçues par un homme (ou une équipe) et dont il est question dans la pseudo-définition apportée plus haut.

[2] Qui, notons le au passage, comme il s'adresse lui à un être humain, toujours en quête de sens, ne propose pas seulement une longue liste de mots mais des définitions qui sont autant de liens entre le mot défini et ceux qui servent à le définir et tissent ainsi des réseaux qu'il nous faut bien appeler « sémantiques ».

[3] En informatique on dit « debugger » (ôter les « bugs »); même si l'exotisme du terme en amoindrit peut-être la portée, il s'agit bien de corriger des erreurs...

[4] Même si la description des traitements formalisés qui décrivent ce processus n'est pas simple; on retrouve à nouveau le fossé entre le « faire » (immédiat, réflexe,...) et le « faire faire » (qui ne peut se baser que sur des considérations de forme); c'est ce fossé qui constitue toute la difficulté de l'activité de programmation.

[5] Ce qu'on appelle le « logiciel », et dans le cas du jeu d'échec on en devine la taille et la complexité...

[6] Un ordinateur « tout seul » ou « tout nu » (= sans logiciel) , ça n'existe pas; et comme ça n'existe pas, ça ne peut forcément pas « être intelligent ».

[7] et l'a été depuis bien longtemps (avant même la naissance de l'ordinateur) par des gens comme Turing qui considérait même la question plus choquante « Les machines peuvent-elles penser ? » (Cf. Hofstater 87, p. 61-76).

___________________
Association EPI

Accueil

Sommaires des Revues

Informatique et TIC