Des racines computationnelles du numérique

On concentre aujourd’hui autour du terme « numérique » un certain nombre de valeurs, de représentations, d’attentes, de savoirs, d’objets. Pour s’en convaincre, il suffit de prendre mon cas : membre d’une Chaire de Recherche sur les Cultures Numériques, travaillant sur les réseaux socionumériques et écrivant sur un blog de recherche. Le numérique est successivement une structuration institutionnelle (qu’on pense également aux Digital Humanities ou au principe même d’Hypothèses.org qui m’héberge !), un objet de recherche et une plateforme d’écriture, qui est à la fois un dispositif technique (nom de domaine, CMS WordPress) et une certaine représentation de l’écriture de recherche (le carnet).

Difficile donc, dans cette circulation et ces appropriations successives, de savoir ce que l’on entend précisément par « numérique »[1]. Cette indétermination n’empêche pas pour autant de replacer le numérique dans une histoire. C’est ce que tente Milad Doueihi en distinguant dans Pour un humanisme numérique l’informatique du numérique. L’informatique est initialement une science, branche de la logique, devenue industrie. Elle est « caractérisée par des manipulations relativement restreintes, ancrées dans le calcul et un accès complexe à la machine ». Le numérique, au contraire, est « une partie intégrante de notre quotidien, avec des accès souples et multiples »[2]. Le numérique est donc en quelque sorte une « extension »[3] de  la science informatique aux dimensions d’une culture.

J’aimerai voir ici approfondir cette dynamique et voir comment l’informatique travaille le numérique, comment son ancrage dans la logique et le calcul est porteur d’un ensemble de valeurs, de représentations du savoir, de la machine et de l’écriture que l’on retrouve aujourd’hui dans les dispositifs numériques. Pour cela, je partirai d’un des textes fondateurs de l’informatique : l’article d’Alan Türing paru en 1936, « On Computable Numbers, with an application to the entscheidungsproblem », en faisant l’hypothèse que ce texte fait écho à un autre texte fondateur de la science moderne, le Discours de la méthode de René Descartes paru en 1637. En l’état, cette hypothèse est évidemment improuvable. Il faudrait pour cela mener un travail colossal qui étudierait l’espace intellectuel et scientifique dans lequel évolua Turing, étudier ses correspondances etc. N’ayant pas la possibilité de mener ce travail et n’ayant pas (encore) lu de biographie de Turing qui prouve ce lien, je suis obligé d’en rester à cet état d’hypothèse. Mon objectif n’est d’ailleurs pas tant de prouver une filiation intellectuelle que d’en tester les valeurs heuristiques : ce que cette hypothèse permet de penser sur l’informatique, son ancrage scientifique et son développement culturel sous la forme du numérique.

 

« Imaginons une machine… »

Machine de Turing
« Doodle » représentant une machine de Turing à l’occasion du 100ème anniversaire de naissance d’Alan Turing

L’article de Turing  est une réponse à un problème logique posé par David Hilbert en 1928 : le problème de la décision (entscheidungsproblem). Sans rentrer dans les détails car n’étant pas logicien, je reprendrai ici l’explication de Dominique Chouchan cité par Clarisse Herrenschmidt page 432 de son livre Les trois écritures. Langue, nombre, code. Le problème de la décision pose la question suivante : « existe t-il une méthode applicable à n’importe quelle assertion qui permette de décider avec certitude si cette assertion est juste ou non ? ». L’enjeu de la question d’Hilbert est énorme : c’est le renfermement possible de la mathématique sur elle-même, par des fondations inébranlables car prouvables par les seuls moyens logiques.[4] Si Gödel avait en 1931 mis à mal ce projet par le théorème d’incomplétude (qui stipule justement qu’une théorie mathématique contient toujours des énoncés dont on ne peut démontrer, de l’intérieur, l’affirmation ou la négation), Turing répond également par la négative en commençant par situer le problème de la calculabilité en termes d’écriture effectuée par une machine : « According to my definition, a number is computable if its decimal can be written down by a machine » (introduction, p.230).  Pour illustrer son propos, il va alors procéder à une expérience de pensée en décrivant cette machine. Elle est composée d’un ruban divisé en cases, d’une table d’instructions et d’une tête de lecture/écriture pouvant se déplacer à droite ou à gauche sur le ruban. La table d’instructions comprend tous les états possibles de la machine et les opérations à mener. Par exemple : si la tête de lecture, en état initial, lit une case vide (c’est-à-dire un « 0 » en base binaire, nous y reviendrons), elle doit y inscrire un 1 et se déplacer d’une case à droite.  Si sur cette case elle rencontre un 0, elle doit passer la case à droite ; si elle rencontre un 1, elle doit y inscrire un 0 et ainsi de suite jusqu’à l’instruction de s’arrêter qui fixe la fin du programme.
Il faut bien préciser que Turing ne décrit pas ici une machine existante mais un moyen de modéliser matériellement le calcul et donc de résoudre le problème de la décidabilité. Nous sommes donc bien, malgré les apparences, dans le registre d’un discours prescriptif plus que descriptif. En cela on peut analyser à travers ce texte des représentations de la machine et de la technique.  Quand donc Turing qualifie sa machine de  « universal computing machine », il pose quelques éléments essentiels quant à la représentation de ce qu’est un algorithme, un ordinateur et un calcul.

  •  Par « machine », Turing entend machine automatique. Il le précise dès le second paragraphe de son article : « In this paper I deal only with automatic machines » (§ 2, p.232). Les enjeux de cette définition sont énormes, en ceci que l’automatisme de la machine est caractérisée par un fonctionnement complètement dépendant de la configuration de la machine. Par configuration, Turing entend la conjugaison d’un certain comportement et la lecture d’un symbole sur la bande de papier. On pourrait définir la configuration par « l’état de lecture » de la machine : pour le symbole X, effectue l’opération Y. Or ce que dit Turing, c’est que la machine automatique n’a besoin que de connaitre l’ensemble des configurations possibles (la table d’instructions, ou programme) et le symbole inscrit sur la bande. Elle n’a donc idéalement pas besoin de l’intervention humaine pour fonctionner, contenant en elle toutes ses conditions de fonctionnement.
  • Cette machine sert au calcul (computing), ce qui suppose un fonctionnement particulier : « If an a-machine prints two kinds of symbols of which the first kind (called figures) consists entirely of 0 and 1 (the others being called symbols of the second kind), then the machine will be called a computing machine » (§ 2, p.232). En d’autres termes, Turing définit le calcul comme une activité scripturaire basée sur un langage formel en base binaire, réduisant au maximum l’ambiguité du signe et donc la nécessité d’une intervention humaine.
  • Cette machine est universelle (§ 6, p.239). Sur ce point Turing n’opère plus par définition mais par affirmation : « It is possible to invent a single machine which can be used to compute any computable sequence » (§ 6, p.239) et partant l’ensemble des autres machines dès lors qu’elles sont caractérisées par une séquence algorithmique. L’universalité est donc définie dans un sens très précis : l’interchangeabilité des machines et des séquences, tant que la base calculatoire binaire reste identique (computable sequence).

 

Trois idées fondamentales donc :

  1. Le calcul est une écriture formelle en base binaire.
  2. Ce calcul est extensible à toutes les machines identiques dès lors que la séquence est écrite correctement
  3. Le signe informatique se caractérise par sa non-ambivalence (ce que Bruno Bachimont nomme l’« autothéticité » du signe informatique[5]) et donc la machine peut se passer, idéalement, de l’intervention humaine.

 

Des racines scientifiques du projet informatique

Comment fonctionne cette machine ? Dans le neuvième paragraphe de son article, Turing reprend ces principaux acquis et imagine le comportement de sa machine :

« Let us imagine the operations performed by the computer to be split up into  “simple operations” which are so elementary that is not easy to imagine them further divided. Every such operation consists of some change of the physical system consisting of the computer and his tape »
(§9, p.245).

Ici, Turing introduit une nouvelle idée. Il fait correspondre la matérialité même de l’ordinateur (le « physical system ») à un modèle analytique de résolution des problèmes qui rappelle celle que propose Descartes dans son Discours de la méthode pour bien conduire sa raison et chercher la vérité dans les sciences[6].

Dans ce texte, Descartes propose en fait deux méthodes : l’une théorique (seconde partie) ; l’autre pratique (la « morale par provision », troisième partie). Cette séparation entre le théorique et le pratique se double d’une distinction spatiale entre l’esprit connaissant en son intériorité autosuffisante (la « substance pensante » p.48) et l’individu Descartes devant vivre dans le monde. Turing va reprendre à sa manière cette distinction en établissant la différence entre la machine automatique et la machine à choix (choice machines). La machine automatique, comme nous l’avons montré plus haut, ne fait idéalement pas appel à l’humain : son fonctionnement est complètement déterminée par son état interne (la « configuration »). Au contraire, la machine à choix atteint un niveau d’ambigüité qui requiert l’intervention humaine, et Turing donne l’exemple des « systèmes axiomatiques » (axiomatic systems). On voit les glissements s’opérer : la problématique de la substance est remplacée par celle de l’automatisme ; le connaissable clair et distinct devient le calculable non-ambigu ; la question éthique est évacuée. La « machine » dont parle Turing sera automatique, c’est-à-dire « substance calculante », si l’on me permet cette formule qui, si elle suggère un simple décalque de la problématique cartésienne, dis je crois un des imaginaires importants constituant la machine informatique.

Passons maintenant au pendant théorique de la méthode cartésienne qui s’articule autour de quatre principes. Tout d’abord le critère d’indubitabilité :

« Le premier était de ne recevoir jamais aucune chose pour vraie, que je ne la connusse évidemment être telle : c’est-à-dire, d’éviter soigneusement la précipitation et la prévention ; et de ne comprendre rien de plus en mes jugements, que ce qui se présenterait si clairement et si distinctement à mon esprit, que je n’eusse aucune occasion de le mettre en doute » (p.47).

Au delà de la suspension préalable du jugement (« ne recevoir jamais aucune chose pour vraie »), il y a dans le critère de l’évidence la notion d’une connaissance qui ne peut pas être remise en doute,  qui ne porte pas à ambigüité. Ce caractère indubitable se retrouve chez Turing avec la notion de calcul comme écriture formelle. Tout l’enjeu de la formalisation est précisément de pouvoir manipuler des signes qui ne seront pas susceptibles d’être interprétés de manière différente. Évacuation donc de la question cartésienne de la « véracité », mais même recherche de l’évidence. Celle naturelle de l’idée chez Descartes ; celle conventionnelle du signe chez Turing (car fruit d’un encodage préalable, c’est-à-dire d’une écriture, lors de la rédaction de la table d’instruction).

 

Ensuite la démarche analytique :

« Le second, de diviser chacune des difficultés que j’examinerais, en autant de parcelles qu’il se pourrait, et qu’il serait requis pour les mieux résoudre » (p.47)

Ici, l’écho est direct avec le découpage de la bande de papier de la machine de Turing et son fonctionnement.  Turing précise bien que les opérations de la machine doivent être pensées « comme si élémentaires qu’il soit difficile de les imaginer plus simples ». Descartes préconise une même « discrétisation » du réel pour en permettre la juste connaissance.

Troisième principe, la composition. Une fois les choses indubitables reconnues, une fois divisées en unités assimilables par la pensée ou le calcul, on peut commencer à « conduire » véritablement sa raison, en allant du simple au composé. Cette démarche me semble également à l’œuvre dans le numérique, car dès lors que Turing pose le problème en termes de calcul, elle y est reconfigurée comme combinatoire. Or, la combinatoire est aujourd’hui je crois une des grandes fascinations visible dans les développements récents d’Internet. Un seul exemple pour étayer cette hypothèse : le service If This Then That qui permet de mettre en relation des données recueillies via API pour produire des combinaisons inédites et (c’est la promesse et le raccourci idéologique du site) des usages nouveaux.

Quatrième principe enfin, le dénombrement : il faut contrôler si en chemin nous n’avons rien oublié, afin de produire une connaissance vraie. Dans son article de 1936, Turing ne mentionne pas de fonction de contrôle. C’est dans un article de 1950, Computing Machinery and Intelligence, qu’il dit explicitement qu’un ordinateur se compose de trois parties : la mémoire (store : le ruban de papier) ; l’unité de calcul (executive unit : la tête de lecture/écriture) ; l’unité de contrôle (control). On retrouve dans ce dernier niveau une fonction similaire à celle de dénombrement chez Descartes.

 

 

Extensibilité de la raison / Universalité du calcul

Une fois sa méthode exposée, Descartes fait l’hypothèse que « toutes les choses, qui peuvent tomber sous la connaissance des hommes, s’entre-suivent en même façon » et qu’à condition de bien respecter les quatre principes énoncés plus haut, « il n’y peut avoir [de choses] si éloignées auxquelles enfin on ne parvienne, ni de si cachées qu’on ne découvre » (p.47). En d’autres termes, la raison, si elle est bien conduite, peut s’étendre à toutes connaissances. Ce qui est en jeu, c’est donc l’universalité du raisonnement. Et sur ce point, le caractère universel de la machine de Turing repose également sur une procédure, c’est-à-dire une conduite en bonne et due forme (langage formel, commandes exécutées ligne à ligne selon une correspondance stricte avec la table d’opérations…). Mais la problématique du calculable là encore transforme la notion d’universalité. Chez Descartes, partant que « la puissance de bien juger […] est naturellement égale en tous les hommes » (p. 33), c’est la bonne conduite qui va permettre l’extension de cette puissance à tout le champ du connaissable.  Chez Turing, l’universalité se définit curieusement par une interchangeabilité des machines en tant qu’elles partagent le même système de calcul. On voit alors très vite comment la question de l’universalité dans le monde numérique[7] va être retravaillée dans le sens de l’interopérabilité informatique, donc le fait qu’une donnée puisse être une séquence computable par n’importe quel terminal de lecture dans n’importe quel système d’exploitation, question aux enjeux différents puisque liée à une industrie et ses normes[8]. On peut donc faire l’hypothèse que la base calculatoire de l’informatique amène un double déplacement. Nous passons d’une connaissance universelle comme intelligible par tous car bien construite à la notion d’une information universelle car répliquable à l’identique.

 

L’informatique comme projet scripturaire

Code issu du site Storify (Document en JavaScript).

Les deux projets scientifiques reposent donc sur un découpage du réel permettant sa manipulation et sa connaissance plus exacte. Mais Turing introduit une nuance essentielle en situant d’emblée l’informatique comme une modalité d’écriture. Il en viendra même à affirmer que « mechanism and writing are from our point of view almost the same thing »[9].  Cette question de l’écriture et plus spécifiquement du calcul entraine plusieurs déplacements. Elle introduit tout d’abord la question du support (le « système physique » de la machine), elle fait passer des « difficultés » (de l’ordre des idées chez Descartes) aux « opérations ». Enfin, elle permet de comprendre que le découpage analytique, pour la culture informatique, correspond à un processus de discrétisation analysé par Bruno Bachimont[5]. Turing lui-même le précise : une « opération simple » correspond à l’écriture d’un seul symbole (« no more than one symbol is altered », §9, p.245) ou un changement de case lue (« changes of distribution of observed squares », §9, p.245). Analyser, pour la machine, c’est en somme diviser les problèmes en unités à même de pouvoir être inscrites dans les cases de la bande de papier. Numériser, c’est adapter le monde aux dimensions de cette bande de papier.

 

Ce primat affirmé de l’écriture n’est pas innocent. Michel de Certeau a en effet bien montré qu’écrire en Occident est plus que l’inscription de signes sur un support. C’est un projet politique, idéologique et économique indissociable de la modernité occidentale.

« Le “progrès” est de type scripturaire. […] Aussi pourrait-on lire, sur les frontons de la modernité, des inscriptions telles que : « Ici, travailler, c’est écrire », ou « Ici on ne comprend que ce qu’on écrit ». Telle est la loi interne de ce qui s’est constitué comme “occidental” ».
Michel de Certeau, L’invention du quotidien. Tome 1 : Arts de faire. Paris : Gallimard, 1990, p.199.

Le parallèle avec les médias informatisés est évident : un ordinateur ne comprend effectivement que ce qui est écrit et selon des modalités algorithmiques précises. En ce sens, l’ordinateur est l’extrême pointe du système scripturaire occidental.

Plus que cela, l’écriture est toujours non pas interprétation ou reflet du monde, mais bien transformation :

« […] sur la page blanche, une pratique itinérante, progressive et régulée — une marche — compose l’artefact d’un nouveau monde, non plus reçu mais fabriqué. Le modèle d’une raison productrice s’écrit sur le non-lieu du papier. Sous des formes multiples, ce texte bâti sur un espace propre est l’utopie fondamentale et généralisée de l’Occident moderne »
(idem, p.200).

C’est en cela qu’on peut bien parler d’un « projet scripturaire informatique », qui transforme nos façons d’habiter le monde. Cette transformation s’exerce notamment sous l’action des racines de la science moderne, de la logique formelle et du calcul comme mode opératoire.

 

Vers les racines numériques de l’informatique ?

Loin de constituer un résidu historique, l’informatique travaille donc les dispositifs numériques et constitue un projet scripturaire qui se caractérise par la vision d’un monde computable, c’est-à-dire réductible à des données calculables, c’est-à-dire discrètes et non-ambigües. On peut poser comme dernière hypothèse que l’introduction du chiffre[10] comme élément central de l’écriture informatique peut expliquer le succès et l’extension de ce que Bruno Bachimont appelle la « raison computationnelle »[11]. Une telle hypothèse, qui ouvre vers d’autres pistes et d’autres lectures, fera peut être l’objet d’un prochain billet sur ce carnet.

 


[1] Dans les termes d’Yves Jeanneret, on peut dire que « numérique » est un terme éminemment polychrésique. Voir Yves Jeanneret, Penser la trivialité. Volume 1 : la vie triviale des êtres culturels. Paris : Hermès-Lavoisier, 2007, p.83.

[2] Milad Doueihi, Pour un humanisme numérique. Paris : Le Seuil, 2011, p.18.

[3] Terme problématique puisqu’il a un sens bien précis dans le contexte informatique. On parle d’une extension logicielle pour parler d’un programme qui vient compléter dans un programme existant pour en augmenter les possibilités.

[4] Pour une illustration graphique de ces théories, voir l’excellent Logicomix, d’Apóstolos K. Doxiàdis et Christos Papadimitriou, paru en France en 2010 aux éditions Vuibert.

[5] Bruno Bachimont, « De l’hypertexte à l’hypotexte : les parcours de la mémoire documentaire. Technologies, idéologies, pratiques », dans Charles Lenay et Véronique Havelange (Dir.) « Mémoire de la technique et techniques de la mémoire », Technologies / Idéologies / Pratiques : Revue d’anthropologie des connaissances, volume 13, n°2, 1999, p. 195-225. Version PDF sur la page de l’auteur

[6] L’ensemble des citations que nous donnerons de Descartes se basent sur le texte établi par Geneviève Rodis-Lewis dans l’édition parue chez Garnier-Flammarion en 1966.

[7] Universalité qui est un aspect essentiel du numérique comme le rappelle Milad Doueihi : Pour un humanisme numérique. Paris : Le Seuil, 2011, p.41.

[8] Ajoutons à ce sujet que les documents édités par le W3C qui fixent les standards Internet ont pour vocation d’ « améliorer la fonctionnalité et l’interopérabilité du Web », il n’est pas mentionné le terme d’universalité. Voir ici pour l’exemple particulier de la norme des CSS (Cascading Style Sheets), rubrique « Status of this document »

[9] Alan Turing, « Computing machinery and intelligence », dans Mind, n°59, 1950, p. 452.

[10] Pour analyse du chiffre comme opérateur de confiance et d’objectivité, voir Theodore Porter, Trust in numbers, the pursuit of objectivity in Science and Public life. New Jersey : Princeton University Press, 324 p.

[11] Bruno Bachimont, « L’intelligence artificielle comme écriture dynamique : de la raison graphique à la raison computationnelle », dans Jean Petitot et Paolo Fabbri (Dir.), Au nom du sens. Paris : Grasset, 2004, p. 290-319. Version pdf sur le site de l’auteur.

« Transmettre ou expérimenter ? » Compte-rendu de l’atelier du 12 Avril

Le 12 avril s’est tenu à l’École des Arts Visuels de l’Université Laval une journée d’ateliers autour de la délicate question de l’enseignement de la « culture numérique ». Co-organisé par René Audet du CRILQ et Milad Doueihi de la Chaire de Recherche sur les cultures numériques

J’ai eu la chance d’y participer, même si je n’ai malheureusement pas pu rester l’après-midi. Vous trouverez ci-dessous un Storify de la journée, et si vous voulez consulter l’intégralité des tweets, Benoît Mélançon a eu l’excellente idée de les rendre disponible via son blog.

D’un point de vue général, la journée fut une grande réussite. L’ambiance était excellente, et les discussions furent riches, que ce soit en « on » (pendant les tables rondes) ou en « off » (entre deux gorgées de café).

Surtout, le format de l’atelier était extrêmement plaisant. Entre 3 et 6 par tables, nous alternions séances de discussion avec nos voisins et table ronde plus classique. Non seulement cela a permis de lier connaissance avec les participants, mais cela a aussi amené un dynamisme très intéressant, puisque chaque discussion nourrissait les tables rondes et vice-versa.
De plus, et je le signale dans le Storify, une telle organisation a permis de constater à quel point l’analyse du numérique regroupe des sensibilités et des savoirs-faire très différents. Une spécialiste de l’archive, un professeur en recherche & création ou en cinéma enseignent et expérimentent à leur manière les outils numériques. La multiplicité de ces approches dessine une champ d’enquête (le « numérique ») qui se caractérise par son étendue et sa plasticité.

[Cliquez ici pour voir le compte-rendu Storify]