Les méthodes de pensée informatique et créative

En linguistique, l’hypothèse de Sapir-Whorf tend à penser que nos représentations mentales du monde dépendent de notre langage. Développée par l’anthorpologue américain Edward Sapir, cette
théorie peut être soutenue à différents degrés d’orientation de l’esprit : le déterminisme linguistique voit une orientation radicale du langage sur les pensées humaines alors que la relativité linguistique est plus tempérée et soutient que le langage est capable d’influencer les comportements et les pensées. Dans l’un ou l’autres, cette hypothèse nous amènerait à penser que les langages de programmation jouent un rôle important dans la recherche créative informatique et la construction psychologique du designer assisté par ordinateur.

Ce que les algorithmes ont fait à la pensée

Une nouvelle technique demande souvent à l’humain de penser sa relation avec elle. Outre les connaissances que cette technique nous apporte, elle peut aussi apporter de nouvelles manières de poser des questions et bien sûr d’y répondre. Lors d’un chapitre de leur livre Le temps des algorithmes, Serge Abiteboul et Gilles Dowek expliquent en quoi les algorithmes et l’informatique ont apporté de nouvelles manières de penser. Spécialiste de la Web data Management, Serge Abiteboul est directeur de recherche Institut National de Recherche en informatique et Automatique depuis 1982 et troisième titulaire de la chaire. Gilles Dowek, quant à lui, est chercheur à Inria au LSV et professeur attaché à l’ENS Paris-saclay. Avant que vienne la révolution scientifique, lorsque les humains se posaient une question à propos de la nature, il n’avait rien d’autre que le choix de regarder dans les textes écrits par les anciens tels que Aristote. Longtemps l’Occident restera influencé de ses recherches de la perception de ce qui nous entoure. Cette méthode avait le défaut qu’elle facilitait la reproduction des erreurs puisque rien n’était vérifié. Quand quelqu’un tentait de contredire ces textes, il était rarement écouté puisque la doctrine de l’église faisait souvent barrage. Francis Bacon, philosophe de la fin du XVI siècle et du début du XVIIe siècle est considéré comme l’un des premiers philosophes à rejeter le principe aristotélicien. Pour lui, la recherche doit se fonder sur l’induction. On associe souvent les découvertes méthodologiques de cette période à Isaac Newton, puisque qu’il met en évidence que l’observation et l’expérimentation amène à la connaissance. Enfin la révolution informatique a elle aussi amené les humains à modifier leur méthodologie de travail. On l’appelle parfois « pensée informatique » ou bien « pensée algorithmique ». Alors qu’au départ, elle était destinée aux mathématiciens, petit à petit elle s’exporte à tous, dont les designers. Le premier prisme de cette nouvelle méthodologie est l’emploi de données pour penser. À l’aide de tableurs, de base de données, nous avons accès à des moteurs de recherche pour trouver des réponses. Ainsi pour réponde à une question, nous pouvons maintenant mettre en relation de nombreuses données et par un calcul intensif les confronter. L’avantage évident est que ces calculs étant bien trop long et complexe pour l’humain. Les machines font aujourd’hui des opérations que nous n’aurions jamais été capables de faire. Le modèle d’une base de données est un point-clé du design génératif. Il n’est pas indispensable, cependant il permet de conserver des données, puis les paramétrer différemment afin d’obtenir de nouveaux résultats.

Principalement, la pensée algorithmique est une manière d’aborder les problèmes en se basant sur le principe des algorithmes. Mais avant tout, qu’est-ce qu’un algorithme ? Un algorithme est un procédé qui permet de résoudre des problèmes.

C’est « une suite finie de règles formelles que l’on applique à un nombre fini de données ».

définition d’un algorithme sur Art industrialis

Donald Knuth, informaticien et mathématicien américain et professeur à l’université de Stanford, a formulé quelques pré-requis à un algorithme : un algorithme doit toujours être un processus fini. Aucune ambiguïté n’est possible. Enfin l’algorithme peut se dérouler à partir de données entrées avant qu’il s’exécute et ainsi générer des données sorties, une fois toutes les étapes terminées. Historiquement l’algorithme était utilisé lors de problèmes arithmétiques, puis longtemps après, avec l’émergence des machines il a gagné une tout autre importance. L’intérêt d’un algorithme est qu’il peut être exécuté automatiquement et qu’il soit en partie autonome. L’humain a donc rapidement compris qu’il pouvait se servir des algorithmes pour commander des tâches aux machines. Toutefois la grande différence entre des machines capables de répéter des missions sommaires ou complexes et un ordinateur est que ce dernier est un objet polyvalent et universel. Il peut ainsi comprendre et obéir à tous les algorithmes symboliques possibles. C’est ce qui explique pourquoi l’ordinateur est aujourd’hui si présent dans nos vies personnelles ou professionnelles. Les algorithmes prennent donc souvent la forme de symboles grâce aux alphabets ou aux chiffres.

« La richesse des algorithmes ne vient pas de la complexité de leurs composants, mais de la manière dont quelques composants simples sont assemblés ».

Serge Abiteboul et Gilles Dowek, Le Temps des algorithme, Éditions Le Pommier, 25/01/2017, p.19 13. Ellen Ullman, Close to the Machine, op. cit., p. 13. 14. Ibid. p.13

Cependant un ordinateur est capable de stocker et analyser une image ou une vidéo. Les images sont traduites en une suite de symboles que les graphistes connaissent bien : les pixels. Chaque pixel étant représenté par un code symbolique, les algorithmes sont capables de reconnaître une image et il en est de même pour les sons. En définitive la pensée algorithmique consiste à formuler une solution à un problème en énumérant plusieurs étapes. C’est une méthode de pensée qui nécessite de savoir organisé et hiérarchisé les informations disponibles. D’autre part, comme elle le décrit dans son livre Close to the machine, Ellen Ullman, auteure américaine sur la programmation, insiste sur le terme « réduire » (Ellen Ullman, Close to the Machine, op. cit., p. 13.) lorsqu’elle raconte une expérience de recherche de développement informatique pour une commande. Alors qu’elle doit trouver comment traduire les attentes de ses clients vers une approche computationel, elle évoque son travail comme une action de réduction, c’est-à-dire « tirer de quelque chose son essence même » (Ibid. p.13) Formuler un algorithme demanderait finalement une capacité de simplification et d’agencement.

L’importance du degré d’abstraction

Abiteboul et Dowek présentent une autre particularité de la pensée informatique, importante à leurs yeux, celle du degré d’abstraction. Afin d’expliquer ce terme, ils proposent l’exemple de la voiture. Un mécanicien verra une voiture différemment que l’agent de police de la circulation. L’un saura observer tous les composants de la machine alors que l’autre prendra moins de détails en compte de manière à se concentrer sur ce qu’il l’importe le plus : le conducteur respecte-t-il bien tous les règles ? On dira qu’il voit la voiture à un « plus au niveau d’abstraction ».

« Les informaticiens ont pris l’habitude de jongler en permanence avec ces différents niveaux d’abstractions. »

Serge Abiteboul et Gilles Dowek, Le Temps des algorithme, Éditions Le Pommier, 25/01/2017, p.62

Du latin abstractus, du verbe abstraho, abstraction prend les racines de son sens dans l’idée de « séparer de, détacher de, éloigner de ». La définition informatique du mot est différente de celle que nous connaissons bien fréquente dans le monde de l’art. Ce concept correspond à une opération intellectuelle qui consiste, dans un certain contexte donné, à négliger certains aspects afin de reconnaître que certaines caractéristiques. On pourrait dire « faire abstraction de quelques choses », c’est-à-dire ne pas tenir compte de tel(s) élément(s) d’un ensemble. L’informaticien sait donc comment varier sa manière d’observer pour répondre au mieux et trouver la source d’un problème. Ce concept est très intéressant pour une recherche créative. Lorsqu’un designer code un programme génératif à l’aide d’algorithmes, il doit être capable de visualiser son travail de différentes manières. Il doit le voir sous forme de code brut, c’est-à-dire des lignes de chiffres et lettres qui semblent être complètement étrangères au visuel final. Il peut le voir sous l’angle de la machine qui produit l’image (cela peut être une imprimante, un simple traceur ou bien un projecteur de lumière) contrôlée par différentes pulsions électriques ou enfin avec le point de vue d’un graphiste qui analyse les formes, les couleurs ou la composition.

Pour formaliser ce passage d’un niveau d’abstraction à l’autre, il est possible de profiter d’option relative au code. Une opération d’affichage ou de dissimulation du code peut permettre de voir le résultat directement. En programmation, il est souvent nécessaire de dissimuler une partie du code qui n’est pas indispensable. Éventuellement sur une page web, il est possible d’utiliser la fonction « afficher le code source » afin de voir le code HTML. Certains logiciels comme Dreamweaver de la suite Adobe permettent même de voir en direct la simulation de ce que l’on rédige.

« Ces pratiques d’affichage et de dissimulation du code constituent un terrain propice à l’exploration esthétique et artistique ».

Hayles N. Katherine, Parole, écriture, code, Traduit de l’anglais (américain) par Stéphane Vanderhaeghe, juin 2015, La presse du réel, p48

Cette dynamique est intéressante dans le sens où elle produit chez le programmeur des attentes conscientes et préconscientes qui renforce la vision du monde sous l’angle de la programmation. À mesure que l’on vient à accepter la dimension propre au code, cette dynamique d’affichage et de dissimulation paraît naturelle. Enfin plus le code paraît naturel, plus la pensée humaine peut s’adapter à une forme de processus computationnels et machiniques.

Le graphiste pratiquant du design algorithmique se doit donc de s’adapter et s’exercer à une forme de pensée différente. Il doit alors adapter sa méthode de création graphique à une nouvelle approche,
ce qui peut lui permettre d’apporter de nouveaux répertoires de formes et de sens graphique. La cognition humaine comportant quelques éléments computationels, elle est avant tout une conscience de type analogique qu’on ne peut simplifier par un calcul numérique.

Et comme le rappel Katherine N. Hayles « la parole et l’écriture ne doient pas être perçues comme des prédécesseurs du code condamnés à l’extinction mais comme des partenaires cruciaux à tous les échelons de l’évolution de la complexité. »

Hayles N. Katherine, Parole, écriture, code, Traduit de l’anglais (américain) par Stéphane Vanderhaeghe, juin 2015, La presse du réel, p50

C’est pourquoi toutes ces formes de langages doivent être travaillés ensemble. Selon Gilbert Simondon, philosophe français célèbre pour son analyse des objets techniques et des nouvelles formes d’aliénation, il est nécessaire que l’homme apprenne à connaître la machine afin d’entretenir « une relation d’égalité, de réciprocité, d’échanges : une relation sociale en quelques manières. » (Simondon Gilbert, Du mode d’existence des objets techniques, 26 octobre 2016, édition Aubier, collection philosophie, p.126-127)

Pour lui le mythe des « l’automates parfaits au service d’une humanité paresseuse et comblée. » n’est pas acceptable.

Simondon Gilbert, Du mode d’existence des objets techniques, 26 octobre 2016, édition Aubier, collection philosophie, p.16

Le véritable progrès tient dans la compréhension de ces deux entités.

par Julien Roussel

MENU