J'ai vu des sites Web qui prétendent «prouver» que HTML5 + CSS est Turing Complete.
J'ai vu des sites Web qui prétendent «prouver» que SQL est Turing Complete.
J'ai vu un tas de sites Web qui prétendent «expliquer» ce que signifie être Turing Complete.
Assez!
Où puis-je trouver un livre (écrit par un expert en théorie de la calculabilité) ou un article évalué par les pairs (dans une revue réputée) qui montre une preuve de: "Ce langage XYZ est capable de décrire une machine de calcul qui a la même puissance de calcul comme une machine de Turing "?
computability
turing-machines
automata
turing-completeness
church-turing-thesis
Roger Costello
la source
la source
Réponses:
Chaque langue qui peut mettre en œuvre deux compteurs (deux registres qui peuvent stocker deux entiers arbitrairement grands) et un programme en une séquence marquée de ces deux instructions élémentaires est complète Turing:C1,C2
Le résultat est prouvé dans:
Marvin L. Minsky, "Insolvabilité récursive du problème d'étiquette de Post et d'autres sujets dans la théorie des machines de Turing" (1961)
N'oubliez pas qu'un modèle de calcul (dans votre cas, un langage de programmation + un périphérique qui exécute des programmes écrits dans ce langage ) ne peut être considéré comme complet que s'il prend en charge l'accès à une quantité illimitée de mémoire (c'est-à-dire l'espace) ou peut stocker ( sous une certaine forme) des entiers arbitrairement grands. Une implémentation de langage de programmation sur un ordinateur réel équivaut à un automate borné linéaire .
Vous pouvez également trouver de nombreuses références sur les pages Wikipedia sur le modèle RAM et le modèle RASP .
Enfin un joli livre centré sur l'équivalence des différents modèles de calcul est:
"Modèles de calcul: une introduction à la théorie de la calculabilité", par Maribel Fernandez
la source
Les deux manuels les plus utilisés sur la calculabilité et la théorie de la complexité sont les suivants:
Il y a aussi une belle monographie de philosophie pour les profanes qui passe en revue les détails techniques de la théorie de la calculabilité sans les preuves formelles.
Enfin, la meilleure introduction à la calculabilité peut être un livre de puzzle d'un célèbre logicien:
(Il commence par un tas de puzzles basés sur le paradoxe du menteur, puis vous explique la construction d'une déclaration autoréférentielle sous la forme d'un puzzle de style Sherlock Holmes sur une mystérieuse boîte verrouillée.)
la source