1 points par GN⁺ 2024-07-11 | 1 commentaires | Partager sur WhatsApp
  • En informatique théorique, la calculabilité et le caractère NP-hard sont des notions qui s’appliquent à des fonctions, des langages et des suites infinies, et non à des entiers isolés ni à une seule question vraie ou fausse
  • Dans l’exemple de Sipser, « la fonction f qui renvoie toujours 1 si Dieu existe, et toujours 0 sinon » est, dans les deux cas, une fonction constante, donc calculable
  • P vs NP n’est pas un problème prenant une entrée, mais une unique question oui/non ; on ne peut donc pas le qualifier en lui-même de NP-hard ni d’incalculable
  • La fonction Busy Beaver dans son ensemble est incalculable, mais une valeur précise comme BB(6) ne peut pas être traitée de la même façon, puisque pour tout entier k il existe un programme print k
  • Le cœur de la confusion récurrente consiste à appliquer à des problèmes individuels des notions conçues pour des objets infinis ; l’habitude de mélanger l’incalculabilité du problème de l’arrêt et l’incomplétude de Gödel relève de la même famille

Ce que l’exemple de Sipser enseigne sur la portée de la calculabilité

  • Introduction to the Theory of Computation de Michael Sipser contient un exercice qui met en évidence la définition de la calculabilité
    • On définit f:{0,1}*→{0,1} comme une fonction qui renvoie toujours 1 si Dieu existe, et toujours 0 s’il n’existe pas
    • La question est de savoir si f est calculable, et la réponse est indépendante de toute croyance religieuse
  • f est calculable
    • La fonction constante qui renvoie toujours 1 est calculable
    • La fonction constante qui renvoie toujours 0 est également calculable
    • Si f est l’une des deux, alors f est elle aussi calculable
  • Des questions parallèles ayant la même structure donnent la même intuition
    • Dans la question « si Dieu existe, n=3, sinon n=5 ; n est-il premier ? », même si n n’est pas complètement déterminé, la seule information qu’il appartient à {3,5} suffit à dire qu’il est premier
    • De même, pour f, seule change la fonction constante concernée ; elle est suffisamment déterminée pour qu’on puisse la juger calculable

La calculabilité ne porte pas sur la difficulté d’écrire un programme, mais sur son existence

  • La calculabilité est une notion qui s’applique aux fonctions ou aux suites infinies
  • On ne l’applique pas de la même manière à des questions oui/non individuelles ni à des entiers isolés
  • La question centrale est de savoir s’il existe un programme informatique qui associe les entrées aux sorties
  • La difficulté de choisir, trouver ou écrire ce programme ne fait pas partie de la définition de la calculabilité
    • Même s’il fallait résoudre la question de l’existence de Dieu pour écrire le programme, le jugement de calculabilité lui-même ne changerait pas

Pourquoi on ne peut pas qualifier P vs NP de NP-hard

  • La question « la question P versus NP elle-même est-elle NP-hard et donc insoluble ? » est revenue plusieurs fois au cours des 25 dernières années
  • NP-hard s’applique à des fonctions ou des langages qui prennent une entrée, comme 3SAT, Independent Set ou Clique
    • L’entrée est une formule booléenne, un graphe, etc.
    • La sortie est la réponse correspondant à cette entrée
    • Un problème est dit NP-hard si, lorsqu’on peut le résoudre en temps polynomial, toutes les langues ou fonctions de NP peuvent aussi être résolues en temps polynomial via une réduction
  • P vs NP n’est pas une fonction ni un langage, mais une unique question oui/non
    • La possibilité que sa réponse soit indépendante des axiomes de la théorie des ensembles de Zermelo-Fraenkel n’est pas exclue
    • Mais on ne peut pas dire que cette question elle-même est incalculable ou NP-hard
  • Il existe formellement un programme rapide qui répond correctement à la question P vs NP
    • Si P=NP, un programme qui affiche « P=NP »
    • Si P≠NP, un programme qui affiche « P≠NP »

La même confusion qui revient avec Busy Beaver

  • Des questions similaires sont revenues dans les commentaires d’un article où la valeur de Busy Beaver 5 avait été déterminée
    • « Quel est le plus petit n pour lequel la valeur de BB(n) devient incalculable ? »
    • « BB(6) pourrait-il déjà être incalculable ? »
  • La fonction Busy Beaver est incalculable
  • Mais on n’applique pas ainsi la notion de calculabilité à un entier individuel comme BB(6)
    • Quelle que soit la valeur entière k qui s’avère être BB(6), il existe un programme print k
    • Ce programme affiche cet entier
  • La question que l’on peut plutôt poser est de savoir pour quels n la valeur de BB(n) est indémontrable dans un système d’axiomes comme la théorie des ensembles ZF
    • Aaronson et Adam Yedidia ont traité cette question en 2016
    • Le record actuel est n=745, une amélioration de la valeur n=8000 d’Aaronson et Adam
  • Tout entier spécifique peut être considéré comme « calculable » ; ce qui est incalculable, c’est la fonction BB dans son ensemble

Pourquoi ces « malentendus zombies » continuent de survivre

  • Le cœur de la confusion récurrente est d’appliquer à tort à des entiers individuels et à des problèmes ouverts des notions conçues pour des suites infinies et des fonctions
  • Les cas où l’on mélange l’incalculabilité du problème de l’arrêt et l’incomplétude de Gödel relèvent de la même famille de confusions
    • Les deux sont étroitement liés
    • Gödel permet de parler d’énoncés individuels
    • La calculabilité de Turing n’est pas relative à un système d’axiomes particulier : c’est une notion absolue
  • Cette explication sert de point de référence vers lequel renvoyer lorsque le même malentendu pédagogique réapparaît
  • La dernière question porte sur la manière dont on pourrait faire taire ces malentendus « zombies »

1 commentaires

 
GN⁺ 2024-07-11
Avis sur Hacker News
  • Le fait que la notion de calculabilité implique nécessairement l’infini peut être assez contre-intuitif.
    Par exemple, si l’on demande s’il existe un algorithme qui calcule la complexité de Kolmogorov K(s) pour une chaîne arbitraire s, la réponse est, comme on le sait, « non ». Il n’existe pas de machine de Turing qui prenne en entrée une chaîne de longueur arbitraire et calcule K(s), et la preuve est courte en utilisant le problème de l’arrêt.
    Mais si l’on demande s’il existe un algorithme qui calcule K(s) pour une chaîne arbitraire s de longueur inférieure à n, la réponse est « oui ». Pour n’importe quel n, un tel algorithme existe.
    La méthode, assez décevante, consiste à construire une machine de Turing dotée d’une énorme table de correspondance contenant les valeurs de K(s) pour les 2^n chaînes possibles. La façon dont on obtient effectivement cette table est une autre question ; comme une implémentation donnée possède une description finie et que K(s) est fini pour tout s, l’algorithme existe.
    Ainsi, une question finie portant sur des objets finis peut ne pas être très intéressante du point de vue de la calculabilité. On peut toujours écrire un programme qui imprime toutes les réponses ; ce n’est que lorsque la question s’étend à un ensemble infini d’objets qu’il devient intéressant de savoir si quelque chose de fini peut répondre à une infinité de questions.

    • Ce genre d’explication peut donner l’impression qu’une grande partie de l’informatique n’est qu’un jeu ridicule et dénué de sens.
      En réalité, l’infini tient lieu de « comportement approximatif, ultime, en régime permanent, pour des N assez grands pour dépasser n’importe quelle astuce ponctuelle ».
      Dans le monde réel, ces astuces comptent aussi, et les constantes ainsi que les termes d’ordre inférieur ignorés dans les comparaisons en grand O sont importants pour les performances réelles. Il existe toujours une tension entre « un problème assez grand pour que les facteurs constants n’aient plus d’importance » et « un problème assez petit pour entrer dans le domaine implicitement visé par le mot constante ». C’est le cas, par exemple, lorsque des entiers 32 bits se font passer pour des entiers.
    • Bien sûr, n est par définition un nombre fini, donc un tel algorithme existe.
      Du point de vue de l’infini, tous les nombres finis sont en fait minuscules. Assis sur une chaise au bout de l’univers, un mile ne diffère pas d’un millimètre.
      Ce scénario ressemble en pratique à « l’hôtel infini de Hilbert sur un ordinateur ». En décalant les programmes existants d’une case, on peut ajouter un nouveau programme, et la taille de la table nécessaire au calcul reste la même.
      Plus généralement, la plupart des gens ont une intuition faible de la façon dont fonctionnent l’infini, les alephs et les mathématiques transfinies. Leur pertinence dans la vie courante est faible, et ils sont profondément liés aux propriétés émergentes des mathématiques, de la théorie des catégories et de la théorie des ensembles. L’infini n’est pas seulement plus grand que n’importe quel nombre fini ; certains infinis peuvent aussi être plus grands que d’autres, ce qui n’apparaît pas immédiatement à une intuition restée au concept élémentaire d’« infini ».
      La question la plus intéressante serait de savoir s’il existe un certain n < ∞ qui rende l’algorithme calculable ; évidemment, la réponse est non, et le prix Turing s’envole.
    • C’est similaire au fait que tous les ordinateurs réels n’ont eux aussi qu’un nombre fini d’états, et ressemblent donc davantage à des automates finis qu’à des machines de Turing.
    • On peut aussi considérer qu’il existe un algorithme simple pour calculer K(s) pour un s donné, et donc pour tout ensemble fini de telles entrées.
      L’idée serait d’énumérer toutes les machines de Turing possibles, de la plus courte à la plus longue, jusqu’à en trouver une qui affiche s. Si l’on a essayé toutes les machines plus courtes et qu’aucune n’a affiché s, alors on a trouvé la machine la plus courte qui affiche s, et sa longueur vaut donc K(s). D’autres machines de même longueur ou plus longues peuvent aussi afficher s, mais K(s) étant défini par la longueur minimale, cela ne change rien.
    • Cela rappelle la puissance supplémentaire que P/Poly peut avoir par rapport à P. Il me semble qu’il existait un nom général pour la hiérarchie de complexité des circuits dans laquelle le circuit lui-même doit être produit par une simple machine de Turing, mais il ne me revient pas tout de suite.
  • D’après mon expérience, sur ce point, les mathématiques constructivistes correspondent mieux à l’intuition des gens que l’informatique classique.
    Par exemple, il n’existe pas encore de preuve constructive de l’existence d’un programme qui affiche la réponse au problème P=NP.
    J’ai aussi traité cette question dans mon article à propos des ensembles de Julia calculables. Mark Braverman a prouvé que tous les ensembles de Julia quadratiques sont calculables, mais il explique lui-même que sa preuve n’est pas uniformément calculable. À la place, il construit 5 machines qui, en recevant les paramètres de l’ensemble de Julia voulu, tentent de dessiner différents ensembles à la résolution souhaitée, et pour chaque ensemble de Julia, l’une d’entre elles produit le dessin correct.
    En mathématiques constructivistes, la notion constructive d’ensemble compact correspond grosso modo à la notion d’ensemble calculable nécessaire pour les ensembles de Julia calculables. Mais on ne peut pas prouver constructivement que tous les ensembles de Julia quadratiques sont compacts ; il faut diviser le plan complexe des paramètres possibles en plusieurs régions, puis prouver que, dans chaque région, les ensembles de Julia correspondants sont compacts.
    En mathématiques classiques, l’union de ces régions est tout le plan complexe, mais en constructivisme ce résultat ne vaut pas. De même, en mathématiques classiques, l’union des réels positifs et des réels non positifs est toute la droite réelle, mais en constructivisme cela ne vaut pas non plus.
    L’approche constructiviste dit précisément quelles informations supplémentaires sont nécessaires pour réaliser effectivement le calcul. Autrement dit, il faut déterminer à quelle région du plan complexe appartient le paramètre donné, afin de savoir laquelle des 5 machines exécuter pour obtenir l’image voulue. Cette réponse paraît beaucoup plus satisfaisante.

    • Dans le cas P=?NP évoqué par Aaronson aussi, la réponse ne devrait pas être une réponse classique comme « P=NP », mais une véritable fonction NP→P.
      Les gens savent instinctivement qu’il faut savoir de quel côté du branchement on se trouve ; ils n’ont pas oublié ce fait à cause d’un entraînement à la logique classique, c’est tout.
    • Le fait que « pour chaque ensemble de Julia, l’une des 5 machines le dessine correctement » est intéressant. Je me demande si cela revient essentiellement à une preuve que la probabilité de calculer le bon ensemble est d’au moins 1/5.
      Je me demande aussi s’il faut considérer qu’il existe une preuve encore non trouvée à la question « laquelle des 5 est la bonne », ou bien que c’est indécidable comme dans ZFC.
  • Je pense que c’est l’un des éléments qui rendent difficile la compréhension de l’indécidabilité du problème de l’arrêt
    On a envie de dire : « il existe des machines trop complexes pour qu’une quelconque machine puisse déterminer si elles s’arrêtent ou non », mais, entre les programmes triviaux return true et return false, l’un des deux donne toujours la bonne réponse, quels que soient la machine et l’entrée qu’on lui fournit
    On pourrait vouloir répliquer que « ces programmes ne savent rien des machines de Turing, donc il faut les exclure », mais la décidabilité ne parle pas de cela. On pourrait aussi penser que « déterminer lequel des deux programmes est correct est indécidable », mais là encore, il existe une réponse fixée, vraie ou fausse. Le problème ne peut devenir indécidable que lorsqu’on l’étend à un ensemble infini de couples machine/entrée

    • D’autres problèmes qui n’apparaissent que sur des familles d’objets peuvent être tout aussi difficiles à saisir pour les débutants
      Par exemple, tout espace vectoriel de dimension finie est isomorphe de plusieurs façons à son espace dual et à son bidual, mais, dans le second cas, on peut choisir un isomorphisme « naturel » cohérent sur tous ces espaces, alors que ce n’est pas possible dans le premier
      Cela entraîne des confusions du genre : « Pourquoi ne sont-ils pas naturellement isomorphes ? Les bases ont la même longueur ! En quoi est-ce important que cela dépende ou non d’une base ? Pourquoi, dans d’autres preuves, choisit-on une base et cela ne pose pas problème ? »
  • Je pense que le problème de formulation vient du fait qu’il faudrait de la logique modale
    « Si Dieu existe, posons f:{0,1}*→{0,1} comme la fonction constante 1 ; si Dieu n’existe pas, comme la fonction constante 0. f est-elle calculable ? Indice : la réponse ne dépend pas de vos croyances religieuses »
    La question exacte est de savoir si f serait calculable, c’est-à-dire s’il existe une machine de Turing M telle que, pour tout x, f(x)=M(x)
    La réponse est oui. Dans n’importe quel monde, il existe une machine de Turing triviale M=1_M ou M=0_M. En revanche, la formulation d’origine, « f est-elle calculable », est une question modalement mal posée, proche d’une question syntaxiquement incorrecte comme dans les paradoxes de la Belle au bois dormant ou de l’Enveloppe rouge
    D’un autre point de vue, la dépendance à Dieu, ou à un fait qui pourrait être réel, ressemble à une directive de compilateur ou à un pragma dont la valeur sera remplie plus tard, mais fixée avant l’utilisation. Si l’on pose correctement la question, ce n’est qu’un exercice consistant à dérouler les définitions rigoureuses de fonction et de calculabilité, toutes deux explicitement définies chez Sipser

    • Ma réaction était similaire, et je l’ai écrite dans les commentaires de l’article d’Aaronson. Cette question ne porte pas sur une fonction f qui pourrait appeler la fonction constante 1 ou la fonction constante 0 selon que Dieu existe ou non
      Elle dit que le référent de l’étiquette f est la fonction constante 1 si Dieu existe, et la fonction constante 0 s’il n’existe pas ; nous ne savons simplement pas laquelle des deux c’est tant que nous ne savons pas si Dieu existe. Comme la calculabilité des deux fonctions constantes est triviale, il s’agit en réalité moins d’un problème de calculabilité que d’un problème d’étiquette
    • Les paradoxes de la Belle au bois dormant ou de l’Enveloppe rouge ne semblent pas avoir grand rapport ici. Ils montrent seulement que l’application à la réalité de concepts probabilistes purement mathématiques n’est pas toujours simple
      Ce n’est pas surprenant si l’on considère que le fait même que la théorie des probabilités fonctionne lorsqu’elle est appliquée au réel est très mystérieux et a fait l’objet de nombreuses recherches scientifiques et philosophiques
      La solution proposée sous la forme « would f be » ne semble pas vraiment résoudre grand-chose non plus. Le but de la question sur « Dieu » est d’amener le lecteur à sortir d’un problème P-NP particulier et à comprendre que, pour les fonctions constantes, la notion de calculabilité n’est pas utile. Pour que cette proposition aide, elle devrait aussi pouvoir s’appliquer à la question P-NP d’origine, et je ne vois pas encore comment une approche modale intervient dans une question mathématique bien définie
    • Écrire cette phrase un peu plus longuement réduirait probablement les erreurs de parsing
      « Si Dieu existe, posons f:{0,1}→{0,1} comme la fonction constante 1 ; si Dieu n’existe pas, posons f:{0,1}→{0,1} comme la fonction constante 0 »
    • Quel que soit le prédicat que l’on mette à la place de « Dieu », l’implication est, à strictement parler, vraie en logique classique du premier ordre, et probablement aussi dans beaucoup d’autres systèmes logiques. L’analogie avec le pragma est pertinente
      Savoir si un tel prédicat correspond à la conception que quelqu’un se fait de Dieu est une question non mathématique distincte
      C’est similaire à la surprise que ressentent les gens lorsqu’ils apprennent qu’en logique classique, une proposition fausse implique n’importe quoi. Les mathématiques ont des règles formelles strictes, et il est important de mettre de côté les idées préconçues venues du sens courant de mots comme « implique » ou « si »
    • La version dépendante du temps est bien plus intéressante
      Par exemple, définir G:t∈ℝ⁺->{0,1} comme valant 1 si Dieu existe au temps t, et 0 sinon
      Bien sûr, analyser G dans un référentiel non inertiel rendrait la chose encore plus intéressante
  • Sipser exploite le fait que la plupart des gens ne distinguent pas bien le calcul de l’enquête empirique
    « Dieu existe-t-il ? » est peut-être une question à laquelle on ne peut pas répondre, mais ce n’est pas le sujet. Chercher cette réponse ne relève pas du calcul au départ. Le calcul n’est qu’une procédure qui associe des entrées à des sorties, et, dans ce cas, l’existence de Dieu est l’une des entrées
    La confusion vient du fait qu’on ne peut pas réellement connaître la valeur d’entrée, mais le programme existe toujours, et c’est un programme trivial. On pourrait remplacer cela par n’importe quelle autre question empirique binaire
    Par exemple, supposons que f:{0,1}* -> {0,1} vaille 1 « s’il y a au moins des toilettes mobiles à Paris », et 0 sinon. C’est calculable, et on peut aussi l’exécuter effectivement avec l’entrée vraie. La fonction portant sur Dieu est elle aussi calculable, mais on ne peut l’exécuter qu’avec une entrée supposée. Même si l’on ne peut pas garantir que la sortie corresponde de façon significative à l’univers dans lequel nous vivons, cela reste une fonction calculable
    Plus simplement, il suffit même de considérer f:{0,1}* -> {0,1}. « Dieu existe » et « Dieu n’existe pas » sont chacun des chaînes de bits possibles. Si l’on demande s’il peut exister un programme qui prend l’une de ces chaînes en entrée et renvoie 0, et l’autre en entrée et renvoie 1, la réponse est évidemment oui. Que l’entrée soit empiriquement vraie ou non n’a aucune importance

    • En réalité, les fonctions mentionnées dans la question n’utilisent pas du tout leur entrée. On pourrait aussi bien les définir comme des fonctions de l’ensemble vide vers {0, 1}
      Le f de la question n’est pas une fonction, mais une étiquette. Si Dieu existe, le référent de f est f1, qui renvoie toujours 1 ; si Dieu n’existe pas, c’est f0, qui renvoie toujours 0. Donc, en pratique, ce n’est pas un problème de calculabilité, mais un problème d’étiquette
  • Cela arrive constamment parce que les mathématiciens et les informaticiens utilisent, pour faciliter la discussion, des formulations abrégées qui omettent des détails.
    Ce n’est pas différent de dire « multiplier les deux membres par dx ». La question « le problème du voyageur de commerce est-il NP-difficile ? » désigne une famille de problèmes, pas une instance particulière. Si l’on fixe un graphe précis, il n’y a évidemment plus de N, donc ce n’est pas NP-difficile.
    Quand on le sait, c’est tellement évident que cela ne vaut même pas la peine d’être dit, mais pour quelqu’un qui ne connaît pas le sens des termes, c’est totalement inaccessible.
    J’ai moi aussi eu par le passé un malentendu du même genre dans un autre domaine. Je voyais l’ADN comme du code, et je croyais que des choses échangeant des messages via des substrats, directement ou en modifiant l’ADN, exécutaient ce code. Globalement, ce n’est pas un modèle complètement inutile, mais il fallait savoir à quels moments ne pas se laisser intoxiquer par ce modèle.
    Pour un biologiste ayant une formation mathématique, voir l’ADN tel quel comme un modèle d’exécution de machine de Turing est manifestement faux, mais ça ne l’était pas pour moi. Au fond, c’est un problème lié à l’étrangeté des connaissances de base.

  • Des mots comme décidabilité, calculabilité, existence, et même fruit, n’ont pas le même sens dans un contexte académique et dans un contexte courant. Si l’on importe l’intuition du sens quotidien dans un contexte académique, on obtient ce genre de « questions idiotes ».
    Un certain très grand nombre mentionné sur Wikipedia « existe » et est « calculable » au sens académique, mais le nombre de ses chiffres ne pourrait pas tenir dans notre univers.

  • Si l’on ne lit pas attentivement, la formulation prête à confusion.
    Dans « si Dieu existe, posons f:{0,1}*→{0,1} comme la fonction constante 1 ; si Dieu n’existe pas, comme la fonction constante 0. f est-elle calculable ? », l’alternative ne fait pas partie de la fonction.
    La fonction f ne branche pas selon la valeur de « Dieu existe » ; le branchement se situe dans le métalangage. Nous ne savons pas si f=0 ou f=1, mais dans les deux cas, les deux fonctions possibles sont calculables, donc f est calculable aussi.
    Plus encore, même si f incluait réellement ce branchement, et que le domaine de la fonction soit 0 (Dieu n’existe pas) et 1 (Dieu existe), elle resterait une fonction calculable au sens où l’on peut calculer le résultat pour chaque valeur du domaine.
    Le cœur de la confusion consiste à pousser dans f, comme condition de branchement, une variable libre dont on considère que la valeur est inconnue.

  • Je contesterais volontiers l’exemple « si Dieu existe, posons n=3 ; si Dieu n’existe pas, posons n=5. n est-il premier ? ».
    Ici, on utilise le tiers exclu pour affirmer que n vaut 3 ou 5, alors qu’il n’y a aucune justification que le tiers exclu s’applique à la proposition « Dieu existe ».

    • En logique classique, le tiers exclu est valide.
      Dans ce cas, si l’on veut examiner si le tiers exclu est justifié, il faut aussi justifier pourquoi seul le tiers exclu pose problème. Pourquoi ne pas abandonner aussi le principe d’explosion et travailler en logique paraconsistante ? Kolmogorov voyait lui aussi un sérieux problème dans cet axiome, et le considérait au départ comme incompatible avec la logique constructiviste.
      De plus, selon la formalisation exacte de cette proposition, le tiers exclu n’est peut-être pas forcément nécessaire.
    • Pour référence, la version du manuel demande de supposer que la question est un problème binaire clairement défini (Sipser, 2e édition, p. 162). L’avoir repéré est assez perspicace.
    • « n est-il premier ? » dépend aussi de la volonté de Dieu, si Dieu existe.
      Dieu n’est pas nécessairement lié aux lois de la physique ni aux nécessités logiques fondamentales. Une telle conception de Dieu vient d’une certaine lignée de raisonnements théologiques, ce n’est pas le cas général.
      S’il le souhaite, Dieu peut aussi rendre 6 impair. Il peut modifier toutes les mathématiques, la cohérence logique et l’univers entier, ou créer un monde où seul 77 est pair et tous les autres nombres sont impairs, et faire en sorte que tous les mathématiciens considèrent cet arrangement comme parfaitement cohérent et comme ayant toujours été correct.
      On peut donc dire que la réponse dépend dans une certaine mesure de la croyance religieuse.
  • L’informatique théorique et la théorie de la complexité semblent occuper, pour les étudiants de premier cycle en informatique ou les professionnels de secteurs voisins, une place comparable à celle de la physique des particules pour le grand public.
    Comme le grand public a entendu parler d’intrication, nous avons entendu parler de NP-difficile, et au lieu de suivre nous-mêmes les développements mathématiques, nous les remplaçons par de mauvaises analogies populaires et des spéculations.

    • Cela dit, il n’y a pas de raison de penser que tout le monde devrait employer le mot « calculable » uniquement dans son acception très stricte. La définition courante, « ce qu’un ordinateur peut faire », a aussi du sens.
      L’auteur a peut-être choisi, en raison d’une longue formation, sa propre définition très stricte de la calculabilité, puis écrit tout un texte sur cette définition particulière du mot, avant d’accuser les gens qui utilisent le même mot avec une autre définition de poser des questions idiotes.
      Cela arrive vraiment souvent quand on parle avec des chercheurs au travail ou avec des non-spécialistes. Définir un vocabulaire commun est difficile, et tracer une ligne selon ses propres termes avant de demander aux autres de suivre est épuisant.