Je me suis demandé pourquoi la bande / les bandes ne font pas partie de la définition formelle d'une machine de Turing. Considérons, par exemple, la définition formelle d'une machine de Turing sur la page Wikipedia . La définition, après Hopcroft et Ullman, comprend: l'ensemble fini d'états , l' alphabet de bande , le symbole vide , l'état initial , l'ensemble d'états finaux , et la fonction de transition . Aucun n'est la bande elle-même.
Une machine de Turing est toujours considérée comme fonctionnant sur une bande, et la fonction de transition est interprétée comme déplaçant sa tête, substitution de symbole et changement d'état. Alors, pourquoi la bande est-elle exclue de la définition mathématique d'une machine de Turing?
D'après ce que je peux voir, la définition formelle en soi ne semble pas impliquer que la machine de Turing fonctionne comme elle est souvent décrite de manière informelle (avec une tête se déplaçant sur une bande). Ou alors?
la source
Réponses:
Pour définir formellement une instance d'une machine de Turing (pas le concept général), vous n'avez pas besoin de mentionner explicitement la bande elle-même ou son contenu. Pour désigner une configuration de cette machine particulière, ou un calcul effectué par elle, c'est quand vous avez besoin d'une certaine forme de notation pour décrire le contenu de la bande.
la source
C'est une zone un peu grise, mais je dirais que la définition sépare le modèle de l' instance . Si vous souhaitez avoir une idée simple en tête, pensez matériel vs logiciel.
Le modèle est le matériel: le est une tête. Il y a une bande. La bande est infinie d'un côté et contient des blancs (en plus de l'entrée). La tête peut bouger une étape à la fois.
L' instance est le logiciel: l'entrée dicte ce que la bande contient au début, la fonction état / transition indique comment la tête bouge et comment la machine "fonctionne". Les états finaux donnent le sens de succès / échec.
Les deux paramètres sont configurables --- les deux peuvent être modifiés. Il existe des modèles alternatifs avec deux bandes, deux têtes, bandes double face, bande non vide, etc. .
la source
Voici déjà de bonnes réponses, mais j'essaie d'en faire une réponse succincte.
Les définitions ne doivent pas être excessives ou verbeuses.
En effet, la définition de la machine de Turing définit également l'abstraction de la bande. Le q0 - est le début de la bande. L'alphabet est un contenu de la bande. Et δ: (Q ∖ F) × Γ → Q × Γ × {L, R} indique que la bande a gauche et droite et l'infini dans les deux directions.
Donc, la bande, la tête, déplace juste des représentations du modèle respectueuses de l'homme, elles sont déjà dans le modèle mathématique , mais elles ne sont pas elles-mêmes un modèle formel.
la source
Les fournit une réponse concise et correcte: les définitions mathématiques sont aussi concises que possible, et l'inclusion explicite d'une bande infinie dans la définition d'une machine de Turing rendrait sa définition beaucoup moins concise, donc nous ne le faisons pas.
Cela ne répond pas à la question: pourquoi ? Comment la définition peut-elle exclure la bande infinie lorsque nous en avons besoin?
La réponse: non. Dans un sens, les machines Turing ne nécessitent pas réellement de bandes infinies, et leur définition le montre clairement.
Par définition, le déplacement d'une machine de Turing fait passer la machine d'une configuration à une autre; une configuration comprend une chaîne finie , que nous considérons comme un fragment fini de bande écrite. Chaque mouvement déplace la tête de bande d'une position ou écrase le symbole sous la tête de bande. Cependant - et cela est essentiel pour son fonctionnement:
Une façon de reformuler ceci est de dire: la machine fonctionne sur une bande infinie, entièrement remplie de blancs, à l'exception d'un fragment fini sur lequel se trouve sa tête de bande. C'est ce que disent la plupart des explications.
Une autre façon de reformuler ceci est de dire: la machine fonctionne sur une bande finie, étendue avec des blancs chaque fois que sa tête se détache de la bande à chaque extrémité.
Ce sont deux façons valables de conceptualiser le fonctionnement de la machine: dans les deux cas, si vous aviez réellement une machine fonctionnant comme ça, elle implémenterait correctement une machine de Turing.
Si tout ce qui vous intéresse est d'enseigner aux élèves comment fonctionnent les machines Turing, peu importe la conceptualisation que vous choisissez.
Cependant, je pense que la première conceptualisation est une erreur, pour deux raisons:
Pour résumer: l'idée de machines Turing utilisant ou contenant une bande infinie sert à souligner un point technique important, mais ce n'est pas nécessairement la façon la plus intuitive de penser aux machines Turing, et elle invite à certaines conclusions incorrectes. Utiliser avec précaution.
la source