Teorema di Ladner vs. Teorema di Schaefer


27

Durante la lettura dell'articolo "È tempo di dichiarare la vittoria nel contare la complessità?" nel blog "Godel's Lost Letter e P = NP" , hanno menzionato la dicotomia per CSP. Dopo aver seguito alcuni link, googling e wikipeding, mi sono imbattuto nel teorema di Ladner :

Teorema di Ladner: Se , poi ci sono problemi in N PP che non sono N P -Complete.PNPNPPNP

e al teorema di Schaefer :

Teorema della dicotomia di Schaefer: per ogni linguaggio di vincolo Γ superiore a { 0 , 1 } , se Γ è Schaefer, allora C S P ( Γ ) è risolvibile nel tempo polinomiale. Altrimenti, C S P ( Γ ) è N P- completo. Γ{0,1} ΓCSP(Γ)CSP(Γ)NP

Ho letto questo significa che, per Ladner di, ci sono problemi che non sono né N P -complete, ma da Schaefer di problemi sono o P e N P -COMPLETE soltanto.PNPPNP

Cosa mi sto perdendo? Perché questi due risultati non si contraddicono a vicenda?

Ho preso la versione ridotta delle affermazioni sul teorema sopra da qui . Nella sua sezione "Commenti finali", dice "Quindi, se un problema è in ma non è N P completo, allora non può essere formulato come CSP".NPPNP

Questo significa che i problemi mancano alcuni casi che si trovano in N P ? Come è possibile?SATNP


2
Non c'è un piccolo problema in ciò che si deve fare attenzione a come si definisce "linguaggio di vincolo" e "problema"? Il teorema di Schaefers (per quanto ricordo), considera solo le lingue date prendendo la chiusura sotto congiunzione e la sostituzione variabile di alcuni insiemi di relazioni. Tuttavia, si possono costruire serie di problemi di vincoli che non sono coperti da questo, e quindi possono essere tracciabili ma non Schaefer. Presumibilmente l'insieme di problemi che Ladner costruisce non è definibile in termini di chiusura in congiunzione e sostituzione variabile di un insieme di relazioni.
MGwynne,

1
Penso che si dovrebbe modificare l'ultima frase in quanto un esempio non ha (non banale) la complessità, insiemi di istanze hanno complessità. Quindi significherebbe che nessun insieme NPI di istanze è espressibile come C S P ( Γ ) . SATCSP(Γ)
Kaveh,

Risposte:


15

Come afferma Massimo Lauria, i problemi del modulo CSP ( ) sono piuttosto speciali. Quindi non c'è contraddizione.Γ

Qualsiasi soddisfazione vincolo esempio problema può essere rappresentato come una coppia di strutture relazionali S e T , e si deve decidere se esiste un omomorfismo struttura relazionale dalla sorgente S al bersaglio T . (S,T)STST

CSP ( ) è un tipo speciale di problema di soddisfazione dei vincoli. Consiste in tutte le coppie di strutture relazionali che sono costruite usando solo le relazioni di Γ nella struttura relazionale target: CSP ( Γ ) = { ( S , T ) tutte le relazioni di  T  sono di  Γ } . Il teorema di Schaefer dice che quando Γ contiene solo relazioni su { 0 , 1 } , allora CSP ( ΓΓΓΓ{(S,T)all relations of T are from Γ}Γ{0,1}Γ) è NP-complete o in P, ma non dice nulla sulle altre raccolte di istanze CSP.

A titolo di esempio estremo, si può iniziare con alcuni CSP ( ) completi di NP e "buchi" nella lingua. (Ladner ha fatto questo con SAT nella dimostrazione del suo teorema.) Il risultato è un sottoinsieme contenente solo alcune delle istanze, e non più nella forma CSP ( Γ ) per qualsiasi Γ . Ripetendo la costruzione si ottiene una gerarchia infinita di linguaggi di durezza decrescente, assumendo P ≠ NP.ΓΓΓ


23

Devi capirlo problemi di C S P hanno una struttura che iproblemi di S A T genericinon hanno. Ti darò un semplice esempio. Sia Γ = { { ( 0 , 0 ) , ( 1 , 1 ) } , { ( 0 , 1 ) , ( 1 , 0 ) } }CSPSATΓ={{(0,0),(1,1)},{(0,1),(1,0)}}. Questo linguaggio è tale che puoi solo esprimere l'uguaglianza e la disuguaglianza tra due variabili. Chiaramente, una tale serie di vincoli è risolvibile in tempi polinomiali.

Vi darò due argomenti per chiarire la relazione tra e clausole. Si noti che tutto ciò che segue si assume PN P .CSPPNP

Primo : i vincoli hanno un numero fisso di variabili, mentre la codifica di problemi intermedi può richiedere clausole di grandi dimensioni. Questo non è necessariamente un problema quando si possono esprimere vincoli così grandi come una congiunzione di quelli piccoli che utilizzano variabili ausiliarie. Purtroppo questo non è sempre il caso del generale .Γ

Assumere per contenere solo la O R di cinque variabili. Chiaramente si può esprimere l' O R di meno variabili ripetendo ingressi. Non è possibile esprimere un O R più grande perché il modo di farlo utilizzando le variabili di estensione richiede disgiunzioni di letterali positivi e negativi. Γ rappresenta le relazioni sullevariabili, non suiletterali. Infatti, quando si considera 3- S A T come C S P, è necessario Γ contenere quattro relazioni di disgiunzione con alcuni input negati (da zero a tre).ΓORORORΓSATCSPΓ

Secondo : ogni relazione in può essere espressa come una serie di clausole con (diciamo) tre letterali. Ogni vincolo deve essere un intero lotto di tali clausole. Nell'esempio con vincoli di uguaglianza / disuguaglianza non è possibile avere una A N D binaria (cioè relazione ( 1 , 1 ) ) senza applicare una O R binaria negata (cioè relazione ( 0 , 0 ) ) sulle stesse variabili.ΓAND(1,1)OR(0,0)

Spero che ciò ti illustri che le istanze ottenute da C S P s hanno una struttura molto peculiare, che è rafforzata dalla natura di Γ . Se la struttura è troppo stretta, non è possibile esprimere problemi difficili. SATCSPΓ

Un corollario del teorema di Schaefer è che ogni volta che impone una struttura abbastanza libera da esprimere problemi di decisione di N P P , lo stesso Γ consente abbastanza libertà di esprimere istanze generali di 3 S A T.ΓNPPΓSAT


1
Da aggiungere all'eccellente risposta di MassimoLauria; Non c'è contraddizione. Dai un'occhiata a questo articolo di Wikipedia che ha una sezione che spiega, in parole semplici, la relazione tra il teorema di Ladner e il teorema di Schaefer.
Mohammad Al-Turkistany,

Giusto per essere sicuro di aver capito, stai dicendo che la versione limitata di 's nel teorema di Schaefer o non è in grado di codificare un'istanza arbitraria 3- S A T o che istanze diCSPSAT potrebbero crescere super-polinomiale per qualche classe diproblemi3- S A T ? CSP(Γ)SAT
user834

Nel teorema di Schaefer è mostrato che diversi tipi di inducono algoritmi temporali polinomiali. Penso (ma non sono sicuro) che alcuni di loro non possano affatto esprimere un 3- S A T generico . Tuttavia, considera Γ l'insieme delle "clausole di Horn 3". Questi sono polifunzionali decidibili e qualsiasi calcolo deterministico nel tempo tΓSATΓt può essere codificato come una formula - S A T di dimensione p o l y ( t ) . Quindi immagino che tu possa codificare un calcolo esponenzialmente lungo con un C S P esponenzialmente lungoHornSATpoly(t)CSP(cioè in modo esponenziale molte variabili). Ha senso?
MassimoLauria,

Penso che il modo giusto di dire è che i CSP nel framework di Schaefer non possono codificare un problema NP arbitrario (3-SAT è in realtà un problema canonico CSP). Si noti che questa è un'istruzione condizionale (a meno che P = NP).
Chandra Chekuri,

@ChandraChekuri, ti prego di scusarmi per essere così denso, ma stai dicendo che i CSP nel framework di Schaefer non possono codificare istanze arbitrarie di 3-SAT? CSP può, in generale, codificare 3-SAT ma la versione limitata di CSP nel framework di Schaefer no?
user834
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.