Dato che la risposta di Steven Stadnicki non sembra essere stata accettata dal richiedente, ho pensato che potesse essere ancora utile fornire un aggiornamento: ho una riduzione da 3SAT a MULTI-GAME. Non ho esaminato attentamente la risposta di Steven né seguito il link che ha fornito, ma in base alla seguente riduzione non mi sorprenderò se MULTI-GAME è davvero completo per PSPACE. Tuttavia, potrei non preoccuparmi di estendere questo risultato oltre la durezza NP.
Un'istanza 3SAT è composta da clausole , ciascuna delle quali ha la forma dove ogni è una delle variabili o la negazione di una delle variabili.C1,…,CmCi=Li1∨Li2∨Li3Likx1,…,xn
Data tale istanza 3SAT, la riduzione crea un'istanza MULTI-GAME composta da giochi - uno per ogni variabile e un altro gioco usato come eccesso di capitale in eccesso. Per prima cosa definiremo la struttura dei grafici per ogni gioco, quindi esamineremo un esempio e discuteremo l'idea di base, quindi scopriremo quali costi esatti assegnare ai bordi per rendere ferma la riduzione.n+1
Innanzitutto, il grafico di gioco variabile per ogni variabile :Gjxj
- Crea un vertice etichettato contrassegnato da una A (ovvero un vertice vincente per Alice). Il chip per inizia sul vertice .xjGjxj
- Crea un vertice con l'etichetta e un vertice con l'etichetta , ciascuno contrassegnato da una B (ovvero entrambi sono posizioni vincenti per Bob). Crea bordi diretti da a e , entrambi con costi di .TFxjTF1
Per ogni letterale della clausola , se o , creare vertici etichettati e contrassegnati con A e vertici etichettati e contrassegnati con B. Aggiungi bordi e con costi entrambi impostati su . (Definiremo seguito.)LikCiLik=xjLik=¬xjCiTACiFACiTBCiFB(T,CiTA)(F,CiFA)liklik
Aggiungi i bordi e . Se , imposta il su e il su . Altrimenti imposta il su e il su .(CiTA,CiTB)(CiTA,CiTB)Lik=xj(CiTA,CiTB)lik−1(CiTA,CiTB)lik(CiTA,CiTB)lik(CiTA,CiTB)lik−1
Il gioco del capital sink:
- Crea un vertice etichettato , contrassegnato con B.C
- Per ogni clausola , creare un vertice etichettato contrassegnato con A e un vertice etichettato contrassegnato con B. Creare un bordo con costo del bordo (di nuovo da determinare in seguito) e un bordo anche con costo del bordo .CiCiACiB(C,CiA)ci(CiA,CiB)ci
Questo è molto da prendere, quindi spero che un esempio lo renda un po 'più digeribile. La nostra istanza 3SAT è la seguente:
C1=x1∨x2∨¬x3
C2=x2∨x3∨¬x4
C3=¬x1∨¬x3∨x4
La riduzione trasforma questa istanza in 4 grafici di gioco variabili e 1 grafico di assorbimento di capitale. Nei diagrammi seguenti, i vertici rossi sono contrassegnati con A (ovvero sono posizioni vincenti per Alice), mentre i vertici ciano sono contrassegnati con B (sono posizioni vincenti per Bob).
Grafico per :x1
Grafico per :x2
Grafico per :x3
Grafico per :x4
Grafico per sink di capitale:
L'idea è la seguente:
Bob è costretto a fare le prime mosse per uscire dalle posizioni perdute nelle partite con variabili. Ciascuna di queste mosse codifica un'assegnazione di vero o falso alla variabile corrispondente.nn
Alice avrà quindi abbastanza capitale per fare esattamente 4 mosse, ognuna delle quali Bob dovrà avere abbastanza capitale da abbinare per poter vincere. I valori e i valori devono essere scelti in modo che l'unica possibile strategia vincente di Alice sia la seguente, per alcune clausole :cilikCi
Strategia della clausola di Alice :Ci lascia che . Per ogni , se o , passa a nel gioco variabile per . anche a nel gioco del sink di capitale.Ci=Li1∨Li2∨Li3k∈{1,2,3}Lik=xj¬xjCi?AxjCiA
( indica o , solo uno dei quali è raggiungibile in un determinato gioco variabile dopo le mosse di apertura di Bob.)Ci?ACiTACiFA
Se l'apertura di Bob corrisponde a un'assegnazione di verità che lascia insoddisfatta qualche clausola , allora Alice scegliendo e implementando la strategia sopra costa Alice capitale da implementare e Bob lo stesso battere; se d'altra parte è soddisfatto, allora la contro- Bob ottiene uno sconto di almeno . Il nostro obiettivo nell'impostare i valori e e i capitali di partenza di Alice e Bob è garantire che tale sconto sia il fattore decisivo per la vittoria di Alice o Bob.CiCili1+li2+li3+ciCi1cilik
A tal fine, imposta e impostab=m+1
lik=2b10+ib2k per ogni ,k∈{1,2,3}
ci=3b10+b8−∑3k=1ib2k ,
Il capitale iniziale di Alice a ,9b10+b8
e il capitale iniziale di Bob a9b10+b8+n−1.
Si noti che tutti questi valori sono polinomiali in , quindi l'istanza MULTI-GAME prodotta dalla riduzione ha dimensioni polinomiali nelle dimensioni dell'istanza 3SAT anche se questi costi sono codificati in modo unario.m
Nota anche che per ogni clausola , è la capitale iniziale di Alice. (Che è anche maggiore del capitale di Bob dopo aver effettuato le prime mosse.)Cili1+li2+li3+ci=9b10+b81n
Prima di tutto, è immediatamente chiaro che se l'apertura di Bob definisce un'assegnazione di verità che lascia insoddisfatta una clausola , allora Alice vince usando la sua strategia indicata sopra.CiCi
Se l'apertura di Bob soddisfa tutte le clausole, possiamo contestare vincoli sulle opzioni di Alice che escludono qualsiasi altra possibilità di vincita di Alice. Nota che l'ordine in cui Alice effettua le sue mosse è irrilevante, poiché le risposte di Bob sono forzate e il capitale totale che Bob richiederà per rispondere alle mosse di Alice è invariato dall'ordine delle mosse di Alice.
- Alice non può fare più di 4 mosse: se Alice fa 5 o più mosse, le sue mosse hanno un costo totale di , che supera il suo budget.≥5b10
- Alice deve fare 4 mosse: se Alice seleziona 3 mosse dal gioco del sink di capitale, il suo costo totale è che supera il budget . Se seleziona anche una mossa di 3 da una partita variabile, il suo costo totale è che è sostanzialmente inferiore al capitale post-apertura di Bob, quindi Bob può facilmente permettersi il contropiede.≥9b10+3b8−3b7>9b10+2b8≤8b10+2b8+b7
- Alice deve selezionare una mossa dal gioco del sink di capitale: in caso contrario, seleziona 4 mosse da giochi variabili, con costo totale , e di nuovo Bob può facilmente permettersi il contropiede. (Nota che se ci fosse un gioco separato per la perdita di capitale per clausola, potremmo persino dimostrare che Alice deve giocare esattamente in uno di questi giochi.)≤8b10+4b7
Da questo stadio possiamo ignorare i termini e nei costi di spostamento scelti, in quanto verranno sempre sommati a . Dato che Alice deve scegliere esattamente una mossa nel gioco del sink di capitale, supponi che la mossa sia su . Quindi Alice ha (ignorando e termini) capitale rimanente e Bob ha meno di questo importo rimanente.b10b89b10+b8CiAb10b8∑3k=1ib2k1
- Alice deve selezionare almeno una mossa che costa per qualche clausola : inlj3Cj caso contrario, le sue mosse costano (di nuovo termini di ordine inferiore) , e Bob ha più che sufficiente capitale per la contromisura.≤3b5
- Detto costo di spostamento deve essere il costo di spostamento :lj3li3 non può essere un costo di spostamento per , altrimenti questa mossa da sola costa che è maggiore del budget residuo di Alice. Se è per , allora anche la mossa di costo deve essere scelta da Alice per esaurire il termine di nel budget residuo di Bob. Ma poi o il termine di ordine nel budget residuo di Bob o il termine di ordine non si esaurisce, quindi Bob vince facilmente.lj3j>i≥(i+1)b6lj3j<il(i−j)3b6b2b2
Argomenti simili dovrebbero stabilire che Alice deve selezionare le mosse che costano e . Se l'assegnazione della verità di Bob soddisfa , anche questa strategia non funziona, poiché lo sconto che Bob ottiene su uno dei costi basati su compensa l' capitale in meno che ha dopo la sua apertura.li2li1Cilik1
Un'osservazione sulla mia risposta precedente: è ovvio a posteriori che, per la variante TABLE-GAME di MULTI-GAME che ho definito nei commenti di quella risposta, è sufficiente una DP in stile zaino per determinare quale giocatore ha una strategia vincente. Puoi sostenere che la migliore strategia di Bob è quella di rispondere sempre a uno stato perdente in un determinato tavolo da gioco con il minimo investimento possibile (questo non può tagliare una mossa successiva per Bob che avrebbe altrimenti), e da lì l'ordine delle mosse di Alice non importa. Diventa quindi una questione di scegliere una divisione della capitale di Alice tra i giochi in modo tale che la somma delle risposte minime vincenti di Bob su quei giochi superi il suo budget, che può essere riformulato come un problema in stile zaino, che ha una DP polinomiale dovuta alla rappresentazione unaria dei costi. (In realtà la mia ripetizione "
Si scopre che anche una semplice struttura ad albero per ogni gioco, con profondità costante e in realtà solo una forchetta significativa per gioco (vale a dire quelli all'inizio che costringono Bob a scegliere un incarico di verità) è sufficiente per ottenere la durezza NP. Ho avuto alcune idee per sbarazzarmi di quel fork iniziale, che si è bloccato in qualche modo costringendo Bob a investire una quantità fissa relativamente grande di capitale in giochi senza che Alice debba precedere a quei giochi in anticipo, ma ovviamente dal momento che TABLE-GAME è in P questo non è possibile senza la forcella.n
Non ho pensato molto al tuo caso speciale di UPD3 . Ho il sospetto che sia anche NP-difficile, per il motivo che i miei gadget variabili sembrano a prima vista come se fossero adattabili a quei vincoli, ma probabilmente non approfondirò ulteriormente.