Perché il teorema di Schaefer non dimostra che P = NP?


12

Questa è probabilmente una domanda stupida, ma non capisco. In un'altra domanda trovarono il teorema della dicotomia di Schaefer . A me sembra che dimostri che ogni problema CSP è in P o in NP completo, ma non nel mezzo. Poiché ogni problema NP può essere trasformato in tempo polinomiale in CSP (poiché CSP è NP-completo), perché ciò non dimostra che non c'è spazio tra P e NP-Complete e che P = NP?

Ad esempio, i miei pensieri vanno come: la fattorizzazione a numeri interi può essere riscritta come un problema di soddisfacibilità, quindi usando il teorema di Schaefer dovrebbe essere in P o NP completo ma non in mezzo (anche se non riusciamo a scoprire quale sia).

Un modo diverso di esaminare l'intera domanda: perché non possiamo usare il teorema di Schaefer per decidere se la fattorizzazione dei numeri interi è in P o in NP-complete?


EDIT: in risposta alla risposta di David Richerby (è troppo lungo per un commento):

Interessante, ma non capisco ancora del tutto. Quando si definisce l'insieme delle relazioni gamma durante l'utilizzo del teorema di Schaefer, possiamo imporre restrizioni su di esso. Ad esempio, potremmo limitare la gamma per usare solo le relazioni di arity 2 (quindi il problema è in P). Che tipo di restrizioni possiamo imporre alla gamma?

Perché non possiamo imporre tali restrizioni che tutte le istanze di CSP (gamma) sono esattamente le stesse di (isomorfa a?) L? Ad esempio, durante il trasferimento della fattorizzazione Integer per numeri dispari, uno dei due divisori è binario rappresentato come xn .. x3 x2 1. Ora, voglio che questo numero sia maggiore di 1. Quindi, ho la relazione (xn o .. o x3 o x2). Quindi dico che gamma può avere una relazione or di arity n-1. Ma non voglio che quella relazione or venga usata per includere altri casi oltre a L nella lingua, quindi impongo inoltre che x2..xn nella relazione or non possa avere una negazione. Naturalmente, ho anche bisogno di imporre la limitazione che lì vengono utilizzate solo variabili specifiche.

Non è possibile in questo modo lasciare che la CSP (gamma) sia isomorfa alla fattorizzazione a numeri interi? La domanda principale è: che tipo di restrizioni possiamo imporre alla gamma?

EDIT 2: in risposta alla risposta di Yuval Filmus.

Capisco la tua risposta e sembra corretta, anche se la stessa della risposta di David. Ad esempio, potremmo ridurre la fattorizzazione a 3-sat e quindi concludere che la fattorizzazione è NP completa, il che è sbagliato perché 3-sat ha altri casi che probabilmente non sono fattorizzazione.

La parte che non capisco è quando un'istanza è (non) arbitraria. Ad esempio, anche 2-SAT mi sembra non arbitrario, perché sono consentite solo clausole di arity 2 (anche se devo ammettere che la dimostrazione vale ancora perché è un limite superiore e in questo caso il limite superiore è P).

Forse un esempio migliore è quello della completezza NP: la domanda collegata sopra. Un rispondente fornisce una prova completa di Schaefer. Ma impongo restrizioni non banali sull'input (sono consentite clausole 2-SAT e clausole xor, ma nient'altro). Naturalmente, la dimostrazione è ancora valida perché i problemi CSP considerati nella dimostrazione sono esattamente gli stessi di quello originale.

La parte che non capisco è perché non possiamo fare simili per la fattorizzazione? Ovviamente non serve a ridurlo a 3-SAT, ma mi consente di fornire l'istanza CSP che fattorizza un numero e fattorizza solo un numero (di 4 bit). (saltare a END-OF-SKIP se ritieni che sia possibile).

Istanza di fattorizzazione.

INGRESSO:

(N =) (i 4 bit del numero da fattorizzare) (M =) (i 4 bit del valore minimo del primo divisore) n4n3n2n1
m4m3m2m1

Ora trasformiamo questo in un'istanza CSP

INPUT:
domini unari per e per (che rappresentano gli N e M indicati)n5..n1m5..m1

variabili con dominio {0,1}:
(D =) (il primo divisore) (E =) (il secondo divisore)d4d3d2d1
e4e3e2e1

relazioni:

e4e3e2 (che rappresenta E> 1)

(d4¬m4)(d4=m4d3¬m3)(d4=m4d3=m3d2¬m2)(d4=m4d3=m3d2=m2d1¬m1)
(che rappresenta D> M)

( d 1e 2 ) ( d 2e 1 ) = n 2 n 3 = . . . ; n 4 = . . .d1e1=n1 (che rappresenta la moltiplicazione dei bit meno significativa) (che rappresenta la moltiplicazione del bit successivo)
(d1e2)(d2e1)=n2
n3=...;n4=...

FINE SALTA

Il punto cruciale è che, quando si applica il teorema di Schaefer, dobbiamo considerare solo tali CSP . (Proprio come per 2-SAT consideriamo solo CSP con arity 2). Nel fare ciò, uno dei sei polimorfismi è valido o no (salvo alcune stranezze nella teoria degli insiemi). In entrambi i casi, la fattorizzazione non è NP-intermedia.

Questo può essere fatto anche per 3-SAT. Quindi, dovremmo considerare (utilizzando la riduzione) solo istanze 3-SAT che rappresentano istanze di fattorizzazione (che non è più 3-SAT).

Dove sbaglio?


1
Consiglio vivamente di leggere una formulazione esatta del teorema di dicotomia di Schaefer. Non è vero che "potresti imporre restrizioni a [l'insieme delle relazioni]". Il teorema di dicotomia di Schaefer non copre questo caso. Wikipedia a volte può essere imprecisa e confusa, quindi ti suggerisco di trovare appunti di lezione, o forse anche guardare un documento pertinente.
Yuval Filmus,

Non ho notato il tuo commento prima di modificare la mia risposta. Forse non è permesso imporre restrizioni sull'insieme delle relazioni, ma mi sembra che non dovresti semplicemente considerare le relazioni che non corrispondono alla restrizione quando applichi il teorema di Schaefer. Proprio come con 2-SAT, non consideri le relazioni che non corrispondono alla "restrizione" che ogni clausola dovrebbe avere 2 valori letterali.
Albert Hendriks,

2
ΓCSP(Γ)ΓCSP(Γ)

3
CSP(Γ)

1
a proposito qualcuno conosce un buon libro di testo o un trattamento moderno della dicotomia Schaeffer thm?
vzn,

Risposte:


10

LΓΓLLΓLΓ


Interessante. Ho modificato la mia domanda in risposta alla tua risposta.
Albert Hendriks,

ΓΓΓ

Potrei sbagliarmi, ma direi che l'input al problema di fattorizzazione Integer è lo stesso dell'input a CSP (gamma): due numeri binari qualsiasi (il numero da fattorizzare e il valore minimo di uno dei divisori) . Giusto? Capisco la parte che se non si effettua la trasformazione con attenzione, si finisce con un altro problema.
Albert Hendriks,

ΓΓ

12

ΓCSP(Γ)

ΓCSP(Γ)


Grazie per la tua risposta. Ho modificato la mia domanda (EDIT 2) in risposta alla tua risposta.
Albert Hendriks,
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.