Minecraft ha il meccanismo dei fili di pietra rossa che può essere utilizzato per costruire circuiti. Minecraft Turing-Complete, ovvero può essere utilizzato per simulare una Turing Machine (se ignoriamo il problema della memoria infinita)?
Minecraft ha il meccanismo dei fili di pietra rossa che può essere utilizzato per costruire circuiti. Minecraft Turing-Complete, ovvero può essere utilizzato per simulare una Turing Machine (se ignoriamo il problema della memoria infinita)?
Lo stesso Notch in un'intervista ha affermato che sì, i blocchi di Redstone in Minecraft consentono la costruzione di macchine complete di Turing.
Un paio di persone hanno persino costruito ALU e CPU, ad esempio il seguente. Il creatore aveva in programma di aggiungere un array di memoria per consentirne la programmazione.
So che questa domanda è un po 'vecchia, ma tutte le altre risposte mi sembrano piuttosto complesse, mentre la risposta stessa può essere abbastanza semplice: né i cancelli sono universali, le torce di pietra rossa lo sono né porte e tutti i grafici possono essere incorporati in 3 spazi; quindi sì, Minecraft è Turing completo!
Temo che qualsiasi edificio in pietra rossa di dimensioni finite (anche in un mondo infinito) possa memorizzare solo tanti bit di dati quanto la quantità di pietra rossa inserita, quindi non è Turing Complete.
Se stai parlando di edifici in pietra rossa di dimensioni infinite, beh, puoi costruire abbastanza facilmente il gioco della vita di Conway in Minecraft, che sta tornando completo. "Abbastanza facilmente" non funzionerà se fossimo in uno spazio Minecraft 2D, e lì, beh, questa è una domanda interessante :)
Ecco un chiaro esempio di implementazione:
Vanilla Minecraft è molto probabilmente Turing Complete a causa della combinazione di clonazione del blocco di comando (per la memoria illimitata), teletrasporto (per il caricamento di blocchi) e rilevamento dell'aggiornamento dei blocchi (un componente per i dispositivi di clonazione autoidentificativi).
Sì con spawner / end portal (per duplicare l'elemento) per una memoria infinita.Qui non parlo del blocco dei comandi perché se si considerano i comandi possono esserci solo entità finite (UUID 128 bit)