Perché 2SAT è in P?


55

Mi sono imbattuto nell'algoritmo polinomiale che risolve 2SAT. Ho trovato sbalorditivo che 2SAT sia in P dove tutte (o molte altre) delle istanze SAT sono NP-Complete. Cosa rende questo problema diverso? Cosa lo rende così facile (NL-Complete - anche più facile di P)?


18
Perché la gente pensa che questa sia una domanda così negativa?
Peter Shor,

12
Un aspetto interessante è che se si desidera conoscere il numero massimo di clausole contemporaneamente soddisfacenti in un'espressione 2SAT (ovvero Max2SAT), si ritorna nuovamente a NP-complete.
Shaun Harker,

11
Questa è una domanda orribile, perché non ha una risposta utile, o una domanda fantastica, perché l'unica risposta corretta è "nessuno lo sa".
Jeffε

12
Leggere l'articolo "La complessità dei problemi di soddisfacibilità: perfezionare il teorema di Schaefer".
Diego de Estrada,

3
Caro ragazzo, il fatto che 2SAT sia in P è trattato in quasi tutti i libri di testo di complessità standard, quindi quando dici che hai appena notato questo fatto fa sembrare la domanda come se non avessi nemmeno letto un libro di testo standard in complessità.
Kaveh,

Risposte:


88

Ecco un'ulteriore spiegazione intuitiva e senza pretese sulla falsariga della risposta di MGwynne.

Con -SAT, solo tu puoi esprimere le implicazioni della forma un b , dove un e b sono letterali. Più precisamente, ogni 2 -la clausola l 1l 2 può essere intesa come una coppia di implicazioni: ¬ l 1l 2 e ¬ l 2l 1 . Se si imposta a su vero, anche b deve essere vero. Se si imposta b su falso, a2abab2l1l2¬l1l2¬l2l1abba1¬lll¬ll

3abcabcabc

3223k1k


6
Vorrei poter votare di più! Una risposta molto migliore!
MGwynne,

5
@MGwynne: grazie per il tuo gentile commento. Di niente, e la tua risposta è davvero molto buona!
Giorgio Camerani,

8
Questa è una bella risposta a una buona domanda (IMHO). Come ha scritto Mac Lane: "Le manipolazioni formali efficaci o complicate sono introdotte da matematici che senza dubbio hanno un'idea guida --- ma è più facile dichiarare le manipolazioni che formulare l'idea in parole ... Un'esposizione perspicace di un pezzo della matematica fa brillare le idee attraverso l'esposizione di manipolazioni ". Questa particolare domanda e risposta ha aiutato "le idee a risplendere" (per me). Grazie! :)
John Sidles,

4
@Giovanni: Prego! ;-) Mille grazie per il tuo grande e generoso commento, l'ho davvero apprezzato. Non potrei essere più d'accordo con le parole di Mac Lane.
Giorgio Camerani,

Secondo la risposta di Giorgio Camerani, non vale la pena ridurre qualsiasi problema NP a 3SAT se si introducono variabili booleane più fittizie, si hanno più clausole e non si ottengono guadagno profitto, ma è preferibile ridurlo a CNF SAT o booleano soddisfacimento o Circuito SAT invece, perché in questi problemi hai variabili booleane minori e clausole minori e ciò significa che algoritmi ingenui a forza bruta, mappe karnaugh e algoritmo Quine-McClusky hanno una complessità migliore: D.
Scambio di stack d'addio,

31

n+m22n,m2nm

Una volta arrivato al 3-SAT puoi ottenere soluzioni sempre più grandi, quindi tutto diventa a forma di pera :).

Prova a tradurre un problema in 2-SAT. Poiché non è possibile avere clausole di dimensione 3, non è possibile (in generale) codificare le implicazioni che coinvolgono 3 o più variabili, ad esempio una variabile è il risultato di un'operazione binaria su altre due. Questa è un'enorme restrizione.


3
"Non puoi codificare cose come l'implicazione" - IMP-SAT è anche in P (e penso NL)
Max

8
pq¬pq

1
Kaveh, buon punto, risolto ora.
MGwynne,

Come ho già detto quando hai ridotto il tuo problema NP arbitrario a Boolean Satisfiability o Circuit SAT o CNF SAT, non riduci il problema a 3SAT, perché il problema diventa ancora più difficile e complesso con variabili e clausole più booleane. Anche l'algoritmo di risoluzione diventa meno efficiente nel nuovo problema!
Scambio di stack d'addio,

20

Come dice Walter, le clausole del 2-SAT hanno una forma speciale. Questo può essere sfruttato per trovare rapidamente soluzioni.

Esistono in realtà diverse classi di istanze SAT che possono essere decise in tempi polinomiali e 2-SAT è solo una di queste classi trattabili . Esistono tre tipi di motivi per la trattabilità:

  1. (Tracciabilità strutturale) Qualsiasi classe di istanze SAT in cui le variabili interagiscono in modo simile ad un albero può essere risolta in tempo polinomiale. Il grado del polinomio dipende dalla larghezza massima delle istanze nella classe, dove la larghezza misura quanto un'istanza è lontana dall'essere un albero. Più precisamente, Marx ha mostrato che se le istanze hanno limitato la larghezza sottomodulare, la classe può essere decisa in tempo polinomiale usando un approccio di divisione e conquista.

  2. (Tracciabilità del linguaggio) Qualsiasi classe di istanze SAT in cui lo schema delle variabili vero-falso è "piacevole", può essere risolto in tempo polinomiale. Più precisamente, il modello letterale definisce un linguaggio di relazioni e Schaefer ha classificato le sei lingue che portano alla tracciabilità, ognuna con il proprio algoritmo. 2-SAT costituisce una delle sei classi di Schaefer.

  3. (Tracciabilità ibrida) Esistono anche alcune classi di istanze che non rientrano nelle altre due categorie, ma che possono essere risolte in tempo polinomiale per altri motivi.

    • Dániel Marx, Proprietà hypergraph trattabili per soddisfazione dei vincoli e query congiuntive , STOC 2010. ( doi , prestampa )
    • Thomas J. Schaefer, La complessità dei problemi di soddisfacibilità , STOC 1978. ( doi )

2
Ci sono anche argomenti basati sulla struttura dello spazio della soluzione dalla letteratura casuale k-SAT che possono essere usati per spiegare la differenza.
Kaveh,

3
@Kaveh: la mia descrizione della trattabilità ibrida doveva essere abbastanza vaga da comprendere tali cose. Ad esempio, per tipi di casi molto speciali, si può argomentare sulla soddisfazione in base al Lemma locale di Lovász. Vedi il sondaggio del 1997 di Pearson e Jeavons: cs.ox.ac.uk/publications/publication1610-abstract.html
András Salamon

3
Si noti inoltre che SAT è il caso speciale del problema di soddisfazione del vincolo in cui ogni variabile può assumere 2 valori. Quando le variabili possono assumere 3 valori, ci sono 10 classi di linguaggio trattabili, classificate da Andrei Bulatov: cs.sfu.ca/~abulatov/papers/3-el-journal.ps Le classi ibride sono anche più interessanti per domini più grandi.
András Salamon,

10

Se capisci l'algoritmo per 2SAT, sai già perché è in P - questo è esattamente ciò che l'algoritmo dimostra. Penso che questo fumetto illustri il mio punto. Come già sai perché 2SAT è in P, quello che probabilmente vuoi sapere è perché 2SAT non è NP-difficile.

Per capire perché 2SAT non è NP-difficile, devi considerare quanto sia facile ridurre ad esso altri problemi in NP. Per una comprensione intuitiva di ciò, osserva come SAT può essere ridotto a 3SAT e prova ad applicare le stesse tecniche per ridurre SAT a 2SAT. 2SAT non è espressivo come 3SAT e altre varianti SAT.

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.