NP-difficile riprodurre correttamente le bozze internazionali?


26

Il seguente problema è NP-difficile?

Data una configurazione della scheda per progetti internazionali , trova una singola mossa legale.n×n

Il problema corrispondente per dama americana (alias bozze inglesi) è banalmente risolvibile in tempi polinomiali. Ci sono tre principali differenze tra questi due giochi.n×n

La prima e più significativa differenza è la regola del "re volante". Nelle pedine, un re può saltare sopra un pezzo dell'avversario adiacente in un quadrato vuoto a due passi in qualsiasi direzione diagonale. Nelle bozze internazionali, un re può saltare sopra un pezzo dell'avversario a una distanza arbitraria spostando una distanza arbitraria lungo una diagonale.

Come nelle pedine, lo stesso pezzo può essere usato per catturare una serie di pezzi in un singolo turno. Tuttavia, a differenza delle pedine, i pezzi catturati nelle bozze internazionali non vengono rimossi fino al termine dell'intera sequenza. Il pezzo da catturare può saltare o atterrare nello stesso quadrato vuoto più volte, ma non può saltare più di una volta sul pezzo di un avversario.

Infine, sia le pedine che le bozze internazionali hanno una regola di cattura forzata: se puoi catturare un pezzo dell'avversario, devi. Tuttavia, le regole delle regole non sono d'accordo quando ci sono diverse opzioni per più. Nelle pedine, puoi scegliere qualsiasi sequenza massima di acquisizioni; in altre parole, puoi scegliere qualsiasi sequenza di cattura che termina quando il pezzo da catturare non può più catturare. Nelle bozze internazionali, è necessario scegliere la sequenza di acquisizioni più lunga . Pertanto, il mio problema è equivalente al seguente:

Data una configurazione del tabellone per progetti internazionali , trova una mossa che catturi il numero massimo di pezzi opposti.n×n

Basterebbe dimostrare che il seguente problema è NP-completo. (È ovviamente in NP.)

Data una configurazione del tabellone per progetti internazionali che coinvolgono solo re , può (e quindi deve) un giocatore catturare tutti i pezzi del suo avversario in un singolo turno?n×n

È possibile rispondere al problema dei controllori corrispondente in tempo polinomiale; questo è un esercizio di compiti divertenti. Il problema sembra più simile all'analisi di Demaine, Demaine ed Eppstein sui giochi finali di Phutball ; una soluzione all'esercizio divertente dei compiti appare alla fine della loro relazione. Una soluzione appare anche nel documento FOCS 1978 di Frankel et al. ciò dimostra che giocare a dama in modo ottimale è difficile per PSPACE; vedi anche la prova di Robson del 1984 che i controllori sono in realtà EXPTIME completi.


errore di battitura? "è ovviamente in P" - forse intendi "in NP"? Inoltre, DOVE ricevi queste domande?
Suresh Venkat,

Sì, fisso. Anche riformulato il problema; non è chiaro che il numero di mosse legali da una determinata posizione è solo polinomiale.
Jeffε

Questo viene fuori dalla stesura di una soluzione per l '"esercizio di compiti a casa divertente".
Jeffε

Immagino che la domanda aggiuntiva non espressa qui sia: qual è la complessità del gioco stesso (determinare se un giocatore può vincere)? È EXPTIME completo, come lo è la dama? Probabilmente, ma la prova per gli ispettori è piuttosto complicata.
Bob Hearn,

Risposte:


24

OK, ecco la riduzione. Si scopre che non hai bisogno di planarità dopo tutto. Inoltre, per "trovare una mossa legale", prendo la domanda di decisione come "la mossa X è legale?".

Innanzitutto, lavoriamo invece con un gioco in cui i pezzi si muovono ortogonalmente anziché in diagonale. Questo gioco è equivalente (basta guardare la tavola delle bozze ruotata di 45 gradi) ad eccezione delle proprietà dei bordi, che non useremo. Utilizziamo due gadget: unisci / dividi e crossover. Vedi http://www.hearn.to/draughts.pdf . Supponiamo che ci sia un solo re Bianco sul tabellone da muovere. (Nessun altro pezzo sarà in grado di catturare un numero significativo di pezzi.) Si sposterà attraverso i corridoi indicati, catturando pezzi neri lungo il percorso.

In primo luogo, unisci: se il re entra in uno dei N percorsi A (tramite catturare un pezzo nero, non mostrato), può uscire da B. Allo stesso modo, se invertiamo il gadget ed entra in B, catturando il pezzo mostrato, può uscire lungo qualsiasi percorso A (di nuovo, catturando un pezzo nero esterno). Questo è un gadget monouso (perché il pezzo nero di uscita può essere catturato solo una volta).

Secondo, crossover. Se il re entra tramite A (C), può uscire in B (D). Non può fermarsi nel mezzo e cambiare rotta, perché sarebbe un segmento di mossa che non cattura.

Ora, dato un grafico diretto, costruisci una configurazione di gioco corrispondente come segue. Per ogni vertice, costruisci un'unione che si nutre in una divisione. Indirizza gli output divisi agli input di unione dei gadget vertici (unisci + dividi) corrispondenti ai vertici a cui si collegano i bordi in uscita, usando i crossover se necessario. Inizia il re con un input aggiuntivo per qualsiasi vertice (con un pezzo nero da catturare per farlo entrare nel vertice).

Infine, equalizza tutte le "lunghezze dei bordi" aggiungendo pezzi neri extra lungo i percorsi di output / input, se necessario. Se ci sono vertici V e k pezzi neri lungo ciascun bordo, il re può catturare 2 V + kV + 1 pezzi se e solo se esiste un circuito hamiltoniano del grafico corrispondente. Se il re ha una mossa alternativa disponibile, catturare una catena semplice di pezzi da 2 V + kV, quindi determinare se quella mossa alternativa è legale è NP completo.


2
Bella riduzione!
Jeffε

Ma puoi rispondere alla seconda domanda? Vincere in una mossa NP-difficile?
Jeffε

Forse ... penso che i gadget potrebbero essere modificati in modo che dopo aver completato un circuito hamiltoniano, il re potesse quindi catturare tutti i pezzi neri sui "fili". I pezzi interni di unione / divisione dovrebbero ancora essere catturati durante il circuito Hamiltoniano, quindi sarebbe ancora NP-difficile. L'idea sarebbe quella di aprire spazi vuoti nei corridoi adiacenti ai pezzi neri, che consentirebbe di attraversare i corridoi, ma non di uscire dall'interno.
Bob Hearn,

Immagino che ci vorrebbe anche qualche macchinario di navigazione extra fuori dai corridoi, ma dovrebbe essere fattibile.
Bob Hearn,

5

Ecco una possibile alternativa alla riduzione di Bob, questa volta dal ciclo Hamiltoniano (non indiretto). Non sono sicuro al 100% che i dettagli siano corretti - ho già trovato e risolto diversi problemi - ma sono sicuro che possono essere massaggiati in una prova corretta. Come sottolinea Bob, questa riduzione ha un grave bug; il re bianco può facilmente allontanarsi dal suo percorso canonico attraverso la scacchiera. Questo errore può essere corretto aggiungendo il gadget cross-over di Bob in posizioni appropriate (credo) , ma non è significativamente diverso dalla sua riduzione.

GnmG1

O(n2)×O(n2)O(n2+m)KKhnh

gadget d'angolo

gadget orizzontale a 4 splitter

tesoro gadget

KKK(io,j)iojXy

un bordo

hn2+4nsol


Molto bella. Ma vedo un paio di problemi, uno dei quali ha anche la mia riduzione. In primo luogo, quando il re esce da un angolo, può fermarsi ovunque, potenzialmente permettendogli di entrare in un altro angolo in modo inappropriato. Secondo, non c'è nulla che costringa il re a tornare al vertice iniziale; potrebbe finire su qualsiasi vertice. Il mio ha lo stesso problema, ma è facilmente risolvibile per entrambe le riduzioni, aggiungendo un pezzo extra appropriato da catturare all'interno del vertice iniziale.
Bob Hearn,

Il secondo problema è facile da risolvere: sposta la posizione di partenza per il re più in profondità all'interno dell'orda.
Jeffε

Ma il primo problema è più serio. Immagino che dopo tutto abbiamo bisogno dei tuoi gadget crossover. Accidenti!
Jeffε

Penso che rimuovere il pezzo nero di uscita dal gadget d'angolo e aggiungere un pezzo nero su ogni braccio dello splitter di input per ciascun vertice, potrebbe anche fare il trucco.
Bob Hearn,

3

Ora, perché non mi hai posto questo problema mentre stavo lavorando alla mia tesi?

OK, ho una riduzione dal Ciclo Hamiltoniano Planare Diretto.


1
Dillo! (Puoi descrivere brevemente la riduzione?)
Ryan Williams,

Mi dispiace, Bob; non ci ho pensato allora. Sì, descrivi (o collega a) la riduzione!
Jeffε

Questa non è davvero una risposta.
Dave Clarke,

1
No ... Pensavo di aggiungere un commento in quel momento. Ora, non vedo come aggiungere un commento al post principale.
Bob Hearn,

Hai bisogno di 100 reputazione per aggiungere un commento. È un feechur.
Jeffε
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.