Où deux vieux monsieurs partagent un langage universel
Gare de Lyon, Paris, minuit bien tassé. Il n'y a que lui et moi dans cette rue. Le vieux monsieur qui vient vers moi a deux choses dans la main : la carte d'un hôtel de la rue Jeanne d'Arc et ces quelques caractères « กรุณา » ? écrits sur un bout de papier dans une langue dont je ne reconnais même pas l'écriture. En revanche, ce dont il a besoin est facile à deviner.
Comment lui expliquer le chemin partant de la gare de Lyon vers cet hôtel près de l'hôpital de la Pitié ?
En anglais ? À mon « Speaking English ? » il répond quelque chose comme «ไม่ เสียใจ » !
En faisant un plan ? Ni lui ni moi n'avons de crayon !
Nous voilà donc sans aucun langage commun ni aucun support commun. Et pourtant j'ai une information compliquée à lui passer.
Je lui montre alors le trajet sur mon smartphone, il semble comprendre de quoi il est question. Mais comment va-t-il le mémoriser et le traduire en geste de marche ? C'est lui qui va avoir la bonne idée : il m'invite par des gestes à lui miner le trajet. J'ai donc besoin de lui dire «tout droit pendant N pas» en mimant "→N" (c'est à dire un geste de la main pour mimer un pas, suivi du nombre de pas compté sur les doigts) ; «quart de tour à gauche» en mimant "┐" (un geste de la main) et «quart de tour à droite» disons "┘". Je n'ai plus qu'à lui donner la suite des →N , ┐ , ┘ qui décrivent le chemin, à partir de ce que me donne mon smartphone et hop le tour est joué.
Nous voilà donc à créer un langage minimal pour coder cette information dont nous comprenons lui et moi le sens.
Il comprend immédiatement ce mini-langage. La chance veut aussi qu'il puisse compter sur les doigts comme un français le fait. Comme c'est une séquence d'actions, son cerveau comme tous les cerveaux humains, peut l'apprendre facilement "comme une danse ou une chanson". Il répète donc le mime devant moi quelques instants. Et moi de lui montrer sur mon smartphone qu'on peut vérifier le trajet au fur et à mesure que son mime est joué.
Nous voilà donc avec le problème soldé.
Lui et moi avons bien rigolé ce soir là. Plus tard, la photographie de son petit bout de papier m'a permis d'aller sur le Web découvrir que l'écriture est du thaï.
Il comprend immédiatement ce mini-langage. La chance veut aussi qu'il puisse compter sur les doigts comme un français le fait. Comme c'est une séquence d'actions, son cerveau comme tous les cerveaux humains, peut l'apprendre facilement "comme une danse ou une chanson". Il répète donc le mime devant moi quelques instants. Et moi de lui montrer sur mon smartphone qu'on peut vérifier le trajet au fur et à mesure que son mime est joué.
Nous voilà donc avec le problème soldé.
Lui et moi avons bien rigolé ce soir là. Plus tard, la photographie de son petit bout de papier m'a permis d'aller sur le Web découvrir que l'écriture est du thaï.
Où la morale de l'anecdote a plus d'un millénaire.
Si je me permets de raconter cette histoire ici, c'est qu'il me semble que c'est une belle histoire de... science informatique.
Nous avons codé une information dont nous comprenions lui et moi le sens, même si, une fois codée, les mouvements de doigts et de mains avaient juste l'air de gestes bizarroïdes. À défaut de parler le même langage nous avons donc fabriqué un langage mécanique minimal qui nous a permis de communiquer le trajet à effectuer. Ce langage ne peut pas servir à grand chose d'autre, mais il permet d'exprimer tous les trajets piétons d'un point à un autre dans une ville pas trop compliquée. La séquence d'actions à effectuer que ce soit pour un robot, un vieux thaï ou une jeune gauloise, est formellement identique. Pour désigner une telle abstraction on parle d'algorithme. Cet algorithme nous l'avons implémenté sous forme d'une "comptine de geste" pour que son cerveau* le conserve sans soucis.
* En effet, notre cerveau n'est pas capable de mémoriser plus de 4 ou 5 items dans sa mémoire de travail, mais il peut apprendre des séquences beaucoup plus longues si elles sont tournée sous forme de séquences de gestes ou de signes.
Mais alors, dans quelle mesure cette façon de penser sous forme "algorithmique" peut-elle servir au delà de ce petit cas particulier ?
Pour répondre à cette question j'ai besoin d'inviter dans ce texte plusieurs grands collègues scientifiques. D'abord Gérard Berry qui nous explique très simplement :
"Un algorithme, c’est tout simplement une façon de décrire dans ses moindres détails comment procéder pour faire quelque chose. Il se trouve que beaucoup d’actions mécaniques, toutes probablement, se prêtent bien à une telle décortication. Le but est d’évacuer la pensée du calcul, afin de le rendre exécutable par une machine numérique (ordinateur, ..). On ne travaille donc qu'avec un reflet numérique du système réel avec qui l'algorithme interagit."
Les scientifiques savent que ces algorithmes sont devenus des outils structurants y compris en sciences de la vie, de la matière, de la terre, ou de l'humain. Mieux encore, trouver l'explication scientifique ultime d'un phénomène ne se réduit plus juste trouver "l'équation mathématique qui l'explique" mais plutôt "l'algorithme informatique qui le simule" comme l'explique Gilles Dowek. Ce n'est pas uniquement une "explication" mais un modèle qui pourra être simulé numériquement pour être confronté aux mesures effectuées.
Une culture des algorithmes
Dans tous les secteurs socio-économiques, tous impactés par le numérique, on imagine aisément que ceux qui maîtriseront ces fondamentaux seront les créateurs du monde qui vient.
De même qu'avoir une culture médicale permet de rester maître des solutions proposées par le médecin qui nous soigne, avoir une culture informatique permet de choisir, paramétrer, adapter, changer, les logiciels et objets numériques que nous devons utiliser. Apprendre un peu de programmation permet de malaxer ce concept essentiel d'algorithme qui est le fondement des objets informatiques.
Pour découvrir cette notion, c'est sur )i(nterstices que Philippe Flajolet nous explique ce qu'est un algorithme.
" Penser est la noblesse de l’esprit, ce qui reste difficilement explicable. Calculer (y compris manipuler des signes) est bien plus simple et systématique, et pour tout dire mécanisable".
Ainsi, en comprenant ce que les algorithmes permettent de faire ou pas, les artistes peuvent ils créer des oeuvres d'art assisté par ordinateur où il ne s'agit pas d'utiliser des logiciels, mais de détourner des algorithmes pour "faire fonctionner" de nouvelles oeuvres d'arts. Il ne s'agit pas de remplacer l'artiste par un ordinateur... quel intérêt ? Mais de regarder tout ce qui peut être délégué à un mécanisme algorithmique pour, au delà, permettre et obliger l'esprit humain à se dépasser. Conduire son esprit à penser et créer au delà de ce qu'un ordinateur peut calculer, voilà le défi que l'artiste du numérique doit relever.