Pour célébrer l'anniversaire d'Alan Turing, Google a publié un doodle montrant une machine. Quel type de machine est le doodle? Peut-il exprimer une langue Turing Complete?
Il existe des différences évidentes avec la machine de turing classique: une bande finie, des contraintes dans la façon dont l'état peut être connecté, ...
Le doodle est toujours disponible ici
(L'affichage en haut à droite montre la sortie attendue.)
La bande au milieu est divisée en carrés pouvant contenir un blanc, un zéro ou un. La tête est positionnée au-dessus de l'un des carrés et est utilisée pour la lecture et l'écriture.
Sous la bande, vous pouvez voir une flèche verte sur laquelle vous pouvez cliquer pour démarrer la machine. Il y a deux lignes de cercles à côté, dont certaines sont connectées. Je les appellerai "états".
Après le démarrage de la machine, le premier état à droite du bouton vert s'allume, puis le suivant à droite, et ainsi de suite ... Chaque état contient l'une des commandes suivantes:
- vide = ne rien faire (passer simplement à l'état suivant)
- 1 = écrire un sur la bande à la position actuelle de la tête
- 0 = écrire un zéro sur la bande à la position actuelle de la tête
- flèche vers la gauche = déplacer la tête d'un pas vers la gauche
- flèche vers la droite = déplacer la tête d'un pas vers la droite
- condition: si la valeur sous la tête est égale à la valeur indiquée dans le carré, descendez à la deuxième ligne d'états. sinon, passez à l'état suivant vers la droite
- saut à gauche: revenir à un état précédent (fixe) mais uniquement sur la ligne supérieure [J'avais initialement oublié celui-là, merci @Marzio!]
Il n'y a aucun moyen de "superposer" deux sauts (l'un sur l'autre). La machine s'arrête lorsqu'elle quitte un état et il n'y a pas d'état suivant à sa droite.
(Après l'arrêt de la machine, le contenu de la bande est comparé au contenu de l'écran, mais je ne considère pas que cela fait partie des fonctionnalités prévues de la machine.)
Réponses:
En admettant que:
... donc même si le Doodle de l'AT n'est peut - être pas Turing complet (en raison de l'opérateur de saut gauche qui ne se chevauche pas uniquement disponible dans la première rangée), il est assez puissant pour parcourir la fine ligne de (non) décidabilité: - ré
EDIT: TURING DOODLE EST TURING COMPLET
(Je laisse la réponse précédente ci-dessus, car je ne suis pas sûr que cette partie soit correcte :-)
Je pense que même avec un seul saut gauche sans chevauchement, le Turing Doodle est Turing complet! . L'idée (simple) est d'utiliser la bande elle-même pour stocker l'état actuel et d'utiliser plusieurs cellules pour représenter un alphabet plus grand.
Par exemple, une MT à 2 états et 8 symboles peut être simulée en utilisant la représentation de bande suivante:
Le doodle Turing peut:
L'image complète est disponible ici .
la source
alen turing
. J'ai aimé lire ceciCeci est un extrait de l'article original de Turing "Sur les nombres calculables, avec une application au problème Entscheidungs".
Un bon compagnon moderne pour le papier que je recommande est The Annotated Turing de Charles Petzold.
Comme vous pouvez le voir, Google a juste essayé de ressembler à une machine qui est très similaire à la description de Turing.
EDIT: en supposant que l'alphabet complet de Google TM est celui affiché à la fin du jeu après avoir cliqué sur l' icône du lapin , et en tenant compte du fait qu'il produit une séquence infinie , a obtenu plus de lignes et de colonnes (nous pouvons donc supposer que nous pouvons ajouter n'importe quel ), a des sauts à gauche (et aussi des sauts à gauche qui se chevauchent ) à n'importe quelle ligne , a un saut conditionnel et inconditionnel entre les rangées adjacentes, je pense que c'est Turing complet .
la source
Dans les puzzles, les sauts sont autorisés sur les deux lignes, mais ils ne peuvent pas se chevaucher. Au dernier doodle de séquence de lapin à la fin du jeu, ils autorisent les sauts sur chaque ligne et ils peuvent être imbriqués entre parenthèses et [()] est autorisé, mais ([)] ne semble pas être autorisé.
J'utiliserai les hypothèses suivantes:
Avec ces hypothèses, la machine Google Doodle est terminée .
Le GDM simule le TM comme suit:
Choisissez votre TM universel préféré et implémentez-le dans la procédure ci-dessus pour obtenir un GDM universel.
la source