J'ai récemment entendu une analogie intéressante qui déclare que la preuve de Turing de l'indécidabilité du problème d'arrêt est très similaire au paradoxe du barbier de Russell.
Je me suis donc demandé: les mathématiciens ont finalement réussi à rendre la théorie des ensembles cohérente en passant de la formulation naïve du champ de Cantor à un système plus complexe d'axiomes (théorie des ensembles ZFC), faisant d'importantes exclusions (restrictions) et ajouts en cours de route.
Serait-il donc possible d'essayer de trouver une description abstraite du calcul général qui soit plus puissante et plus expressive que les machines de Turing, et avec laquelle on pourrait obtenir soit une preuve existentielle, soit peut-être même un algorithme pour résoudre le problème d'arrêt pour une machine de Turing arbitraire?
Réponses:
Vous ne pouvez pas vraiment comparer. La théorie des ensembles naïfs avait des paradoxes qui ont été éliminés par la théorie des ensembles ZFC. La théorie doit être améliorée pour la cohérence, car une hypothèse de base du travail scientifique est que la cohérence est réalisable (sinon le raisonnement devient une affaire hasardeuse). Je suppose que les mathématiciens s'attendaient à ce que cela soit possible et ils ont travaillé pour résoudre le problème.
Il n'y a pas une telle situation avec la théorie du calcul et le problème d'arrêt. Il n'y a pas de paradoxe, pas d'incohérence. Il se trouve qu'il n'y a pas de machine Turing capable de résoudre le problème d'arrêt de TM. C'est simplement un théorème, pas un paradoxe.
Il se peut donc qu'une percée dans notre compréhension de l'univers conduise à des modèles de calcul au-delà de ce que nous pouvons envisager maintenant. Le seul événement de ce type, sous une forme très faible, qui reste dans le domaine de la MT, était peut-être l'informatique quantique. Outre cet exemple très faible qui touche à la complexité (combien de temps cela prend-il?) Plutôt qu'à la calculabilité (est-ce faisable?), Je doute que quiconque sur cette planète ait une idée que la calculabilité au-delà de la MT est à prévoir.
De plus, le problème de l'arrêt est une conséquence directe du fait que les machines de Turing peuvent être décrites par un morceau de texte fini, une séquence de symboles. C'est en fait vrai de toutes nos connaissances (à notre connaissance), et c'est pourquoi la parole et les livres sont si importants. Cela est vrai de toutes nos techniques pour décrire les preuves et les calculs.
Donc, même si nous devions trouver un moyen d'étendre la façon dont nous calculons, disons avec les machines T +. Soit cela signifierait que nous avons trouvé un moyen d'exprimer des connaissances au-delà de l'écriture de documents finis, auquel cas le tout tombe hors de ma juridiction (je revendique une incompétence absolue) et probablement de n'importe qui d'autre. Ou il serait toujours exprimable dans des documents finis, auquel cas il aurait son propre problème d'arrêt pour les machines T +. Et vous poseriez à nouveau la question.
En fait, cette situation existe en sens inverse. Certains types de machines sont plus faibles que les machines de Turing, comme les automates linéaires délimités (LBA). Ils sont assez puissants cependant, mais il peut être montré exactement comme cela est fait pour TM que LBA ne peut pas résoudre le problème d'arrêt pour LBA. Mais TM peut le résoudre pour LBA.
Enfin, vous pouvez imaginer des modèles de calcul plus puissants en introduisant oracle, qui sont des appareils qui peuvent donner des réponses à des problèmes spécifiques, et peuvent être appelés par une MT pour obtenir des réponses, mais malheureusement, ils n'existent pas physiquement. Une telle extension TM oracle est un exemple de la machine T + que j'ai considérée ci-dessus. Certains d'entre eux peuvent résoudre le problème d'arrêt de la MT (abstraitement, pas pour de vrai), mais ne peuvent pas résoudre leur propre problème d'arrêt, même abstraitement.
la source
Eh bien, vous pouvez toujours envisager une machine Turing équipée d'un oracle pour le problème d'arrêt de la machine Turing ordinaire. Autrement dit, votre nouvelle machine a une bande spéciale, sur laquelle elle peut écrire la description d'une machine Turing ordinaire et son entrée et demander si cette machine s'arrête sur cette entrée. En une seule étape, vous obtenez une réponse et vous pouvez l'utiliser pour effectuer d'autres calculs. (Peu importe que ce soit en une seule étape ou non: ce serait suffisant s'il était garanti de se trouver dans un nombre fini d'étapes.)
Cependant, cette approche présente deux problèmes.
Les machines de Turing équipées d'un tel oracle ne peuvent pas décider de leur propre problème d'arrêt: la preuve de Turing de l'indécidabilité du problème d'arrêt ordinaire peut facilement être modifiée pour ce nouveau paramètre. En fait, il existe une hiérarchie infinie, connue sous le nom de "degrés de Turing", générée en donnant au niveau suivant de la hiérarchie un oracle pour le problème d'arrêt du précédent.
Personne n'a jamais suggéré une quelconque manière de mettre en œuvre physiquement un tel oracle. C'est très bien comme appareil théorique mais personne n'a la moindre idée de comment en construire un.
Notez également que ZFC est, dans un sens, plus faible que la théorie des ensembles naïfs, pas plus fort. ZFC ne peut pas exprimer le paradoxe de Russell, contrairement à la théorie naïve des ensembles. En tant que tel, une meilleure analogie serait de se demander si le problème d'arrêt est décidable pour les modèles de calcul plus faibles que les machines de Turing. Par exemple, le problème d'arrêt pour les automates finis déterministes (DFA) est décidable, car les DFA sont garantis pour s'arrêter pour chaque entrée.
la source
Avertissement: une réponse philosophique / non rigoureuse
Cela peut devenir un peu «philosophique», mais je pense que cela correspond à l'esprit de votre question.
Une machine non répétable
Une pierre angulaire de la preuve du problème d'arrêt est qu'une machine de Turing se comporte comme une fonction: pour la même entrée, elle donne toujours la même sortie. Si vous supprimez cette propriété, vous n'avez pas à gérer le problème d'arrêt "général", dans le sens où la machine peut découvrir ses propres propriétés. Mais vous perdez également beaucoup des propriétés théoriques souhaitables d'une telle machine.
Suppression de propriétés
C'est un peu comme passer de la théorie des ensembles à la théorie des catégories: vous perdez certains des «paradoxes» en perdant les limites. Mais le résultat est beaucoup plus difficile à gérer.
Dans ce cas, cela signifie: Vous n'auriez aucune idée si la machine vous présente le résultat "correct". Dès que vous pouvez toujours décider quel résultat est correct, vous devez faire face à une sorte de "problème d'arrêt" en appliquant la machine à elle-même et en construisant une contradiction. Une telle machine ne serait donc probablement pas très utile.
la source
Le problème de l'arrêt n'a pas été formulé pour exprimer les limites des machines de Turing, mais plutôt pour exprimer une limitation de tous les systèmes logiques qui peut être exprimée en utilisant un nombre fini de symboles. Une fois qu'un système logique a la capacité d'exprimer les solutions à des problèmes d'une certaine complexité, il aura également la capacité d'exprimer des problèmes qu'il ne peut pas résoudre. Toute extension d'un système logique suffisante pour exprimer des solutions à tous les problèmes qu'il n'a pas pu résoudre auparavant inclura également la possibilité d'exprimer de nouveaux problèmes qu'il ne peut pas résoudre.
Compte tenu de toute spécification particulière de "machine de Turing améliorée", il serait possible de spécifier une "machine de Turing super améliorée" qui pourrait examiner un programme pour l'ETM et signaler s'il s'arrêterait, mais le SETM ne pourrait analyser que des programmes pour l'ETM - il ne serait pas en mesure d'analyser les programmes SETM. Il n'y a aucun moyen de définir une machine qui peut analyser les programmes pour elle-même et déterminer s'ils s'arrêtent parce que l'ajout de nouvelles fonctionnalités créerait de nouvelles exigences pour un auto-analyseur, et il n'y a aucun moyen de faire en sorte que les fonctionnalités «rattrapent» les exigences .
la source
De telles machines ont été envisagées et sont appelées machines super-Turing . Plusieurs grandes classes de machines de super-turing sont
Toutes les machines de super-turing ne peuvent pas résoudre le problème d'arrêt (les machines de turing non déterministes, en particulier, ne le peuvent pas). Cependant, les machines conceptuelles ont été créées, au moins dans les expériences de pensée.
la source