Se riesco a risolvere il Sudoku, posso risolvere il Problema del commesso viaggiatore (TSP)? Se é cosi, come?


23

Diciamo che esiste un programma tale che se dai un Sudoku parzialmente riempito di qualsiasi dimensione ti dà il Sudoku completo corrispondente.

Riesci a trattare questo programma come una scatola nera e utilizzarlo per risolvere TSP? Voglio dire, c'è un modo per rappresentare il problema TSP come Sudoku parzialmente riempito, in modo che se ti do la risposta di quel Sudoku, puoi dire la soluzione per TSP in tempo polinomiale?

Se si, come? come rappresenti TSP come un Sudoku parzialmente riempito e interpreti il ​​Sudoku pieno corrispondente per il risultato.


1
Questo documento pretende di dare una riduzione costruttiva da Sudoku al problema ciclo hamiltoniano: sciencedirect.com/science/article/pii/S097286001630038X
cwindolf

@ C.Windolf La domanda è chiedere l'altra direzione. (In effetti, c'è una risposta cancellata che ha commesso lo stesso errore e citato lo stesso documento.)
David Richerby,

Risposte:


32

Per Sudoku 9x9, n. È finito, quindi può essere risolto in O(1) tempo.

Ma se avessi un solutore per n2×n2 Sudoku, che funzionava con tutte le n e tutte le possibili schede parziali e funzionava in tempo polinomiale, allora sì, che poteva essere usato per risolvere TSP in tempo polinomiale, come completamento di un n2×n2 Sudoku è NP completo.

La prova della completezza NP funziona riducendo da qualche problema NP completo a Sudoku; quindi poiché R è NP-completo, è possibile ridurre da TSP a R (che segue dalla definizione di NP-completezza); e concatenare quelle riduzioni ti dà un modo di usare il risolutore di Sudoku per risolvere TSP.


1
Potresti spiegare come? Sì, supponiamo che io abbia un solutore generale di sudoku che funge da scatola nera. Quindi come puoi usarlo? Come rappresenti TSP come un Sudoku parzialmente pieno
Chakrapani N Rao il

2
@ChakrapaniNRao, vedi risposta aggiornata. Sì, capisco che è una scatola nera. Per elaborare i dettagli, trova la prova della completezza NP per Sudoku e comprendi come funziona la riduzione.
DW

8
n2×n2

8
@ChakrapaniNRao Stai chiedendo come risolvere il problema X usando una scatola nera per il problema Y. Ciò significa letteralmente una riduzione. Questo significa "riduzione". E, come spiega questa risposta, la risposta alla tua domanda sì / no è sì.
David Richerby,

2
@ SolomonUcko, beh, no, non necessariamente. La domanda si pone: se abbiamo un solutore di Sudoku, possiamo usarlo per risolvere TSP? La risposta è sì, possiamo. Spiego come. Questo ti darà un modo per risolvere TSP con la stessa velocità con cui il risolutore di Sudoku risolverà Sudoku. Se il solutore di Sudoku funziona in tempo polinomiale, questo ti darà un modo per risolvere TSP in tempo polinomiale. Se il solutore di Sudoku viene eseguito in un tempo non esponenziale, questo ti darà un modo per risolvere TSP in un tempo non esponenziale. E così via.
DW

26

È davvero possibile usare un solutore Sudoku generale per risolvere istanze di TSP, e se questo risolutore impiega tempo polinomiale, anche l'intero processo (nella terminologia della complessità, c'è una riduzione del tempo polinomiale da TSP a Sudoku). Questo perché Sudoku è NP completo e TSP è in NP. Ma come di solito accade in quest'area, osservare i dettagli della riduzione non è particolarmente illuminante. Se vuoi, puoi metterlo insieme usando la semplice riduzione dal completamento del quadrato latino al Sudoku qui , la riduzione da triangoli grafici tripartiti uniformi al completamento del quadrato latino qui , la riduzione da 3SAT alla triangolazione quie una formulazione di TSP come problema 3SAT. Tuttavia, se vuoi capire l'idea alla base della riduzione da Sudoku a TSP, penso che sarebbe meglio studiare il teorema di Cook (mostrando che SAT è NP-completo) e un paio di semplici riduzioni da 3SAT (ad esempio alla corrispondenza tridimensionale) ed essere soddisfatto della consapevolezza che la riduzione di TSP-Sudoku è esattamente lo stesso tipo di cosa, ma più lunga e più complicata.

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.