Teorema di Schaefer e CSP di larghezza illimitata


12

Il teorema di dicotomia di Schaefer mostra che ogni problema CSP su è o risolvibile in tempo polinomiale o è NP-completo. Questo vale solo per problemi CSP di larghezza limitata, esclusi SAT e Horn-SAT, per esempio. I problemi generali CSP di larghezza illimitata possono essere molto difficili (anche non calcolabili), quindi limitiamoci a problemi che sono "naturali" e che si trovano in NP.{0,1}

Dato un problema CSP di larghezza illimitata, per ogni , possiamo considerare la limitazione del problema alle clausole di larghezza fino a . Il teorema di Schaefer ora si applica e il problema limitato è in P o NP-completo. Se per alcuni , il problema limitato a è NP completo, quindi lo è anche il problema senza restrizioni. La situazione è meno chiara quando per tutti , il problema limitato a è in P.kkkkkk

Il teorema di dicotomia di Schaefer si basa su quattro (circa) diversi algoritmi che risolvono tutti i casi semplici. Supponiamo che per un determinato problema CSP, il problema limitato a sia sempre risolvibile dall'algoritmo A. Potrebbe essere il caso che l'algoritmo A possa essere utilizzato anche per risolvere il problema senza restrizioni. O potrebbe essere che l'algoritmo A non sia il tempo polinomiale nel caso senza restrizioni, e quindi ignoriamo la durezza del problema.k

Questo tipo di problema è stato preso in considerazione? Ci sono esempi in cui arriviamo al punto "ignorante"?

Risposte:


11

Sostengo che per un "CSP booleano naturale", se la versione con restrizioni k è in P per ogni k , allora anche la versione senza restrizioni è in P. Definirò un "CSP booleano naturale" di seguito.

Il teorema di Schaefer afferma che il CSP booleano su un insieme finito S di relazioni è in P se almeno una delle seguenti condizioni è soddisfatta ed è NP-completo se nessuna di esse è soddisfatta:

  1. Ogni relazione in S (tranne la costante 0) è soddisfatta assegnando 1 a tutte le sue variabili.
  2. Ogni relazione in S (tranne la costante 0) è soddisfatta assegnando 0 a tutte le sue variabili.
  3. Ogni relazione in S è equivalente a una formula 2-CNF.
  4. Ogni relazione in S equivale a una formula di clausola di Horn.
  5. Ogni relazione in S equivale a una formula a doppia clausola di Horn. (Una "formula a doppia clausola del corno" indica una formula CNF in cui ogni clausola contiene al massimo un valore letterale positivo.)
  6. Ogni relazione in S equivale a una congiunzione di clausole affine.

Ora supponi che P ≠ NP, e considera il caso in cui S è infinito. Se la versione con restrizioni k è in P per ogni k , quindi dal teorema di Schaefer, ogni sottoinsieme finito di S soddisfa almeno una delle sei condizioni sopra, e ciò significa che l'intero insieme S soddisfa almeno una delle sei condizioni. Questo significa che anche questo CSP senza la limitazione sull'arità è in P? Non ancora.

Quando S è infinito, dobbiamo specificare come viene fornita ciascuna clausola nella formula di input. Partiamo dal presupposto che v'è una certa mappatura suriettivo da {0,1} * a S , che specifica la codifica delle relazioni in S . Un CSP booleano viene specificato fornendo sia S che questa funzione di codifica.

Si noti che in ciascuno dei casi 3, 4, 5 e 6 sopra, esiste un modo naturale per rappresentare le relazioni che soddisfano la condizione: una formula 2-CNF nel caso 3, una formula della clausola di Horn nel caso 4 e così via. Anche se una relazione è equivalente a (diciamo) una formula 2-CNF, non vi è alcuna garanzia a priori che la sua codifica dia un facile accesso alla formula 2-CNF che è equivalente ad essa.

Ora diciamo che un CSP booleano è naturale quando la sua funzione di codifica soddisfa quanto segue:

  • Data una codifica di una relazione e un'assegnazione a tutte le sue variabili, se la relazione è soddisfatta o meno può essere calcolata in tempo polinomiale. (Nota: questo assicura che il CSP in questione sia sempre in NP.)
  • Data una codifica di una relazione che soddisfa la condizione 3, 4, 5 o 6, la sua rappresentazione naturale come sopra specificato può essere calcolata in tempo polinomiale.

Quindi è facile vedere che se S soddisfa una delle sei condizioni sopra e la codifica per S soddisfa questa condizione di "naturalezza", allora possiamo applicare l'algoritmo corrispondente. L'affermazione che ho affermato all'inizio può essere dimostrata considerando sia il caso di P = NP sia il caso di P ≠ NP.

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.