NP-Almost-2-SAT è difficile?


10

Un problema CNF SAT NP è difficile quando il numero totale (ma non la larghezza) delle clausole a 3 o più termini è delimitato da una costante? Che dire specificamente quando c'è solo una di queste clausole?


8
Se c'è solo una clausola di questo tipo con più di 2 termini, risolvere tali formule è banalmente in P . Se c ha n termini, prova ognuna delle n assegnazioni parziali che soddisfano c , quindi risolvi la restante formula 2-SAT usando il metodo del tempo lineare noto. Alla fine troverai una soluzione per l'intera formula o dimostrerai che non è soddisfacente nel tempo O ( n 2 ) , dove n non può superare il numero di variabili nell'intera formula. cPcnncO(n2)n
Kyle Jones,

@KyleJones Ma una singola clausola con letterali ha 2 k - 1 incarichi soddisfacenti, non solo k . Poiché k non è limitato nella domanda, questo approccio fornisce un algoritmo a tempo esponenziale. k2k1kk
David Richerby,

2
@DavidRicherby Per soddisfare la clausola devi solo rendere vero uno dei valori letterali. Dopodiché la clausola può essere ignorata e rimane solo una formula 2-SAT. letterali significa che devi solo provare k incarichi. kk
Kyle Jones,

Risposte:


14

Vale la pena notare che il problema diventa NP-difficile quando la restrizione è leggermente allentata.

Con un numero fisso di clausole che hanno anche dimensioni limitate, il numero medio di letterali in una clausola è il più vicino possibile a 2, considerando un'istanza con abbastanza variabili. Come fai notare, c'è quindi un semplice limite superiore che è polinomiale se la dimensione della clausola è limitata.

2+ϵϵ>0

m(2+ϵ)m(1ϵ)/ϵϵ

Questa riduzione mostra anche che anche la versione in cui le clausole "grandi" sono limitate a 3 letterali è NP-difficile.

Il caso rimanente si verifica quando le poche clausole di grandi dimensioni non hanno dimensioni limitate; ogni grande clausola sembra rendere il problema più difficile. Vedi il documento SODA 2010 di Pǎtraşcu e Williams per il caso di due clausole: sostengono che se ciò potesse essere fatto in tempi sub-quadratici, avremmo algoritmi migliori per SAT. Potrebbe esserci un'estensione del loro argomento a più clausole, il che fornirebbe la prova che il limite superiore non può essere migliorato (modulo in qualche forma dell'ipotesi del tempo esponenziale).


solo tangenzialmente correlati, ma esiste un recente documento ECCC che formula "quasi 2-SAT" in modo diverso e dimostra una forte durezza: eccc.hpi-web.de/report/2013/159
Nikolov,

8

Ok ho capito. La risposta è no. Questo può essere risolto in poly-time. Per ogni clausola a 3 o più termini, selezionare un valore letterale e impostarlo come vero. Quindi risolvere il problema rimanente 2-sat. Se qualcuno fornisce una soluzione, questa è una soluzione al problema generale. Poiché il numero di clausole a 3 o più termini è fisso (diciamo c), allora se tutte queste clausole hanno dimensione <= m, allora questo viene eseguito in O (m ^ (c) * n). O (m ^ c) per passare attraverso ogni possibile selezione, volte O (n) per risolvere il problema 2-sat rimanente.


m

È perché m è implicitamente limitato dal numero di atomi. Ovviamente, una clausola non può avere più letterali di quanti siano gli atomi nel problema. Forse avrei dovuto chiarire m <= n
dspyz il
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.