Un gioco su più grafici


13

Considera il gioco seguente su un grafico ponderato diretto con un chip su un nodo.G

Tutti i nodi di sono contrassegnati da A o B.G

Ci sono due giocatori Alice e Bob. L'obiettivo di Alice (Bob) è di spostare il chip su un nodo contrassegnato da A (B).

Inizialmente Alice e Bob hanno rispettivamente e dollari.mAmB

Se un giocatore si trova in una posizione perdente (ovvero, la posizione corrente del gettone è contrassegnata da una lettera opposta) può spostare il gettone in un nodo vicino. Tale mossa costa alcuni dollari (il peso del bordo corrispondente).

Il giocatore perde se si trova in una posizione perdente e non ha soldi per ripararlo.

Consideriamo ora il linguaggio GAME che consiste in tutti i grafici ponderati diretti (tutti i pesi sono numeri interi positivi), la posizione iniziale del chip e le maiuscole di Alice e Bob che sono riportate nella rappresentazione unariaG

tale che Alice ha una strategia vincente in questo gioco.

Il gioco linguistico appartiene a P . In effetti, l'attuale posizione del gioco è definita dalla posizione del chip e dalle attuali capitali di Alice e Bob, quindi la programmazione dinamica funziona (qui è importante che i capitoli iniziali siano indicati nella rappresentazione unaria).

Ora considera la seguente generalizzazione di questo gioco. Prendi in considerazione diversi grafici ponderati diretti con un chip su ciascun grafico. Tutti i nodi di tutti i grafici sono contrassegnati da A e B. Ora Bob vince se tutte le fiche sono contrassegnate da B e Alice vince se almeno una fiche contrassegnata da A.G1,Gn

Considera la lingua MULTI-GIOCO che consiste in tutti i grafici , posizioni iniziali e maiuscole e (nella rappresentazione unaria) in modo tale che Alice vinca nel gioco corrispondente. Qui è importante che le maiuscole siano comuni per tutti i grafici, quindi non si tratta solo di diversi GIOCHI indipendenti.G1,,GnmAmB

Domanda Qual è la complessità del linguaggio MULTI-GIOCHI? (Appartiene anche a P o ci sono alcuni motivi per cui questo problema è difficile?)

UPD1 Neal Young ha suggerito di usare la teoria di Conway. Comunque non so è possibile usare questa teoria per diversi giochi con capitale comune.

UPD2 Voglio mostrare un esempio che dimostra che MULTI-GAME non è molto semplice. Lascia che Alice divida la sua capitale in alcuni termini (userà dollari per l' -grafico). Definire come il numero minimo tale che gioco -esimo Bob vince se Alice e Bob hanno e dollari rispettivamente. Se (per alcune ) vince Alice. Tuttavia, non è vero il contrario. Considera due copie del seguente grafico (inizialmente il chip è sulla A in alto a sinistra): mAnmA=a1+a2+anaiibiiaibib1+bn>mBmA=a1+a2+aninserisci qui la descrizione dell'immagine

Per un grafico, Bob vince se e o se e . Tuttavia per il gioco con due copie di questo grafico Bob perde se e . Infatti, Bob è necessario spendere o dollari per spostare entrambi i chip a un nodo segnato da . Quindi Alice può spostare almeno un gettone su un nodo contrassegnato da A. Dopo di che Bob non ha soldi per salvare la sua posizione.mA=0mB=2mA=1mB=3mA=1mB=545B

UPD3 Poiché la domanda di grafici arbitrari sembra difficile, prendere in considerazione grafici specifici. Indica i nodi di alcuni grafici come . La mia restrizione è la seguente: per ogni coppia esiste un bordo da a e non c'è il bordo inverso. Inoltre esiste una limitazione per i costi dei bordi: per il bordo a non è maggiore di da a .Gi1,ki<jiji<j<kjkik


4
in MULTI-GIOCO, cosa costituisce una mossa? Il giocatore fa una mossa in ogni grafico? O sceglie un grafico per farne uno? Hai esaminato se la teoria dei giochi (riscaldamento e raffreddamento) di Conway si applica qui? (Alcuni riferimenti sono disponibili qui: en.wikipedia.org/wiki/… )
Neal Young,

@Neal Young Il giocatore sceglie un grafico per effettuare una mossa.
Alexey Milovanov

FWIW, se ricordo, la teoria dei giochi di Conway considera come giocare a giochi composti da altri giochi in quel modo (in ogni mossa, il giocatore sceglie uno dei sotto-giochi in cui muoversi). Non so quale rilevanza abbia avuto la sua teoria sulla complessità computazionale.
Neal Young,

1
@NealYoung Grazie, ma come ho capito il problema è che i giocatori hanno capitali comuni per tutti i giochi. Non trovo come possa essere risolto dalla teoria di Conway ...
Alexey Milovanov,

Alice (Bob) è costretta a spostare il chip se si trova sul nodo A (B)? Quali sono le condizioni vincenti del multi-gioco? B vince anche quando tutti i chip sono sui nodi B, ma A ha ancora dei soldi? Dici che A vince se almeno un chip è su A, quindi A può semplicemente provare a mantenere due chip in un nodo contrassegnato con A nei due grafici "meno costosi"; non appena B sposta una delle due fiche dal nodo A, Alice la riporta (e ignora gli altri grafici)
Marzio De Biasi,

Risposte:


2

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=Li1Li2Li3Likx1,,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

  1. Crea un vertice etichettato contrassegnato da una A (ovvero un vertice vincente per Alice). Il chip per inizia sul vertice .xjGjxj
  2. 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
  3. 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)lik1(CiTA,CiTB)lik(CiTA,CiTB)lik(CiTA,CiTB)lik1

Il gioco del capital sink:

  1. Crea un vertice etichettato , contrassegnato con B.C
  2. 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=x1x2¬x3

C2=x2x3¬x4

C3=¬x1¬x3x4

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

inserisci qui la descrizione dell'immagine

Grafico per :x2

inserisci qui la descrizione dell'immagine

Grafico per :x3

inserisci qui la descrizione dell'immagine

Grafico per :x4

inserisci qui la descrizione dell'immagine

Grafico per sink di capitale:

inserisci qui la descrizione dell'immagine

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=Li1Li2Li3k{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+b8k=13ib2k ,

Il capitale iniziale di Alice a ,9b10+b8

e il capitale iniziale di Bob a9b10+b8+n1.

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+3b83b7>9b10+2b88b10+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+b8CiAb10b8k=13ib2k1

  • 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(ij)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.


0

Aggiornamento: probabilmente errato, lasciando per ora il record di aver esplorato una strada. Vedi commenti

Aggiornamento 2: decisamente errato.

Considera un grafico della forma (B) -1-> (A) -1-> (B), ovvero , dove , , i vertici 1, 2, 3 sono etichettati rispettivamente B, A, B e ai bordi sono assegnati tutti i costi di 1.G=(V,E)V={1,2,3}E={(1,2),(2,3)}

Definisci un'istanza a 3 partite di MULTI-GAME impostando , , con tutte e tre le partite che iniziano sul vertice 1. Chiaramente Alice non può vincere questa partita.mA=mB=2G1=G2=G3=G

Tuttavia, la ricorrenza seguente non riesce per : non vi è alcuna divisione dei fondi di Bob tra le prime due partite e la terza partita in modo tale che per tutte le suddivisioni dei fondi di Alice , sia e . Se oppure , allora ; e se allora .M[3,2,2]2u,uv,2vM[2,2u,2v]=BW[3,u,v]=Bu=1u=2M[2,2u,2]=Au=0W[3,u,2]=A

Non vedo un modo immediato per salvare questo approccio. Invertendo l'ordine di quantificazione su e rende la ricorrenza sicuro sul caso in aggiornamento 2 del post questione.uv


Data un'istanza MULTI-GAMEmA,mB,G1,,Gn,

Precompute

W[k,x,y]={Aif Alice wins GAME on Gk with initial funds x for Alice and y for Bob,Botherwise

per tutti i giochi e tutti , .xmAymB

Indica con il vincitore di MULTI-GAME se l'istanza è limitata ai primi grafici e fondi , . ( se Bob vince, altrimenti.) QuindiM[k,x,y]kxmAymBM[k,x,y]=BA

M[1,x,y]=W[1,x,y]

e

M[k+1,x,y]=Bif and only ifvu,W[k+1,u,v]=BandM[k,xu,yv]=B.

"sì" se , "no" altrimenti.M[n,mA,mB]=A


Il tuo algoritmo è sbagliato. Considera il grafico nella foto nel mio post. Considera il MULTI-GIOCO con due di questi grafici. Qui W [1,0,2] = W [2,0,2] = B e W [1,1,3] = W [2,1,3] = B. Tuttavia, per MULTI-GAME con m_A = 1 e m_B = 5 vince Alice
Alexey Milovanov,

Ops. Provare univerally quantificare nella ricorrenza? Nel frattempo lo controllerò. u
gdmclellan,

@AlexeyMilovanov con modifiche ai quantificatori che la ricorrenza dovrebbe passare per l'esempio. Ma mi hai messo in dubbio questo approccio. Sembra che potrebbe richiedere a Bob di distribuire un'unica distribuzione di fondi che batte tutte le distribuzioni che Alice potrebbe concepire. Detto questo, non sono sicuro di essere stato persuaso dall'idea di base qui: che questo problema non riguarda davvero GAME. Si sa qualcosa sul problema correlato in cui ogni istanza di GAME è sostituita da una semplice tabella sopra W?
gdmclellan,

La tabella W non definisce il vincitore. Non so se è vero per un altro tavolo ...
Alexey Milovanov,

@AlexeyMilovanov La tabella W per definizione determina il vincitore delle istanze di GAME isolato su uno specifico dei grafici di input. Non sono sicuro del perché tu diresti diversamente. Ho aggiornato la mia risposta con un controesempio, tuttavia, nel caso in cui ci fosse qualche persistente dubbio che fosse errata.
gdmclellan,

0

Secondo i miei commenti sopra, ecco una riduzione che penso mostri che il problema è difficile per PSPACE (e presumibilmente completo). Sia il grafico con nodi, numerati , con un collegamento dal nodo a per tutti , tutti i nodi diversi da contrassegnati per A, nodo contrassegnato per B e la pedina inizialmente soddisfatta su . (Tutti i bordi qui hanno un costo 1). Dovrebbe essere chiaro che B vince se ha dollari. (Se necessario, possiamo fornire bordi di costo unitario da ciascun nodo diverso da[n]n+1n0i+1i0i<n00n[n]n0a se stesso, poiché A vorrà sempre mantenere la pedina il più lontano possibile da e B vorrà sempre avvicinarla; in effetti, se non sono consentiti collegamenti automatici, possiamo "raddoppiare" la linea in due copie, formando una scala con collegamenti bidirezionali.0

Ora, considera il grafico con due nodi aggiuntivi e : node collega ad alcuni e a , e il nodo ha collegamenti a e (Supponi che ). Tutti questi collegamenti hanno un costo zero. (Questo non è strettamente necessario per la riduzione, ma è conveniente.) Sia che sono contrassegnati per A. Chiaramente da B vorrà andare a mentre A vorrà andare aGαβα[i]ββ[j][k]j<kαββ[j][k](A preferirebbe non muoversi affatto, ma può valere la pena spostarsi su per aumentare il costo per B). Allo stesso modo, si può disporre che B non vuole mai passare a e che A lo vuole sempre. Quindi il valore teorico del gioco di queste posizioni è . Ma è noto che stabilire il valore di una somma di giochi (cioè grafici) di questo tipo è completo per PSPACE; questo è stato mostrato nella tesi di Master di Laura Jo Yedwah . Quindi il tuo problema è almeno difficile per PSPACE.[k][i]{i{jk}}


1
Le prove nella tesi sembrano usare grandi valori di i, j e k nei giochi. Si noti che qui si può presumere che tutti i pesi siano al massimo i capitali dei giocatori, che sono stati rappresentati in modo unario.
Antti Röyskö

@ AnttiRöyskö Dovrò dare un'occhiata più da vicino alla prova, quindi; Credo che il risultato sulla completezza PSPACE di Go endgames utilizzi il risultato della tesi e presuppone anche un conteggio unario (dato che lì, i / j / k provengono dalle dimensioni delle regioni di bordo).
Steven Stadnicki,

Non è chiaro: ci sono bordi in o ? Se tutti i nodi (tranne ) sono contrassegnati da A, Alice non si sposterà ...β 0αβ0
Alexey Milovanov,

@AlexeyMilovanov Whoops, è colpa mia - dovrebbe anche collegarsi a . Inoltre, Alice potrebbe ancora voler spostarsi da una tale posizione; immagina il caso in cui abbiamo un solo nodo, , con collegamenti a e Bob ha dollari. Quindi Alice passerà a per impedire a Bob di passare a e alla fine vincere. β α [ i ] > [ j ] j + 1 [ i ] [ j ]αβα[i]>[j]j+1[i][j]
Steven Stadnicki,

@StevenStadnicki è rubato poco chiaro: è possibile ottenere o dal nodo iniziale ? Inoltre, se non tutte le fiche sono in B, Bob deve andare, quindi nel tuo gioco Bob raggiungerà A in tutti i grafici (e vincerà) o Bob non ne avrà abbastanza e perderà. β nαβn
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.