Qual è la complessità di questo gioco?


10

Questa è una generalizzazione della mia domanda precedente .

Lasciate che sia una macchina deterministica polinomiale in grado di porre domande ad alcuni oracolo . Inizialmente è vuoto ma questo può essere cambiato dopo una partita che verrà descritta di seguito. Lascia che sia una stringa.MAAx

Considera il seguente gioco di Alice e Bob. Inizialmente, Alice e Bob hanno rispettivamente e dollari. Alice vuole e Bob vuole .mAmBMA(x)=1MA(x)=0

Ad ogni passo del gioco un giocatore può aggiungere una stringa ad ; questo costa dollaro, dove è una funzione calcolabile a tempo polinomiale. Inoltre un giocatore può perdere il proprio passo.yAf(y)f:{0,1}N

Il gioco termina se entrambi i giocatori spendono tutti i soldi o se qualche giocatore ha saltato il passo quando si trova in una posizione perdente (che definisce il valore attuale di ).MA(x)

Domanda: è il problema di definire il vincitore di questo gioco per una data è unM,f,x,mA,mB

EXPSPACE - compito completo?

Si noti cheM può chiedere (per appartenenza alla A ) solo le stringhe di lunghezza polinomiale quindi non c'è alcun senso per Alice o Bob per aggiungere le stringhe più lunghe a A . Quindi, questo problema è in EXPSPACE .

Nella mia domanda precedente l'aggiunta di ogni stringa ad A costa un dollaro (cioè f1 ). Poi (come è stato dimostrato da Lance Fortnow ) questo gioco appartiene EXPH e persino PSPACE se mA=mB .


Puoi spiegare perché hai apportato questa modifica al problema? Alice può verificare se può permettersi di pagare tutte le stringhe in (come definito nella risposta di Lance al tuo altro problema) in tempo polinomiale. In che modo questo non risolve immediatamente il problema? S
Stella Biderman,

@StellaBiderman Alice può davvero verificarlo in tempo polinomiale. Tuttavia, se non ha abbastanza soldi, ora questo non significa che può fare solo passi polinomiali (come era nel gioco precedente).
Alexey Milovanov,

Se non può permettersi , può mai battere un avversario che salta sempre il suo turno? Forse c'è qualcosa nella configurazione del gioco che non capisco. S
Stella Biderman,

1
@Stella Sì, perché potrebbero essere altri percorsi di accettazione. Ad esempio, supponiamo che , quindi M si fermi e accetti. In questo caso, S = { x 1 } . Ma se x 1A , allora M potrebbe interrogare x 2 ed accettare se x 2A . In questo caso è sufficiente se Alice ha abbastanza spondulix per x 2 . x1AMS={x1}x1AMx2x2Ax2
domotorp,

Risposte:


5

Questo dovrebbe essere completo di EXPSPACE. Traccerò come ottenere un numero esponenziale di alternanze, senza ridurre a questo il problema completo di EXPSPACE, ma da qui dovrebbe essere semplice finire.

Denota le parole nell'oracolo dopo t arrotonda di At , quindi inizialmente A0= . Indica le parole interrogate da MAt da Qt . L'osservazione principale è che chi sta perdendo con At , può essere assunto per aggiungere qualcosa da Qt a A . Questo perché in questo gioco ogni mossa costa denaro, vogliamo muoverci il meno possibile; non ha senso fare una mossa fino a quando non stiamo vincendo. Ma questo implica anche che se stiamo perdendo, non ha senso aggiungere qualcosa al di fuori di Qt .

Supponiamo per semplicità che M funzioni esattamente per 2n passaggi e ai passaggi 2i e 2i+1 richiede una parola di lunghezza esattamente i . La funzione di costo f sarà semplicemente 2i su parole di lunghezza i . Il gioco sarà tale che Alice ha sempre bisogno di aggiungere parole di lunghezza pari e Bob ha sempre bisogno di aggiungere anche le parole di lunghezza di A . Supponiamo che n sia strano e inizialmente Alice sta perdendo.

I bilanci mA e mB saranno impostati in modo che lei può scegliere esattamente una della lunghezza n parole interrogato dal MA0 da aggiungere A . Il gioco sarà tale da renderla la vincitrice, quindi Bob dovrà muoversi. Anche in questo caso a causa di vincoli di bilancio, si dovrà scegliere esattamente una della lunghezza n1 parole interrogati da MA1 da aggiungere a A . Dopo aver aggiunto uno di questi, MA2 interrogherà due nuove n lunghe parole (le stesse, indipendentemente dalla parola a cui Bob ha aggiuntoA ) e Bob vincerà. Alice sarà costretta ad aggiungere esattamente una di queste nuove lunghezzen parole adA per farla vincere.

Il gioco procede in questo modo, che può essere immaginato come seguendo i rami di un albero binario completo di profondità n , anche se in ciascun nodo ramificato uno dei giocatori (determinato quale dalla parità della profondità del nodo) deve fare una scelta su quale parola da aggiungere a A . Dopo aver attraversato l'albero, esauriranno il loro budget. Se in qualsiasi fase del gioco uno di loro decide di aggiungere una parola più breve (ad esempio, Alice una lunghezza k<n parola da Q0nel primo passo), quindi se l'altro giocatore (nel nostro esempio Bob) gioca sempre la parola più lunga che può sull'albero binario, alla fine gli resteranno dei soldi e facciamo il gioco in modo che possa usare questo vincere. (Nota che anche ad Alice potrebbero essere rimasti dei soldi, ma Bob ne avrà di più, quindi progettiamo la fine del gioco in modo che se uno di loro ha più soldi, quel giocatore può vincere.)

In questo modo Alice decide in modo esponenziale molte coppie di parole di lunghezza dispari, e Bob parla in modo esponenziale di molte parole di lunghezza pari che una di ciascuna coppia porta ad A , e fanno queste scelte in modo alternato.


La ringrazio per la risposta. Ti ho fatto alcune domande via e-mail.
Alexey Milovanov,
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.