Hidoku NP è completo?


15

Un Hidoku è una griglia con alcuni numeri interi pre-riempiti da 1 a n 2 . L'obiettivo è trovare un percorso di numeri interi successivi (da 1 a n 2 ) nella griglia. Più concreto, ogni cella della griglia deve contenere un numero intero diverso da 1 a n 2 e ogni cella con valore z n 2 deve avere una cella vicina con valore z + 1 (può anche essere in diagonale).n×nn2n2n2zn2z+1

NP è difficile decidere se un dato Hidoku è risolvibile? Quale riduzione potrebbe essere utilizzata?

Modifica: secondo i commenti, do un piccolo chiarimento. Dato è una griglia di celle, alcune contengono già valori (numeri interi da 1 a n²). Dobbiamo riempire tutte le celle rimanenti con numeri interi da 1 a , in modo tale che non ci siano due celle con lo stesso valore e che ogni cella con valore z n ² abbia un vicino con valore z + 1 . Cioè, dopo aver compilato le celle, dobbiamo trovare il percorso 1 , 2 , 3 , , n 2 . Nella griglia, che visita logicamente ogni cella.n2zn²z+11,2,3,,n2

Un esempio di Hidoku sarebbe http://www.janko.at/Raetsel/Hidoku/018.c.gif . Un Hidoku già risolto lo è http://diepresse.com/images/uploads/3/f/7/586743/spectrumsommerraetsel_7august_hidoku_schwer_loesung20100810172340.gif , dove puoi vedere il percorso a cui mi riferivo.


1
Intuitivamente, senza pensarci troppo, a prima vista sembra polimerizzabile risolvibile. Qualcosa come la programmazione dinamica sui valori consentiti ( ) e sui vertici ( v 1 , ... v n ). Sembra risolvibile nel tempo O ( n 3 ) . 1,,n2v1,vnO(n3)
Pål GD,

Questo può essere modellato come equivalentemente grafico, collegamento dei nodi con bordi se sono aventi . Quindi, stai cercando un percorso Hamilton. Secondo i percorsi di Hamilton nei grafici a griglia di Itai et al. (1982) questo problema è NP-completo nei grafici a griglia. Questo non si adatta immediatamente al tuo problema poiché permetti connessioni diagonali, ma promette male. N
Raffaello

@Raphael il grafico costruito non è un DAG?
Pål GD,

Non vedo come sia un DAG. Per quanto ho capito, l'input è un grafico a griglia (non orientato) (contenente anche bordi diagonali) e l'obiettivo è trovare un percorso hamiltoniano, in cui viene data la posizione di alcuni nodi sul percorso.
George,

@ George Okey, ho interpretato la domanda come trovare il percorso massimo per aumentare i valori in una griglia!
Pål GD,

Risposte:


7

Penso che sia completo: come notato da Raffaello, il ciclo Hamiltoniano su grafici a griglia con problemi di fori è NP-completo ( Alon Itai, Christos H. Papadimitriou, Jayme Luiz Szwarcfiter: Hamilton Paths in Grid Graphs. SIAM J. Comput. 11 (4): 676-686 (1982) ).NP

Quindi, dato un grafico a griglia con buchi, puoi facilmente costruire un gioco Hidoku equivalente in cui le celle fisse iniziali riempiono tutte le diagonali pari; le diagonali dispari vuote formano un grafico non orientato equivalente al grafico della griglia originale G e Hidoku ha una soluzione se e solo se il grafico della griglia originale ha un percorso hamiltoniano.GG

enter image description here

Figura 1: un grafico a griglia con fori e l'equivalente puzzle Hidoku (le celle blu rappresentano le celle numerate fisse iniziali ( 1 è la prima, 14412×121144 è l'ultima), le celle bianche sono le celle che il giocatore deve riempire, linea viola indica la sequenza delle celle numerate fisse iniziali).

Le linee ausiliarie (riempite) possono essere aggiunte in basso o a destra per renderle quadrate.

Un altro esempio di riduzione da un grafico a griglia a un puzzle di Hidoku: il grafico a griglia 6x4 è incorporato in una griglia 13x13 più grande; le diagonali pari sono riempite con numeri fissi e le restanti celle libere sono equivalenti al grafico della griglia originale.

enter image description here

Il quadro completo con trasformazione può essere scaricata qui .

Alcune note aggiuntive per completare la risposta:

  • il problema è anche noto come Hidato ; la tavola può avere una forma arbitraria (ma come generalizzazione del caso quadrato, rimane NP-dura);

  • come correttamente evidenziato da Steven Stadnicki nella sua risposta, non è ovvio che il problema è in NP se la griglia parzialmente riempita iniziale non è data come una matrice di numeri interi ma è data in una rappresentazione succinta ; tuttavia è chiaramente in NP se il consiglio iniziale è dato usando la lista ragionevole di rappresentazione di numeri interi;n×n

  • Penso che le regole originali del gioco affermino che la soluzione dovrebbe essere unica ; quindi il problema è negli Stati Uniti (difficile negli Stati Uniti), ed è improbabile che si verifichi a NP.

In sintesi, se lasciamo cadere il vincolo soluzione unica e specificare la scheda iniziale con un elenco di numeri interi del gioco è N P -Complete.n2NP


Non è un DAG? Ho frainteso completamente la domanda?
Pål GD,

@ PålGD: no, non penso che sia un DAG, è un grafico a griglia non orientato con bordi diagonali. Il gioco inizia con una tavola parzialmente riempita e il giocatore deve iniziare dalla cella 1 e raggiungere l'ultimo facendo passi ortogonali o diagonali (ma forse non ricordo molto bene le regole ... ora lo controllo)
Vor

1
Ma dice "trova un percorso di numeri interi successivi".
Pål GD,

Forse significa semplicemente che non può visitare la stessa cella due volte e che tutte le celle devono essere visitate
Vor

1n2
Pål GD,

2

n×nΩ(n)nlgn ) e da un numero di terzine di interi(Xio,yio,wio):Xio,yion,wion2 dicendo che la cella con le coordinate (Xio,yio) ha valore wio; each of these triplets is of size lgn+lgn+lgn2=4lgnO(lgn), so unless you have at least Ω(n) triplets of initial values specified then your total input size might actually be o(n).

It's very possible that you need at least Ω(n) given cells to have a unique solution, and so any specification with less than that many givens can be rejected out of hand, but (a) that presumes you're asking about the 'unique solution' variant of the problem rather than the 'exists a solution' variant, and (b) it's not immediately obvious that even that restriction is true; I'm not sure how I would go about trying to prove it.

(For a discussion of similar issues, see my question of a while back on the complexity of succinct Nurikabe over on the cstheory.SE site.)


1
Not specifying the board size in unary strikes me as an unreasonable interpretation.
David Eisenstat

@DavidEisenstat It's not necessarily the natural interpretation, but it seems like a perfectly valid one to me.
Steven Stadnicki

@StevenStadnicki: sono d'accordo con te, ho preso una nota analoga nella prova di completezza NP di Binary Puzzle che ho pubblicato di recente su cstheory.stackexchange.com. Sebbene la rappresentazione non unaria non sia davvero così ragionevole :-). Aggiungerò una nota sulla mia risposta. E dovrei anche affrontare il problema dell'unicità della soluzione; perché penso che le regole originali affermino che la soluzione dovrebbe essere unica.
Vor
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.