Le devenir algorithmique (1) : quand Platon rencontre les mathématiques

Par « devenir algorithmique » j’entends tout d’abord une grille de lecture qui me permet d’appréhender l’évolution de la pensée et des savoirs. Le champ de la connaissance est en effet si vaste que nous devons tous nous forger nos méthodes et nos outils pour pouvoir l’explorer sans pour autant nous y perdre irrémédiablement.

Je précise tout de suite que l’algorithme que l’on trouve dans l’expression « devenir algorithmique » n’est pas exactement celui dont on parle quand on évoque la science mathématique des algorithmes, en la faisant remonter au savant arabe Al Khuwarizmi qui lui a donné son nom.

J’ai d’ailleurs déjà publié une note qui introduisait à la question du devenir algorithmique, note que je vous invite à consulter avant de poursuivre votre lecture. Mais, à présent, je souhaite aller plus en profondeur, quitter le champ des intuitions et me mettre « au travail », comme on dit.

Cela commence par la nécessité de mettre en évidence les différentes pièces du puzzle et, puisqu’il est question de « devenir », de regarder d’abord en arrière et d’interroger la provenance des concepts qui constituent la dimension algorithmique que je souhaite forger. Pour mettre en évidence ce devenir algorithmique, j’ai cherché dans les textes que je connais – surtout philosophiques –  les embryons de « pratiques algortihmiques ».

Très rapidement, deux choses se sont dessinées :

  • le rôle de l’hypothèse d’une part ;
  • son utilisation par Platon d’autre part.

La suite de cette première partie commencera donc par aborder la question de l’hypothèse chez Platon. Mais pourquoi pas tout de suite ? Pourquoi tant attendre ? Tout simplement parce que cela peut aujourd’hui paraître incongru de parler « d’invention de l’hypothèse » comme je le ferai la prochaine fois. Cela nous semble évident de faire des hypothèses, mais il a bien fallu que quelqu’un l’invente un jour! Les programmeurs d’aujourd’hui vivent l’utilisation de l’hypothèse comme une évidence que l’on interroge même pas, car comment programmer sans des « if » ? Sans pourvoir tester si une hypothèse est vraie ou fausse ?

Il faut donc interroger cette origine de l’hypothèse et remettre en question son évidence pour planter solidement la question du devenir algorithmique, et c’est à partir des textes de Platon que je me sens le plus à l’aise de le faire. Pour cela, je commencerai par repartir d’une note sur l’elenchus de Platon que j’avais déjà publiée il y a quelques années.

**

L’« elenchus » est cette méthode socratique qu’Aristote nomme « peirastique ». Elle suppose qu’une thèse est réfutée quand et seulement quand on peut déduire sa négation « des propres croyances du répondant ». Seule condition requise de la part de l’interlocuteur de Socrate ; l’honnêteté de dire ce qu’il pense et croît réellement. Par exemple dans le Gorgias (495a) ;

« Calliclès, tu es en train de démolir tout ce qui avait été dit auparavant et n’auras même plus les qualités requises pour chercher avec moi ce qui est vrai si tu te mets à dire des choses contraires à ce que tu penses. »

L’elenchus est une méthode de réfutation qui ne peut établir qu’une certaine forme de vérité, celle relevant de la cohérence. Si l’ensemble des propositions avancées par l’interlocuteur ne se contredisent pas, et sont cohérentes entre elles, alors la thèse doit être tenue pour vrai en ce qu’elle vérifie le principe de non-contradiction, critère dirimant de toute cohérence.

Cette méthode « elenctique » est la méthode de réfutation socratique par excellence dans les premiers dialogues de Platon. Jusqu’au Gorgias, les interlocuteurs de Socrate sont de jeunes gens dont un certain niveau de connaissances n’est en aucune façon nécessaire au bon déroulement de l’entretien. Seule l’honnêteté de dire réellement ce qu’ils pensent est alors requise. Le dialogue philosophique qu’instaure le Socrate des premiers dialogues platoniciens est donc sensé être accessible à n’importe quel quidam ; cela est d’ailleurs tout à fait en accord avec l’image que l’on peut se faire d’un Socrate discutant dans les rues d’Athènes, au gré de ses rencontres.

Quelle distance pourtant, entre cette conception de la dialectique, et celle des livres centraux de la République où il est dit que les futurs philosophes devront étudier la mathématique pendant dix années avant de pouvoir s’entretenir sur la nature du Bien, sous peine d’être corrompus. De fait, le Gorgias est un dialogue qui marque la fin d’une période de la pensée platonicienne et il me semble judicieux de tenter d’expliquer et de comprendre cette évolution à partir de l’influence grandissante de la pensée mathématique sur Platon.

A cet égard, le premier voyage que Platon fit à Syracuse fût très certainement déterminant. Là, nous dit Cicéron :

« Platon s’est consacré aux Pythagoriciens et à leurs études, passant beaucoup de temps avec Archytas de Tarente et Timée de Locres »[1. De la République I, 10.16].

Comment ne pas opposer la figure d’Archytas à celle de Socrate ? Archytas était un mathématicien brillant, un des premiers hommes politiques de sa cité, il a été élu et réélu général années après années tandis que Socrate déconseillait l’étude des mathématiques avancées et s’était retiré impuissant de la politique athénienne, convaincu qu’elle était irrémédiablement corrompue. Le Gorgias, qui fut vraisemblablement écrit au retour de ce premier voyage en Grande Grèce (aujourd’hui la Sardaigne et le sud de l’Italie), peut donc être lu comme le dernier texte où « Socrate » ressemble encore au Socrate historique.

Certes, les questions socratiques par excellence comme celles de la vertu ou du bien vont perdurer, mais la façon et la méthode de les instruire n’est plus la même. Influencé par la rigueur de la méthode mathématique à laquelle il s’initie, Platon va résolument abandonner la méthode socratique de l’elenchus. Qu’elles sont donc les limites de cette méthode ?

*

Ces limites sont en fait au nombre de deux :

  • Tout d’abord la vérité que l’elenchus peut produire n’est, je l’ai souligné, qu’une vérité de cohérence, en somme une vérité par défaut ; passées au crible des questions socratiques, les thèses de l’interlocuteur qui sont incohérentes sont éliminées comme on déracine des mauvaises herbes. Ne finira donc par rester debout que des vérités. Mais jusqu’à quand ? Car rien ne garanti avec certitude que dans l’avenir une nouvelle thèse ne remette en question la cohérence actuelle des thèses entres elles. Manque donc à la méthode élenctique une véritable certitude, une assurance bien plus grande que celle qui naît d’un simple consensus basé sur l’honnêteté et le bon sens [2. De fait, la méthode élenctique ne peut que rester impuissante face aux sophistes qui, justement, n’ont pas la bonne volonté et l’honnêteté de dire réellement ce qu’ils pensent. Le Socrate de l’elenchus ne peut donc que tourner le dos à la sophistique sans la combattre comme ce sera le cas dans le Sophiste. A l’époque du Gorgias et avant, Socrate peut tout au plus s’énerver comme il le fait quand Protagoras déclare, en réponse à la question de Socrate : « Mais qu’est-ce que cela peut faire ? Mettons qu’il en soit ainsi si tu veux », Socrate répond en colère ; « Je ne veux pas de cela. Car je ne veux pas réfuter tes ‘si tu penses cela’ ou tes ‘si tu veux’ mais toi et moi. Je dis toi et moi parce que je pense que la thèse est mieux réfutée si tu enlève les si.» (Protagoras, 331c.)].
  • La deuxième limite qu’il faut relever est que Socrate ne fait qu’examiner la thèse que lui soumet son interlocuteur. Cela suppose nécessairement que celui-ci, malgré toutes ses croyances fausses, porte en lui une certaine part de vérité, ainsi le chemin vers la vérité est conditionné par le fait – tout à fait contingent – que tel interlocuteur possède, dans ses croyances, un fond de véracité. Bref, dans une recherche de la vérité, la part qui revient à un interlocuteur quelconque, face à un Socrate qui avoue savoir qu’il ne sait rien, est bien trop importante pour que le succès soit réellement au rendez-vous à chaque entretien. Aussi, dès les dialogues postérieurs au Gorgias, Socrate mène-t-il plus activement la discussion en réfutant bien souvent des thèses qu’il avait lui-même auparavant émis.

De tout ceci il résulte que l’exigence d’une certitude indubitable doit dépasser le consensus elenctique. En d’autres termes, il faut passer de l’opinion vrai à la science ainsi que le suggère le Socrate du Ménon ;

« Celles-ci [i.e. les opinions vraies], tant qu’elles demeurent, il faut se féliciter, car elle ne produisent que des avantages ; mais elles ne consentent pas à rester longtemps et s’échappent bientôt de notre âme, de sorte qu’elles ont peu de valeur, tant qu’on ne les a pas enchaînées par un raisonnement de causalité.(…) Les a-t-on enchaînées, elles deviennent science et par suite stables ; et voilà pourquoi la science a plus de valeur que l’opinion vrai : à la différence de l’opinion vraie elle est un enchaînement »[3. Ménon, 97e].

C’est là, me semble-t-il, que l’influence de la mathématique va être déterminante : au fur et à mesure que Platon s’initie à cette science, le Socrate des dialogues devient de plus en plus mathématicien. Et le dialogue dans lequel l’importance de la science mathématique émerge reste bien évidemment le Ménon où Socrate n’est plus celui qui sait qu’il ne sait rien puisqu’il apparaît désormais comme quelqu’un de particulièrement versé en géométrie. La question est à présent la suivante ; en quoi la méthode des géomètres supplante-t-elle l’ancienne elenchus socratique ? Avec l’extrait du Ménon précédemment cité, on voit bien que c’est l’ « enchaînement » qui confère la scientificité à un discours. Mais avant cela il y a, nous semble-t-il, une autre notion qui doit mériter toute notre attention : celle d’hypothèse.

Lire la suite : Le devenir algorithmique (2) : connaître l’inconnu

Notes :

Un des petits passages du texte m’a fait réagir.

>comment programmer sans des « if » ? Sans pourvoir tester si une hypothèse est vraie ou fausse ?

Je me suis demandé si on pouvait le faire. Bannir le « if » d’un programme. Cela doit dépendre du programme mais un « while » (tant que) devrait permettre de répondre à beaucoup de cas. Pourquoi ? Car ce n’est pas en fait à propos de « if » mais plutôt « if condition » du même ordre que « while condition »

Je me demande maintenant si des langages de programmation ont été crées sans grammaire de tests de conditions. Peut-être que ce n’est pas possible.

[Reply]

C’est théoriquement possible, mais fort incongru car même les langages de bas niveau, les langages machines, ont tous ( a ma connaissance) une grammaire de test de conditions pour différencier les deux états symboliques 0 et 1 que peut avoir l’état d’une donnée montée en mémoire.

[Reply]

C’est tout à fait possible… il faut par contre écrire son code très proprement. L’astuce est simple, transformer toutes ses conditions en longeur de saut 🙂 Du coup c’est juste de l’arithmétique. Evidemment, ça ne fonctionne que dans les langages dans lesquels on peut encore décider d’où on va (exemple simple : un tableau de pointeurs sur des fonctions en C).

[Reply]

> Je me demande maintenant si des langages de programmation ont été crées sans grammaire de tests de conditions. Peut-être que ce n’est pas possible.

Bien sûr que c’est possible. Ça peut arriver n’importe quand, par exemple dans le cas d’un DSL. De plus, il suffit qu’un langage soit Turing-complet — http://fr.wikipedia.org/wiki/Turing-complet — pour qu’on puisse recoder la structure de contrôle ‘if’.

> Car rien ne garanti avec certitude que dans l’avenir une nouvelle thèse ne remette en question la cohérence actuelle des thèses entres elles.

Je ne suis pas d’accord. Une thèse est constituée en premier lieu de ses hypothèses et du système d’argumentation choisi. Aucune place n’est alors laissée au hasard dans la démonstration et la cohérence est alors assurée par le fait qu’on ne puisse pas déduire le faux. En espérant que ce soit le cas — ce qui reste indémontrable, cf. http://fr.wikipedia.org/wiki/Théorème_d'incomplétude_de_Gödel — on peut alors exploiter cette thèse. Une nouvelle thèse ne remet donc pas en question une autre, elles sont le plus souvent incomparables.

Il est intéressant de noter que le lien entre l’argumentation philosophique et les langages de programmation est extrêmement forte grâce à la logique mathématique — http://fr.wikipedia.org/wiki/Logique_mathématique — et notamment l’isomorphisme de Curry-Howard — http://fr.wikipedia.org/wiki/Correspondance_de_Curry-Howard —.

[Reply]

@ betehess : sur ta deuxième remarque à propos de :
> Car rien ne garanti avec certitude que dans l’avenir une nouvelle thèse ne remette en question la cohérence actuelle des thèses entres elles.

Tu fais un anachronisme : la méthode de l’elenchus que j’ai présenté ici ne peut pas être projetée et comparée de la sorte avec les théories du siècle dernier sur les fondements des mathématiques.

Cela dit, ton commentaire et les références sont intéressantes, bien sûr.

[Reply]

@ Christian
> Tu fais un anachronisme

Oui c’est vrai mais…

Encore aujourd’hui, les procédés de l’argumentation et du raisonnement sont enseignés aussi bien dans des cours de philosophie que de « logique mathématique ». J’ai même vécu le cas où nous nous retrouvions dans la même classe.

La logique moderne est directement issue de la dialectique et les parallèles sont nombreux. Ainsi, argumentation et preuve sont équivalents, le premier apparaissant dans une thèse, le deuxième dans une théorie. Et curieusement, les problèmes rencontrés sont les mêmes. Est-ce que ma thèse/théorie est cohérente ? Puis-je la réfuter en amenant une contradiction/preuve du faux ? Quels enseignements/théorèmes puis-je en tirer ?

Je ne connaissais pas spécialement l’elenchus. La lecture de ton excellent billet ainsi que quelques recherches sur le net m’ont fait directement penser à un autre de mes cours de logique sur la théorie des jeux. Le parallèle est frappant et je te laisse consulter la page wikipedia en question : http://fr.wikipedia.org/wiki/Logique_du_dialogue . Donc dans ce cas aussi, la logique n’est pas loin.

Pour conclure, la logique moderne a définitivement réussi à faire le pont avec les mathématiques classiques (Curry-Howard). Au final, bien que séparés de plusieurs siècles (anachronisme), l’argumentation, la preuve et les programmes ne forment qu’un tout cohérent (isomorphisme) et à ce titre ont le droit d’être comparés.

[Reply]

2 remarques.

Pour ma part, je résume les limites de la pratique plus ancienne de Socrate, et son passage à sa nouvelle méthode, en disant qu’il passe du rôle de consommateur (de vérités) au rôle de producteur. Le rôle de consommateur est sécurisant, il limite le risque de dire des bétises, mais le rôle de producteur permet d’aller plus loin.

Et je reformulerais l’exortation qu’il faille « passer de l’opinion vrai à la science ainsi que le suggère le Socrate du Ménon » en la naissance, en le passage de la science molle à la science dure. Et effectivement, cela n’est pas rien.

[Reply]

Une interview *importante* IMHO, où il est question de Socrate, mais suivant une perspective psychologique, et donc, moins algorithmique :
http://sites.radiofrance.fr/franceinter/em/nonobstant/index.php?id=84423

[Reply]

… Une interview où il est question moins de vérité, que de l’autre versant, i.e. le non-savoir, que je vois, à un niveau basique, comme une sorte de point mort pour enclencher une nouvelle « vitesse », un nouveau rapport, un nouvel accord entre le monde et un individu.

[Reply]

J’avais entendu une émission avec Roustang il y a quelques mois (peut-être celle-ci).
Le travail sur l’hypnose est très intéressant.

Merci pour le lien.

[Reply]

…j’ai bâti mes cours de philosophie à partir de la formule , comme working hypothesis, : « Y a-t-il une unité à la diversité des choses et des idées? », telle qu’avancée par Platon in Rep. 402e…cela me sert à distinguer le discours philosophique de n’importe lequel autre (systèmes culturels)…c’est la pente dans la célèbre allégorie de la caverne…(ou encore la « deuteros plous »…évidemment, les étudiant(e)s peuvent se servir des diverses définitions de la philosophie comme illustration de cette hypothèse de travail…je pense que c’est cette tension que vous retrouvez dans votre tentative algorithmique…ce que certain(e)s nomment : déconstruction à l’infini : la tâche de la philosophie…peut-être faut-il rappeler que dans les dialogues de Platon, le philosophe n,est pas Socrate mais bien celui qui écrit les dialogues, Platon lui-même, puisque Socrate défend la thèse du savoir non-su à l’opposé du non-savoir des « sophistes »…gk

[Reply]

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.