Magic: the Gathering Turing è completo?


24

Una domanda molto specifica, ne sono consapevole, e dubito che risponderà a chiunque non abbia già familiarità con le regole della Magia. Pubblicazione incrociata su Draw3Cards . Ecco le regole complete per il gioco Magic: the Gathering . Vedi questa domanda per un elenco di tutte le carte magiche. La mia domanda è: il gioco Turing è completo?

Per maggiori dettagli, vedere il post su Draw3Cards .


1
(1) Qual è l'input? Pensi di conoscere il contenuto e l'ordine delle carte nei mazzi di entrambi i giocatori? (2) Per analizzarne la complessità, un problema deve avere infiniti input possibili. Ad esempio, non possiamo dire che gli scacchi siano completi di EXP (anche se lo diciamo, significa che la generalizzazione degli scacchi su una scacchiera n × n è completa di EXP). Come generalizzi il gioco? (3) Il gioco potrebbe essere troppo complicato per analizzarne la complessità, ma non lo so.
Tsuyoshi Ito,

1
@Daniel: grazie. In realtà l'ho controllato anche io, ma non ero sicuro che qualcuno volesse analizzare il gioco in cui ogni carta, tranne le carte terra, è limitata a un massimo di 4 copie e solo il numero di carte terra può crescere.
Tsuyoshi Ito,

1
@Daniel: non sono sicuro che la logica funzioni in questo modo perché ci sono diversi tipi di carte terra. Dopotutto, il gioco originale stesso potrebbe essere abbastanza complicato da essere Turing completo. Quello che non sono sicuro è se il giocatore che desidera veramente analizzare il gioco in cui quasi tutte le carte in un mazzo sono necessariamente carte terra. Aspetterò la risposta del richiedente.
Tsuyoshi Ito,

4
@Daniel: non è un'obiezione ragionevole! La maggior parte delle riduzioni di durezza per i giochi ha prodotto qualcosa di più simile alla riduzione rispetto al gioco originale. (I cicli hamiltoniani non sorgono naturalmente nelle bozze, per esempio.)
Jeffε

1
@Tsuyoshi - Penso che sarebbe chiedere se la magia è decidibile. Affinché questa domanda sia significativa, potresti assumere informazioni perfette: tutte le librerie e le mani vengono rivelate e tutti i lanci casuali di monete e simili sono predeterminati. È possibile determinare da ogni posizione di Magic chi è il vincitore?
ripper234,

Risposte:


21

Alex Churchill (@AlexC) ha pubblicato una soluzione che non richiede cooperazione tra i giocatori, ma piuttosto modella la completa esecuzione di una macchina Turing universale con due stati e 18 simboli nastro. Per i dettagli, consultare https://www.toothycat.net/~hologram/Turing/ [ archivio ].


1
Il link è morto per me. Dovremmo ricreare la soluzione nella risposta per essere completa?
Artem Kaznatcheev

1
La soluzione è ospitata su toothycat.net/~hologram/Turing per il momento.
AlexC,

15

Ok, ho una soluzione che evita il problema dell'ustione di mana in cui mi sono imbattuto. Questo è un tipo di hack, dal momento che devo supporre che i giocatori possano identificare terre specifiche, che non credo siano trattate nelle regole. In pratica questo è il caso, poiché possono essere disposti in una riga in base all'ordine in cui vengono giocati.

Innanzitutto, la descrizione completa del problema dal sito Draw3Cards:

Una risposta positiva sarebbe composta da questi componenti:

  1. Una funzione calcolabile fM da Turing Machines ai mazzi Magic ordinati (dove conta l'ordine della libreria)
  2. Due strategie deterministiche e calcolabili ben definite per giocare a Magic (che non dipendono dal mazzo). Chiamiamoli Strategy TS (strategia di Turing) e Strategy IS (strategia di input).
  3. Un modo calcolabile per codificare qualsiasi stringa di zeri e uno come mazzo di input magico. Uno di questi modi sarebbe quello di prendere il numero di Gödel della stringa e mettere quante più isole nel mazzo Input.

La condizione aggiuntiva che dovrebbe essere soddisfatta è questa: data una Turing Machines TM, consideriamo il risultato del gioco Magic tra strategia TS giocando con il mazzo fM (TM) contro strategia TI giocando con il mazzo fI (I), quando le librerie sono non mischiato prima dell'inizio del gioco. Questa partita dovrebbe essere vinta dal primo giocatore se e solo se TM (I) = true.

Quindi ecco l'idea. Abbiamo 2 giocatori, A e B. B forniranno l'ingresso, mentre A implementerà direttamente una macchina Turing. I mazzi saranno composti quasi interamente da terra, ma anche dalla carta Gemstone Array per annullare l'ustione di mana. A avrà 3 tipi di terra: Isole, Montagne e Foreste. L'idea di base è utilizzare la terra toccata per rappresentare un 1 e la terra non sfruttata per rappresentare uno 0. Le isole verranno utilizzate per rappresentare lo stato del nastro, le Montagne per indicizzare la posizione corrente lungo il nastro e le foreste per rappresentare lo stato interno di 24 simbolo di stato 2 Macchina di Turing (credo che ce ne sia una universale a causa di Rogozhin).

25=32>242m+1

25=32>242m+1

Strategia: A e B giocano entrambe una terra per turno nell'ordine in cui sono pescate. Quando ognuno ha disegnato 4 foreste, gioca Artefatto di pietre preziose. Nota A inizia per primo, quindi ha già un'Isola quando B pesca gioca la sua prima carta input.

A e B continuano semplicemente a mettere le loro carte in ordine fino a quando B ha esaurito le proprie Pianure e Paludi e gioca la loro prima Isola. Alla sua prossima uscita, A for all I attacca la sua isola con If in The Input Land era una palude. A inizializza la sua macchina da turismo toccando la sua prima foresta e montagna. Se ha toccato un numero dispari di carte, tocca la sua foresta in più e usa tutto questo mana per aggiungere gettoni alla matrice di pietre preziose. Da qui in poi il gioco procede come segue: B usa il proprio turno per rispecchiare semplicemente lo stato del mana di A. B tocca la sua terra di input se A viene toccata l'isola. Allo stesso modo B tocca la sua foresta (Montagna) se A viene toccata la Foresta (Montagna). Dato che A tocca sempre un numero pari di carte, così fa B, e il mana viene usato per aggiungere gettoni alla matrice di pietre preziose.

Al turno di A, tutto il mana di A non viene sfruttato, quindi A guarda lo stato del mana di B, rappresenta lo stato del mana di A nel turno precedente. A applica la regola di transizione secondo la macchina universale (24,2) allo stato di B per ottenere il suo nuovo stato.

Il gioco procede in questo modo fino all'arresto della macchina turing. A questo punto, A mette le sue montagne nello stato riservato "finito" (lo stato tutto non sfruttato). Se la macchina di Turing si fermava in uno stato accettante, B copia lo stato delle montagne di A, ma tocca tutta la loro terra rimanente trascurando di usare l'array di pietre preziose, iniziando così il processo di suicidio con l'ustione di mana. Al turno di A, se le montagne di B sono nello stato "finito" e tutte le altre terre di B vengono sfruttate, A semplicemente non fa nulla (nota che le sue montagne sono automaticamente nello stato "finito"). Se le montagne di A sono allo stato finito, ma nient'altro viene sfruttato, B continua a suicidarsi con l'ustione di mana. Questo si ripete fino a quando B è morto.

Se tuttavia, la macchina termina nello stato di rifiuto, B lascia tutte le carte inutilizzate. Se tutte le carte di B sono inutilizzate, A tocca tutte le sue carte, iniziando lo stesso processo di suicidio con bruciatura di mana. Se le carte non Montagna di A vengono tutte tappate e le montagne non sfruttate, B lascia tutte le carte non sfruttate. Questo porterà A a continuare il suicidio del mana fino a quando non perde la partita.

Questo dovrebbe soddisfare i criteri richiesti nella domanda, e quindi quando questo ordine è consentito, credo che il gioco sia Turing completo nel senso descritto nella domanda.


2
Freddo. Un pensiero in più: fintanto che un giocatore tocca più di 1 terra per turno, puoi usare le cariche sull'Array Gemstone per evitare di bruciare mana. Ad esempio, se devo toccare 3 terre, trasformo due mana in una carica, spendo la carica per generare un mana, quindi spendo i due mana rimanenti per creare una nuova carica. - ovviamente, hai già risolto questo problema. :)
Daniel Apon,

2
Aewsome! Potrebbe anche essere più semplice simulare una macchina a 2 segnalini (usando diversi tipi di mana come segnalini) invece di simulare direttamente una macchina di Turing: en.wikipedia.org/wiki/…
Jeffε

3
La tua riduzione implica anche che la Magia (cooperativa) con un numero finito di carte sia dura per PSPACE.
Jeffε

3
@Joe - non c'è più mana burn in Magic. Puoi usare Platinum Angel per evitare di perdere a causa dell'esaurimento delle carte nel tuo cimitero.
ripper234

1
@Joe - ti sei perso il mio commento in precedenza che il concetto di mana burn è stato completamente rimosso dalle regole. Puoi risolverlo facendo in modo che ogni giocatore abbia una copia di Fireball nel suo mazzo.
ripper234

7

Alex Churchill, Stella Biderman e Austin Herrick hanno pubblicato questo articolo dimostrando che Magic is Turing Complete

Riassunto: Magic: The Gathering è un gioco di carte collezionabili famoso e complicato per il combattimento magico. In questo articolo mostriamo che il gioco ottimale nella Magia del mondo reale è difficile almeno quanto il problema di Halting, risolvendo un problema che è stato aperto per un decennio [1], [10]. Per fare ciò, presentiamo una metodologia per incorporare una macchina Turing arbitraria in una partita di Magia in modo tale che il primo giocatore sia sicuro di vincere la partita se e solo se la macchina Turing si ferma. Il nostro risultato si applica al modo in cui viene giocata la vera Magia, può essere ottenuta usando mazzi legali di dimensioni standard e non si basa sulla stocastica o sulle informazioni nascoste. Il nostro risultato è anche molto insolito in quanto tutte le mosse di entrambi i giocatori sono costrette nella costruzione. Ciò dimostra che è persino impossibile riconoscere chi vincerà una partita in cui nessuno dei due giocatori ha una decisione non banale da prendere per il resto della partita. Concludiamo con una discussione sulle implicazioni per una teoria computazionale unificata dei giochi e osservazioni sulla giocabilità di una tale tavola in un torneo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.