154 votes

Minecraft est-il Turing-Complet ?

Minecraft a le mécanisme des fils de redstone qui peuvent être utilisés pour construire des circuits. Est-ce que Minecraft est Turing-Complet, c'est-à-dire qu'il peut être utilisé pour simuler un système d'information. Machine de Turing (si l'on ignore le problème de la mémoire infinie) ?

20 votes

Il y a aussi le problème de ne pas avoir un espace infini - si vous vous éloignez de plus de quelques morceaux, des parties de votre objet seront déchargées.

36 votes

Référence obligatoire à Xkcd : xkcd.com/505

4 votes

Cela dépend de ce que vous entendez par "complet de Turing". Avec la définition formelle, Minecraft n'est pas complet de Turing. Mais votre ordinateur ou tout autre dispositif réel ne l'est pas non plus, car vous avez besoin d'une mémoire infinie pour cela. Dans le sens plus commun où Turing complet est utilisé, c'est-à-dire un ordinateur universel, alors oui, Minecraft est Turing complet.

95voto

Nick T Points 38411

Notch lui-même a déclaré dans une interview que oui, les blocs Redstone dans Minecraft permettent la construction de machines complètes de Turing.

https://www.youtube.com/watch?v=rqUDam_KJno#t=4m35s?start=275

Certaines personnes ont même construit des ALU et des CPU, comme dans l'exemple suivant. Le créateur prévoyait d'ajouter une matrice de mémoire pour permettre sa programmation.

https://www.youtube.com/watch?v=7sNge0Ywz-M?start=0

44 votes

Génial. Incroyablement triste, mais génial.

4 votes

Quelle est la vitesse de l'unité centrale ? 0,5 Hz ?

5 votes

@WTP, cela semblait être la vitesse à laquelle il pouvait le synchroniser, mais en se basant sur le délai de certains changements de registre, je suis sûr qu'il y aurait des conditions de course dans ce cas et qu'il faudrait probablement une vitesse beaucoup plus lente ou un pipeline.

27voto

Daniel Wagner Points 338

Je sais que cette question est un peu ancienne, mais toutes les autres réponses me semblent assez complexes, alors que la réponse elle-même peut être assez simple : ni les portes ne sont universelles , les torches de pierre rouge ne sont pas des portes y tous les graphes peuvent être intégrés dans l'espace 3 donc oui, Minecraft est Turing complet !

1 votes

Minecraft n'est pas exactement un espace 3. Il y a une limite de hauteur. Est-ce que cela limite sa complétude de turing ?

3 votes

@XeroOl Bon point. Néanmoins, je pense que c'est correct : en utilisant l'analogie du lien, il n'est pas important que les pages du livre puissent être insérées tout juste qu'il y ait une infinité de directions où ils puissent aller. Dans Minecraft (en ignorant la restriction "seulement les morceaux chargés", comme je pense que la plupart des autres réponses le font aussi) vous avez encore cela, au moins.

0 votes

Pensez-vous qu'il serait possible d'utiliser un monde plat comme une bande de mémoire infinie et de construire une machine à blocs de bave qui se comporte comme une machine de Turing ?

11voto

Ekuurh Points 143

J'ai bien peur que tout bâtiment en redstone de taille finie (même dans un monde infini) ne puisse stocker qu'autant de bits de données que la quantité de redstone qu'il contient, donc il n'est pas complet de Turing.

Si vous parlez de bâtiments en redstone de taille infinie, eh bien, vous pouvez tout à fait construire le jeu de la vie de Conway dans Minecraft, qui est turing complet. Le "tout à fait facilement" ne fonctionnera pas si nous étions dans un espace 2D Minecraft, et là, eh bien, c'est une question intéressante :)

Voici un bel exemple de mise en œuvre :

https://www.youtube.com/watch?v=jaoSzCfa9OM?start=0

23 votes

Il est vrai que tout système fini n'est pas complet de Turing, mais cela est généralement ignoré lorsqu'on parle de complétude de Turing. Par exemple, tout ordinateur moderne avec une quantité finie de stockage n'est pas complet de Turing.

3 votes

Si le jeu de la vie de Conway est complet de Turing et qu'il fonctionne dans Minecraft, cela ne rendrait-il pas automatiquement Minecraft complet de Turing ?

6 votes

Selon cette logique, les ordinateurs ne sont pas non plus complets de Turing.

3voto

Timothy Swan Points 39

Vanilla Minecraft est très probablement Turing Complete en raison de la combinaison du clonage des blocs de commande (pour la mémoire non limitée), de la téléportation (pour le chargement des morceaux) et de la détection des mises à jour des blocs (un composant pour l'auto-identification des dispositifs de clonage).

https://www.youtube.com/watch?v=RckJ2zR-ZnA?start=0

0 votes

La redstone de Minecraft n'est pas une machine complète de Turing, et ne peut pas, à elle seule, construire une machine complète de Turing - comme expliqué dans la vidéo - mais la redstone est une machine complète de Turing. langue Il peut être utilisé pour écrire des programmes de longueur arbitraire qui peuvent faire tout ce qu'une machine de Turing peut faire avec un programme de longueur arbitraire. Et quand je dis longueur arbitraire, je veux dire en particulier qu'elle est finie. C'est ainsi que la complétude de turing est comprise pour les langages de programmation. Sinon, nous devrions dire qu'il n'existe pas de langage complet de turing parce que le langage ne peut pas créer de mémoire.

0voto

l4m2 Points 247

Oui avec spawner/portail de fin (pour dupliquer l'article) pour une mémoire infinie. Ici je ne parle pas de bloc de commande car si les commandes sont considérées, il ne peut y avoir que des entités finies (UUID 128 bit).

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X