Avez-vous trouvé cet article étonnant ?
Le 10.04.2013

Algo-quoi ? Pourquoi nous avons tous besoin des algorithmes

Les algorithmes sont partout, mais pas d'inquiétude il est très facile de savoir de quoi il s'agit. Le pari est pris : vous allez comprendre ce qu'est un algorithme et découvrir pourquoi c'est une connaissance qui deviendra indispensable dans le futur.
0
© Inria / Photo J. Wallace

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ï.

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.

 

Pour en savoir plus

Ajouter un commentaire

Commentaires

"L'exemple donné est intéressant.

Sauf que dans la vie réelle, quand on donne des indications précises à une personne pour qu'elle se rende quelque part, les suit-elle à la lettre ? Le peut-elle, d'ailleurs ?

Nous ne comptons pas nos pas. Nous faisons parfois des erreurs (il peut être difficile de suivre des instructions, même parlées, tout en se déplaçant). Surtout, nous devons faire face à des imprévus. S'il y a des travaux dans la rue, trop de circulation, de grandes flaques d'eau, un chien méchant ou une manifestation, le trajet effectué pour se rendre à l'hôtel ne sera sans doute pas celui initialement prévu.

Sauf cas exceptionnels (chasse au trésor...), le plan que l'on donne à quelqu'un n'est pas une liste d'instructions à suivre à la lettre. Ce n'est pas un algorithme. C'est une ressource parmi d'autres que cette personne utilisera pour déterminer ses actions dans un environnement dynamique et peuplé d'autres acteurs.

En d'autres termes, dans la plupart des cas, le plan que l'on donne à quelqu'un n'est pas un algorithme...

Lucy Suchman [1] a beaucoup écrit sur ces questions de plans et d'action (ou cognition) située. Publié en 1987, son livre "Plans and Situated Actions: The Problem of Human-machine Communication" [2] a inspiré de nombreux travaux. Pour une présentation rapide (en anglais) de ce livre, voir [3] par exemple.

[1] http://www.lancs.ac.uk/fass/sociology/profiles/lucy-suchman
[2] http://books.google.ca/books/about/Human_Machine_Reconfigurations.html?id=VwKMDV-Gv1MC
[3] http://methodenpool.uni-koeln.de/situierteslernen/11suchman.pdf
"
Avertir le modérateur
"Pari perdu ?

Lorsque j'ai eu envie de m'emparer de cette anecdote d'un soir qui m'avait profondément marquée, je me suis posé une question : est-ce que la raconter ainsi pourrait aider à partager ce qui fait la nature de cette abstraction qu'est un algorithme. Pari perdu ?

Voilà une vraie question pour ceux qui aident à faire de la médiation scientifique : on choisit une métaphore, on prend le risque d'une comparaison, on s'empare d'un élément issu du quotidien pour essayer de partager une notion abstraite. Ici : celle d'algorithme.

Est-ce une aide pour comprendre ? Ou une source de confusion ? Je l'ignore dans l'absolu. Mais je sais qui détient la réponse : Ce sont ceux avec qui nous partageons ces savoirs et ces méthodes de manière participative qui diront, «bon là tu t'es planté, ton histoire de la gare de Lyon a pas aidé», ou «tiens, la chance fait que ces mots étaient là au bon endroit au bon moment, j'ai un peu mieux pigé». Avant de poster ces lignes c'est que j'ai fait : j'ai «testé» si la métaphore marchait.

Plus généralement, nous croyons que pour maîtriser ce numérique qui fait notre quotidien et pas juste le "consommer", il faut en piger les fondements, donc augmenter notre culture scientifique sur ces sujets.

Notez bien le «notre» : chercheur-e-s ou pas, nous sommes plus ou moins déficitaires à ce niveau là, nous avons besoin de construire ensemble cette culture scientifique en science du numérique."
Avertir le modérateur

Partenaires