Quanto è difficile il puzzle binario del Sudoku?


12

Il sudoku è un puzzle ben noto che è NP-completo. Il sudoku binario è una variante che consente solo i numeri e . Le regole sono le seguenti.101

  1. Ogni riga e ogni colonna devono contenere un numero uguale di zero e uno.
  2. Ogni riga e ogni colonna sono uniche.
  3. Nessuna riga o colonna contiene triple consecutive di zero o uno ( è un triplo consecutivo di uno).111

L'input è un quadrato parzialmente riempito con zeri e uno. Per risolvere il puzzle, ogni cella nel quadrato deve essere riempita da o rispettando le regole sopra. Non sono riuscito a trovare alcun risultato di intrattabilità per risolvere il puzzle di Sudoku binario.N × N 0 1N×NN×N01

Quanto è difficile risolvere il puzzle binario del Sudoku? NP-complete?

Inoltre, sono interessato alla complessità di un problema correlato.

Dato un quadratino completamente compilato che rispetta solo le regole 1 e 2 sopra,N×N

quanto è difficile trovare una permutazione di righe e colonne in modo tale che il quadrato risultante rispetti la regola 3?


Non è lo stesso problema, quindi lascerò questo come un commento piuttosto che una risposta, ma c'è un risultato di durezza NP per i sottoproblemi a una cifra del tipo standard di puzzle di Sudoku nel mio documento arxiv.org/abs/1202.5074
David Eppstein,

1
Come autore di un'app di puzzle binario (questo problema), posso offrirti un'osservazione (non una prova): tutti i casi di questo puzzle visti in pratica possono essere risolti in tempi polinomiali, ma ci sono casi che sembrano non essere risolvibili in quel modo, vale a dire esattamente quei casi in cui si raggiunge uno stato in cui nessuna delle tre regole obbliga direttamente una cella ad assumere un valore specifico (cioè sembra che si debba "provare qualcosa" e magari tornare indietro a quel punto).
Harold

Ehi, ho cercato di creare un programma per risolvere enigmi binari, tranne per il fatto che ho difficoltà a completare gli enigmi binari molto difficili e avrei bisogno di un suggerimento per risolverlo. Il mio programma può facilmente fare tutti i problemi binari tranne quelli molto difficili

Risposte:


14

EDIT : ho completato rapidamente la prova amatoriale che ho iniziato pochi mesi fa e non ho mai finito.

Puoi scaricarlo in formato PDF sul mio blog ... nessuno lo ha ancora verificato, quindi confutazioni, commenti e suggerimenti sono i benvenuti.


Non so se esiste una prova ufficiale, ma qualche mese fa ho creato i gadget per imitare una formula planare 3-CNF; ad esempio i gadget OR, SPLIT e TURN sono:

inserisci qui la descrizione dell'immagine

Ho creato / controllato i gadget utilizzando un semplice programma di risoluzione dei vincoli.

L'unicità di ogni riga / colonna (regola 2) può essere ottenuta contrassegnandoli con un "numero binario" univoco usando un blocco 2x2 che agisce come una "cifra":

01 = 0   10 = 1
10       01

E lo stesso numero di 1 e 0 (regola 3) può essere ottenuto rispecchiando l'intero puzzle e invertendo gli 0 con 1 (usando muri speciali nel mezzo che consentono la transizione senza infrangere le regole):

  3CNF simulation    |  wall  | 3CNF sim. with  | 0000 (using 2x2 blocks)
                     |        | 0,1 inverted    | 0001
 --------------------+        +-----------------+ 0010
    wall                        wall            | ....
 --------------------+        +-----------------+ ....
  3CNF sim. with     |  wall  | 3CNF simulation |
  0,1 inverted       |        |                 |
 --------------------+--------+-----------------+
 0101 .... (using 2x2 blocks)
 0011 ....
 0000 ....

Quindi decidere se una scheda Puzzle binario parzialmente riempita ha una soluzione, è NP-difficile.N×N

Come altri puzzle simili non è immediato dire che si trova in NP (vedi ad esempio la discussione sul Nurikabe succinto su cstheory ). Tuttavia, se la scheda iniziale viene fornita come una stringa completa (la rappresentazione non è succinta) e si rilascia il vincolo della soluzione univoca (che è un'altra regola di il gioco), quindi il problema è in NP (e quindi NP-complete).{0,1,}N×N


Immagino che intendi il circuito planare SAT?
Mohammad Al-Turkistany,

Voglio dire 3CNF planare di tipo 1 (il grafico bipartito tra le clausole e le variabili 3CNF è planare). Un gadget viene utilizzato per simulare un'assegnazione T / F, un altro viene utilizzato per forzare una T su ciascuna clausola, 2 gadget OR vengono utilizzati per simulare le due OR di ciascuna clausola e SPLIT per dividere e "trasportare" il segnale dalle assegnazioni alle clausole. Ora sto cercando di completare il documento, non appena lo finirò, posterò il link nella risposta.
Marzio De Biasi,

Quindi, stai riducendo dal problema 1-in-3 SAT monotono cubo planare cubo completo NP. giusto?
Mohammad Al-Turkistany,

No, "tipo 1" indica la particolare formula planare 3CNF utilizzata (esiste una leggera differenza tra il tipo 1 e il tipo 2). Ho usato una riduzione simile per dimostrare la completezza NP del puzzle game Tent ; puoi dare un'occhiata a quel documento, tuttavia penso che tra 1-2 giorni pubblicherò una prova completa del problema del sudoku binario - aka puzzle binario (ho appena completato le istantanee dei gadget) (e spero che tu ' Lo guarderò per vedere se funziona davvero :-)
Marzio De Biasi

Buona fortuna, non vedo l'ora.
Mohammad Al-Turkistany,
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.