Existe-t-il une analogie physique avec la machine de Turing?

27

Récemment, dans ma classe CS, j'ai découvert la machine de Turing.

Après le cours, j'ai passé plus de 2 heures à essayer de comprendre quelle est la relation entre une bande et une machine.

J'ignorais complètement l'existence des bandes d'ordinateurs ou la façon dont les bandes et les machines interagissaient jusqu'à aujourd'hui. Je ne vois toujours pas pourquoi une machine lirait des bandes mais un scanner est peut-être une conception plus proche de la machine Turing où le papier est considéré comme une bande et tout ce qui se trouve à l'intérieur d'un scanner est ce qu'une machine Turing ferait.

Mais en tout cas, l'idée d'une machine de Turing n'est-elle pas assez archaïque? Nous avons tellement d'appareils physiques (plutôt qu'hypothétiques) dans notre bureau ou notre salon qui semblent faire ce que fait la machine de Turing.

Quelqu'un peut-il fournir un meilleur exemple en s'inspirant de la réalité pour que les fonctionnalités essentielles de cette conception hypothétique soient capturées?

Carlos - la mangouste - Danger
la source
1
Si vous voulez comprendre pourquoi une machine lirait des bandes, lisez les tout premiers jours de l'informatique. Par exemple, vous pouvez voir des bandes de papier sur cette photo de Colossus .
Peter Taylor
4
Bien sûr, il existe de vraies machines de Turing! Même un en Lego!
john_leo
3
Question connexe . Notez que les bandes (finies) étaient fortement utilisées dans le calcul jusqu'à ce que les disques durs arrivent.
Raphael
1
L'argument de la salle chinoise ( en.wikipedia.org/wiki/Chinese_room ) pourrait vous aider à mieux comprendre. J'ai eu le même problème avec les machines Touring lors de ma première entrée dans CS, et la salle chinoise était le pont dont j'avais besoin pour y arriver. De plus, l'intérêt d'une Tournig Machine est de permettre aux mathématiciens de continuer à prouver des choses intéressantes sur CS. Ce n'est pas censé être un véritable ordinateur.
sevensevens
2
@slebetman Cela peut être un peu ésotérique pour quelqu'un qui se familiarise avec les machines de Turing, mais la bande dans une machine de Turing n'est pas à accès aléatoire; c'est un accès séquentiel. Il faut n déplacements pour amener la tête dans une cellule à n espaces. Je mentionne cela uniquement parce que si l'espace des choses calculables ne change pas, le temps nécessaire pour les calculer le fait. Ce type de résultats (par exemple, vous pouvez simuler une machine à 2 bandes avec une machine à 1 bande, vous pouvez simuler la RAM avec une machine à 1 bande, etc., et avec seulement une augmentation de temps polynomiale, etc.) sont des exercices importants dans cours de calculabilité.
Joshua Taylor

Réponses:

24

Les machines de Turing sont l'un des modèles de calcul de Turing «originaux», avec le calcul et les fonctions récursives définies de manière récursive. De nos jours, dans de nombreux domaines de l'informatique théorique, un modèle différent est utilisé, la machine RAM, qui est beaucoup plus proche des ordinateurs réels. Étant donné que les deux modèles sont équivalents à p (ils se simulent mutuellement avec au plus une explosion polynomiale), du point de vue de questions comme P contre NP, les deux modèles sont équivalents.λ

Yuval Filmus
la source
38

AFAIK the Turing Machine est modelé sur l'idée d'un humain avec un stylo et du papier. L'homme a un certain état dans le cerveau, regarde le papier comme la machine regarde la bande et écrit quelque chose sur le papier ou se déplace pour regarder un endroit différent, tout comme la machine.

TM est archaïque comme arithmétique des nombres naturels de Peano. La MT est inutile pour le calcul pratique, et elle n'est bien entendu pas destinée à être utilisée pour cela. C'est juste un moyen simple d'axiomatiser le calcul afin que nous puissions raisonner sur ce qui est calculable et ce qui ne l'est pas - tout comme l'arithmétique Peano est utile pour définir à partir des premiers principes ce que sont les nombres naturels et quelles sont leurs propriétés - mais il serait ridicule de essayez de faire de l'arithmétique en manipulant les nombres de Peano à la main selon les définitions théoriques.

Imaginez à quel point il serait difficile de prouver différents théorèmes à partir de la théorie de la complexité et de la calculabilité (par exemple, prouver que le problème de l'arrêt est indécidable), si vous deviez les prouver en utilisant la sémantique du langage de programmation C ++ au lieu de la machine de Turing. Vos preuves seraient ridicules ou impossibles - aussi ridicules que de prouver l'associativité de la multiplication des nombres naturels en utilisant la méthode de l'école primaire appliquée aux nombres décimaux comme définition de ce qu'est la multiplication.

jkff
la source
5
Bonne réponse. Dans l'article original de Turing, il a même dérivé sa définition de la machine de la façon dont un humain calculerait quelque chose.
john_leo
1
Re: C ++, cela peut amuser: port70.net/~nsz/c/c%2B%2B/turing.pdf
Daniel Earwicker
8

De nombreux modèles de calcul complet de Turing très différents sont physiquement réalisables (jusqu'à considérer l'infini comme un signe de non-limite). Ainsi, cela ne peut pas servir à choisir un modèle.

La réponse de @jkff est appropriée en remarquant que la machine de Turing est conçue comme un dispositif théorique dans le but mathématique d'étudier la calculabilité et la prouvabilité (apparaissant en fait dans le contexte du Entscheidungsproblem de Hilbert ). Mais ce n'est pas tout à fait exact dans les raisons du choix d'un formalisme simple.

Prouver en principe le problème de l'arrêt n'est pas beaucoup plus difficile avec des modèles plus avancés. En fait, nos "preuves" ne sont souvent que la construction d'une solution. Nous n'allons pas beaucoup dans les arguments réels (très fastidieux) que ces constructions sont correctes. Mais quiconque écrit un interprète pour un langage complet de Turing fait autant que n'importe quelle construction une machine universelle. Eh bien, C peut être un peu complexe, et nous pourrions vouloir le rationaliser un peu à cette fin.

L'importance d'avoir un modèle simple réside beaucoup plus dans l'utilisation qui peut être faite du modèle, que dans l'établissement de ses propriétés (comme le problème de l'arrêt, pour prendre l'exemple donné par @jkff).

En règle générale, les grands théorèmes sont souvent des théorèmes qui peuvent être exprimés très simplement et sont applicables à un large éventail de problèmes. Mais ce ne sont pas nécessairement des théorèmes faciles à prouver.

Dans le cas de la MT, l'importance de la simplicité est due au fait que de nombreux résultats sont établis en réduisant le problème d'arrêt, ou d'autres problèmes de MT, aux problèmes qui nous intéressent (tels que l'ambiguïté des langages sans contexte), établissant ainsi des limites inhérentes à la résolution. ces problèmes.

En fait, bien que très intuitif (ce qui est probablement la principale raison de sa popularité), le modèle TM n'est souvent pas assez simple pour être utilisé dans de telles preuves. C'est une des raisons de l'importance d'autres modèles encore plus simples, tels que le problème de la correspondance postérieure , moins intuitif à analyser, mais plus facile à utiliser. Mais c'est parce que ces modèles de calcul sont souvent utilisés pour prouver des résultats négatifs (ce qui remonte au problème Entscheidungsproblem d'origine).

Cependant, lorsque nous voulons prouver des résultats positifs, tels que l'existence d'un algorithme pour résoudre un problème donné, la MT est un appareil beaucoup trop simpliste. Il est beaucoup plus facile d'envisager des modèles avancés en mode tels que l' ordinateur RAM , ou un ordinateur à mémoire associative , ou l'un des nombreux autres modèles, ou même simplement l'un des nombreux langages de programmation.

Ensuite, le modèle TM ne vient que comme point de référence, en particulier pour l'analyse de complexité, étant donné la complexité de la réduction de ces modèles au modèle TM (généralement polynomial) .La simplicité du modèle TM confère alors beaucoup de crédibilité aux mesures de complexité (par opposition, pour prendre un exemple extrême, aux réductions de Lambda-calcul).

En d'autres termes, le modèle TM est souvent trop simpliste pour concevoir et étudier des algorithmes (résultats positifs), et souvent trop complexe pour étudier la calculabilité (résultats négatifs).

Mais il semble être à peu près au bon endroit pour servir de lien central pour le connecter tous ensemble, avec le grand avantage d'être plutôt intuitif.

Concernant les analogies physiques, il n'y a aucune raison de choisir un modèle plutôt qu'un autre. De nombreux modèles de calcul complets de Turing sont physiquement réalisables (jusqu'à l'infini pour la mémoire infinie), car il n'y a aucune raison de considérer un ordinateur avec son logiciel comme moins physique qu'un ordinateur "nu". Après tout, le logiciel a une représentation physique, qui fait partie de l'ordinateur programmé. Donc, comme tous les modèles de calcul sont équivalents de ce point de vue, nous pourrions aussi bien en choisir un qui convienne à l'organisation des connaissances.

babou
la source
C'est peut-être une remarque antipathique, mais la première phrase n'est pas vraie car vous pouvez toujours monter. Il existe plusieurs modèles d'hyper-calcul qui sont des modèles de calcul complets de Turing mais qui ne sont pas physiquement réalisables.
Nikolaj-K
Merci. Je n'ai jamais pensé à cela, mais je suppose que cela peut être correct, car l'hypercalcul peut toujours être affaibli par d'autres moyens. Comment pensez-vous que cela devrait être dit alors, car je suppose que vous avez compris ce que je voulais dire?
babou
1
Ouais, ce ne sont pas seulement des trucs comme des machines à remonter le temps non déterministes ou infinies. Une machine de Turing qui après l'étape 7 du calcul se transforme en éléphant, mange un bol de spaghetti, construit une autre machine de Turing et passe à l'étape 8 du calcul d'origine ... est également un modèle de calcul complet de Turing valide. Quoi qu'il en soit, je ne pense pas que vous devriez le réparer.
Nikolaj-K
" Tout modèle de calcul complet de Turing est physiquement réalisable. ", Bien, non, bien au contraire, en fait. En fait, aucun modèle complet de Turing ne peut jamais être construit physiquement, car nous ne pouvons rien construire d'infini. Ainsi, tous les modèles de calcul "physiquement réalisés" sont au mieux des modèles d'automates linéaires délimités ou moins.
RBarryYoung
@RBarryYoung Si vous avez eu la patience de lire l'intégralité de la réponse, vous avez peut-être remarqué que dans le dernier paragraphe, je précise que c'est "jusqu'à l'infini pour la mémoire infini". La première phrase a été conçue comme une introduction. Pensez-vous inapproprié de ne pas donner un fait aussi connu dans l'introduction? Il est vrai qu'essayer d'analyser plus en profondeur le rôle du modèle TM ouvre ma réponse à plus de critiques. Avez-vous vu autre chose qui ne va pas dans ma réponse?
babou
5

Imaginez un nouveau venu dans la géométrie demandant:

Existe-t-il une analogie physique avec le triangle?

L'idée d'un triangle n'est-elle pas assez archaïque? Nous avons tellement de formes physiques (plutôt qu'hypothétiques) dans notre bureau ou notre salon qui semblent faire ce que fait le triangle.

Que répondriez-vous?

Vous pourriez dire que ces questions révèlent deux idées fausses fondamentales sur les triangles:

  1. "Les triangles sont purement hypothétiques." Faux! Bien qu'ils soient des entités mathématiques, des idéaux platoniciens et hypothétiques en ce sens, les triangles sont réels : nous pouvons en fait les construire dans le monde réel. Certes, ce que nous construisons ne sera jamais un triangle parfait, mais notre théorie mathématique à leur sujet s'applique au monde réel, les lois que nous pouvons dériver s'appliquent aux formes dans le monde réel, la théorie peut être utilisée comme base pour la conception, construire et mesurer des formes dans le monde réel; c'est la raison pour laquelle la théorie a été développée en premier lieu.
  2. "Les triangles sont inutiles car ils ne décrivent pas les formes que nous utilisons normalement."Faux! Décrire les formes réelles que vous trouvez dans le monde réel n'est pas leur objectif. Si votre bureau ou votre salon ne contient pas un seul triangle, cela ne signifie pas que le concept de triangle est irréaliste ou obsolète et qu'il vaut mieux le remplacer par autre chose. Leur objectif principal est comme une construction élémentaire à partir de laquelle toutes les formes plus complexes peuvent être construites en principe - et pour lesquelles nous pouvons donc dériver des lois qui s'appliquent aux formes en général. Le raisonnement sur les triangles nous permet de raisonner sur les formes en général. Votre salon est soumis aux mêmes lois que nous avons dérivées pour les triangles, et notre connaissance de ces lois a été utilisée, directement ou indirectement, pour le construire. Le salon n'a probablement pas un seul triangle, encore moins un parfait, mais nous ne nous soucions pas d'y trouver des triangles; nous pouvons. cependant, créez une description des formes qui s'y trouvent en les rapprochant avec des triangles, et ceci - la triangulation - est une chose populaire et utile à faire. Les triangles sont donc des blocs de construction pour nous aider à penser aux formes en général.

Il en va de même pour les machines Turing.

Cela fait si longtemps que j'ai découvert la géométrie, je ne me souviens vraiment pas si un nouveau venu a réellement ces idées fausses sur les triangles. Mais quand il s'agit de machines Turing, je rencontre tout le temps ces idées fausses . Si souvent, en fait, qu'il semble y avoir quelque chose de fondamentalement mauvais dans la façon dont ils sont généralement enseignés. Peut-être qu'une approche « show and tell » s'impose!

Donc, par souci d'exhaustivité:

  1. "Les machines de Turing sont purement hypothétiques." Faux! Bien qu'elles soient des entités mathématiques, des idéaux platoniciens et hypothétiques en ce sens, les machines de Turing sont réelles : nous pouvons réellement les construire dans le monde réel. Certes, ce que nous construisons ne sera jamais une machine de Turing parfaite, mais notre théorie mathématique à leur sujet s'applique au monde réel, les lois que nous pouvons dériver s'appliquent aux dispositifs de calcul dans le monde réel, la théorie peut être utilisée comme base pour concevoir, construire et mesurer des dispositifs de calcul dans le monde réel; c'est la raison pour laquelle la théorie a été développée en premier lieu.
  2. "Les machines de Turing sont inutiles car elles ne décrivent pas les appareils informatiques que nous utilisons normalement."Faux! Décrire les dispositifs de calcul réels que vous trouvez dans le monde réel n'est pas leur objectif. Si tout votre back-office ou studio de divertissement à domicile ne contient pas une seule machine Turing, cela ne signifie pas que le concept de machine Turing est irréaliste ou obsolète et qu'il vaut mieux le remplacer par autre chose. Leur objectif principal est comme une construction élémentaire à partir de laquelle tous les dispositifs de calcul plus complexes peuvent être construits en principe - et pour lesquels nous pouvons donc dériver des lois qui s'appliquent aux formes en général. Le raisonnement sur les machines de Turing nous permet de raisonner sur les dispositifs de calcul en général. Votre matériel informatique et vos logiciels sont soumis aux mêmes lois que nous avons dérivées pour les machines de Turing, et notre connaissance de ces lois a été utilisée, directement ou indirectement, pour les construire - même si elles ne le sont probablement pas. t avoir une seule machine de Turing en eux. Ce sont les lois qui nous intéressent.
reinierpost
la source
1
Pourriez-vous étendre cette discussion sur les triangles au cas des tesseractes . Je pense que les triangles devraient être opposés aux entités qui sont moins manifestement physiques.
babou
1
J'ai ri en lisant la question, car elle me semblait tout aussi ridicule que de dire que les triangles sont archaïques. L'informatique est fondamentalement mathématique; il ne vieillit pas et ne devient pas obsolète. Réponse très bien écrite; +1.
Wildcard
Je ne vois pas la pertinence d'un tesseract, mais cela pourrait être une amélioration d'utiliser une sorte de procédure ou de machine, par exemple du tricot ou une machine à tricoter . Une machine de Turing ne décrit pas vraiment un objet mais un processus (configurable, pas à pas).
reinierpost
3

L'analogie physique que Turing semble avoir en tête est un ordinateur qui résout les problèmes avec le crayon, le papier et la gomme. Vous devez comprendre qu'en 1936, un "ordinateur" était une personne employée pour calculer. Bien sûr, en 1936, la plupart des ordinateurs auraient utilisé des machines à ajouter, mais Turing ne les mentionne pas car elles sont indispensables. Voici ce qu'il dit, en ce qui concerne la bande, en essayant de justifier que "les nombres" calculables "[c'est-à-dire ceux qu'une machine de Turing pourrait calculer] incluent tous les nombres qui seraient naturellement considérés comme calculables"

Le calcul se fait normalement en écrivant certains symboles sur du papier. Nous pouvons supposer que cet article est divisé en carrés comme un livre d'arithmétique pour enfants. En arithmétique élémentaire, le caractère bidimensionnel du papier est parfois utilisé. Mais une telle utilisation est toujours évitable, et je pense qu'il sera convenu que le caractère bidimensionnel du papier n'est pas essentiel au calcul. Je suppose alors que le calcul est effectué sur du papier unidimensionnel, c'est-à-dire sur une bande divisée en carrés.

Bien que l'ordinateur ne soit plus un métier, la dernière fois que j'ai vérifié, les enfants apprenaient toujours à exécuter des algorithmes en utilisant le crayon et le papier comme support de stockage. Ainsi, bien que cette analogie puisse sembler démodée ou même archaïque, elle n'est pas encore obsolète.

Pour plus d'informations, voir Sur les nombres calculables avec une application au entscheidungsproblem , en particulier les sections 1 et 9.

Theodore Norvell
la source
Joe Weizenbaum a utilisé une autre analogie physique pour l'explication: des jetons sur un rouleau de papier toilette.
Jerry101
1

@jkff a l'idée que ce the Turing Machine is modeled on the idea of a human with a pen and papern'est pas tout à fait correct. Mais il existe de nombreuses situations où elle peut être considérée comme correcte.

Considérez l'humain comme une machine de Turing sous une certaine projection des états. En d'autres termes, si vous ne voyez un humain que pendant ses heures de travail, alors pendant ses heures de travail, il effectue certaines tâches. Ces tâches sont les tâches de base du travail.

Si vous ne vous souciez pas de sa vie personnelle, de ce qu'il fait à la maison, dans sa chambre, etc. Vous pouvez alors considérer cela comme projetant sa fonction de transition dans une nouvelle fonction de transition dans laquelle les états non liés au travail sont ignorés. En d'autres termes, vous pouvez ignorer tous les états et tâches qui n'ont rien à voir avec votre préoccupation et votre perspective.

Dans ce modèle, la machine de Turing est calquée sur un humain avec un stylo, du papier effectuant une tâche fixe (c'est-à-dire une vue dans une perspective fixe). La bande est ce qu'il écrit sur le papier (en ignorant tous les papiers ou en écrivant sur du papier qu'il n'écrit pas pour la tâche)

Maintenant, si vous prenez en compte d'autres tâches qu'il fait, ce que vous avez, c'est que vous avez une union de nombreuses machines de Turing chez un humain. Mais qu'arrive-t-il s'il change de travail et qu'il accomplit une tâche différente. Ensuite, son état cérébral change pour une machine de Turing différente lorsqu'il est vu sous une perspective différente dans un laps de temps différent.

Si vous voulez une bonne réponse à votre question, je pense que Yuval Filmus y a bien répondu. Utilisez le modèle RAM. Restez avec elle.

InforméA
la source