Facile riduzione da 3SAT al problema del percorso hamiltoniano


19

C'è una riduzione nel libro di Sipser "Introduzione alla teoria del calcolo" a pagina 286 da 3SAT al problema del percorso hamiltoniano.

C'è una riduzione più semplice?

Con più semplice intendo una riduzione che sarebbe più facile da capire (per gli studenti).

Esiste una riduzione che utilizza un numero lineare di variabili?

La riduzione in Sipser utilizza le variabili cui k è il numero di clausole e n è il numero di variabili. In altre parole, è possibile che la riduzione passi da s a O ( s 2 ) . Esiste una semplice riduzione in cui la dimensione dell'output della riduzione è lineare rispetto alla dimensione del suo input?O(Kn)KnSO(S2)

Se non è possibile, c'è un motivo? Ciò implicherebbe un risultato sconosciuto in complessità / algoritmi?


Giusto per essere chiari: vuoi la funzione di riduzione che associa le istanze 3SAT alle istanze HP o vuoi la prova che riduce "3SAT in NPC?" a "HP in NPC?"? (Immagino il primo). Potresti per favore delineare la prova a cui ti riferisci? Alcuni di noi potrebbero non avere il libro a portata di mano.
Raffaello

@Raphael, voglio una riduzione da 3SAT a HamPath.
Kaveh,

La riduzione di Sipser è gadget a lungo termine, preferisco non ripetere la riduzione qui. Puoi interpretare la prima domanda come: c'è una semplice riduzione?
Kaveh,

2
@Kaveh Trovo che le diapositive delle lezioni qui siano abbastanza facili da seguire: cbcb.umd.edu/~carlk/bioinfo-lectures/sat.pdf Riducono 3sat in Ham. Ciclo e prosciutto. Cycle to Ham. Sentiero. Sono stati convenientemente il primo successo per "riduzione da 3sat a percorso hamiltoniano" ma probabilmente non rispondono alla tua seconda domanda.
Joe,

1
@Kaveh: bella domanda, in particolare "Ciò implicherebbe un risultato sconosciuto in complessità / algoritmi?" parte :-). Non sono un esperto, ma mi piacerebbe vederlo chiesto su cstheory.
Vor

Risposte:


7

Il numero di vertici nella nota riduzione da 3SAT a Hamiltonian Path diretto (dHAMPATH) può essere facilmente ridotto a , dove nO(n+K)n è il numero di variabili e è il numero di clausole, quindi la dimensione di l'istanza del grafico costruito è lineare rispetto alla dimensione dell'istanza 3SAT originale.K

Nella riduzione originale, abbiamo vertice iniziale e vertice finale, vertici per le clausole, n elenchi di lunghezza 4 k per le variabili. L'idea è che non dobbiamo costruire un elenco di 4 k di lunghezza per ogni variabile, possiamo costruire un elenco in base al numero in cui la variabile appare in tutte le clausole. Poiché il numero totale di aspetti delle variabili nelle clausole è 3 k , è O ( n + k ) .Kn4K4K3KO(n+K)

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.