R é f l e x i o n s

&

d é b a t s

HOMO SAPIENS INFORMATICUS chronique de Gilles Dowek

Détecter un informaticien dans un dîner en ville

Le mode de pensée des informaticiens se distingue par le rôle central qu’y jouent les algorithmes.

C

omment savoir, dans un dîner en ville, si le convive assis en face de vous est informaticien ou non ? Une manière de pro-céder consiste à lui poser cette question : « Comment savoir si une image contient ou non un cercle rouge ? » S’il répond que c’est facile, qu’il suffit de regarder l’image, etc., ce n’est pas un informaticien. Si, en revanche, il trouve la question embarrassante, répond que c’est sans doute possible, mais certainement difficile, etc., c’est presque sûrement un disciple d’Alan Turing et de Donald Knuth.

Cet algorithme de détection illustre au moins deux traits de la « pensée informatique », c’est-à-dire de la manière spécifique dont les informaticiens pensent les problèmes.

Tout d’abord, pour un informaticien, une question introduite par l’adverbe interrogatif comment appelle, en réponse, un algorithme. Comment savoir si un mot contient la lettre a ? Une façon de procéder est de comparer successivement chacune des lettres du mot à la lettre a jusqu’à soit trouver la lettre a, soit atteindre la fin du mot. La question « comment savoir si un mot contient deux fois la même lettre ? » est analogue, mais plus intéressante, car, en plus de l’algorithme naïf consistant à comparer chaque lettre à toutes les autres, on connaît un deuxième algorithme, plus rapide.

Qualifier de difficile la question « Comment savoir si une image contient un cercle rouge ? », c’est dire qu’il est difficile de

construire un algorithme pour décider si une image, par exemple donnée pixel par pixel, contient ou non un cercle rouge – beaucoup plus difficile, par exemple, que de construire un algorithme pour décider si un mot contient la lettre a, ou deux fois la même lettre.

Seconde caractéristique : dans la description d’un tel algorithme, un informaticien utilise des opérations telles que « comparer deux lettres », « comparer la couleur de deux pixels », etc. qui, en théorie, demanderaient à être décomposées

en opérations plus élémentaires ; mais il n’utilise pas d’opérations que nous savons exécuter tout en ignorant comment nous les exécutons, par exemple déterminer si une image contient un cercle rouge ou attribuer un tableau à un peintre.

En effet, nous savons tous plus ou moins distinguer un Lorenzetti d’un Basquiat. Et, sauf à supposer que nous puissions exécuter un processus non algorithmique, il doit donc exister, quelque part dans un recoin de notre cerveau, la traduction biologique d’un algorithme qui distingue les Lorenzetti des Basquiat. Mais nous ignorons tout de cet algorithme : nous ne savons pas, par exemple, l’« expliquer » à un ordinateur.

C’est un vieux paradoxe : les ordinateurs font des choses qui nous semblent difficiles, comme multiplier des nombres de 12 chiffres, mais ils ne parviennent pas à faire des choses qui nous semblent faciles, comme distinguer un Lorenzetti d’un Basquiat. Ce qui est une évidence pour tout un chacun, car il peut exécuter une multitude d’algorithmes naturels, biologiquement codés dans son cerveau, sélectionnés par des millions d’années d’évolution et dont il ignore le fonctionnement, devient une énigme pour les informaticiens. C’est pourquoi les informaticiens portent

sur le monde un regard émerveillé. Vous savez comment distinguer un Lorenzetti d’un Basquiat ? Eh bien, un informaticien, lui, ne sait pas.

Cette nouvelle définition de la connaissance, non comme faculté de résoudre un problème, mais d’ex-pliquer comment on le résout, est

peut-être propre à l’informatique. Mais il est plus vraisemblable que l’informatique soit uniquement, pour des raisons historiques faciles à comprendre, à l’avant-garde d’un mouvement réflexif plus vaste, qui valorise davantage les méthodes de résolution que les solutions elles-mêmes. Demain, on pen-sera peut-être qu’il n’est pas suffisant que les écoliers sachent quel est le pluriel des mots « souris » et « chacal », mais qu’il faut aussi qu’ils sachent expliquer l’algorithme donnant le pluriel d’un mot. n

Gilles DOWEK est chercheur à l’Inria et membre du conseil scientifique

de la Société informatique de France.

L’informaticien n’utilise pas d’opérations que nous savons exécuter tout en ignorant comment nous les exécutons.

18]

Homo sapiens informaticus

© Pour la Science - n° 445 - Novembre 2014