Informazioni su Inverse 3-SAT


10

Contesto : Kavvadias e Sideri hanno dimostrato che il problema Inverse 3-SAT è coNP Complete: Dato un set di modelli su n variabili, esiste una formula 3-CNF tale che ϕ è il suo set esatto di modelli? Sorge una formula candidata immediata che è la congiunzione di tutte le 3 clausole soddisfatte da tutti i modelli in ϕ .ϕnϕϕ

Poiché contiene tutte le 3 clausole che implica, questa formula candidata può essere facilmente trasformata in una formula equivalente che è 3 chiusa in risoluzione - La 3 chiusura di una formula è il sottoinsieme della sua chiusura in risoluzione contenente solo clausole di taglia 3 o meno. Una formula CNF viene chiusa in risoluzione se tutti i possibili risolutori sono inclusi in una clausola della formula - una clausola c 1 è inclusa in una clausola c 2 se tutti i letterali di c 2 sono in c 1 .Fϕc1c2c2c1

Dato , un'assegnazione parziale delle variabili tale che I non è un sottoinsieme di alcun modello di ϕ .IIϕ

Chiama , la formula indotta applicando I a F φ : Qualunque clausola che contiene un letterale che restituisce t r u e sotto I è soppressa dalla formula e qualsiasi letterali che restituiscono f un l s e sotto Io sono soppressi da tutti clausole .Fϕ|IIFϕtrueIfalseI

Chiama , la formula che deriva da F ϕ | Io con tutte le possibili 3 risoluzioni limitate (in cui il risolvente e gli operandi hanno al massimo 3 letterali) e sottotitoli.Gϕ|IFϕ|I

Domanda : Is chiuso in risoluzione 3?Gϕ|I


"P = NP"? da K&S fig1, i "modelli" sono analoghi ai bitvector. la domanda deve determinare chiaramente come sono rappresentati quei modelli (e forse se ribaditi in termini di bitvector soddisfacenti, la risposta sarebbe più ovvia?). se le soluzioni sono rappresentate come bitvector allora per alcune formule 3SAT ci sono esponenzialmente molti bitvector soddisfacenti che scrivono le dimensioni della formula. questa è l'attesa "esplosione di dimensioni". destra? alcuni altri documenti, ad esempio prove naturali, si riferiscono anche alla "tabella della verità" della formula, che può essere utile per metterlo in relazione con bitvector soddisfacenti ....
vzn

2
È ovvio che il terzo passaggio può essere calcolato in modo efficiente? (Vale a dire, decidere se esiste una cessione parziale non in φ tale che F φ | I . Non contiene la clausola di vuoto) Mi deve mancare qualcosa, ma questo non è ovvio per me. IϕFϕ|I
Daniel Apon,

correzione è forse più correlato a coNP = P? o forse coNP = NP? non esattamente sicuro. tra l'altro, ciò mi ricorda molto la dualizzazione in cui i modelli possono essere "rappresentati" con DNF. si veda ad esempio questo ref su dualizzazione da Bioch / Ibaraki
VZN

2
@Daniel, IMHO sì, il terzo passaggio può essere calcolato in modo efficiente purché i passaggi 1 e 2 possano: poiché l'insieme delle assegnazioni parziali non in ϕ ha dimensioni limitate, è facile calcolare F ϕ | I (per ogni io non incluso in ϕ ) e controllo se la clausola vuota è presente. Il possibile bug verrebbe dal passaggio 1 (ho visto un bug che sto cercando di risolvere). ϕFϕ|IIϕ
Xavier Labouze,

2
@XavierLabouze: una rapida occhiata al documento, solo una nota: la prova che può essere calcolata in tempo polinomiale non è troppo chiara (per me)Fϕ
Marzio De Biasi

Risposte:


3

Risposta: Sì (anche se un sottoinsieme di alcuni modelli di ϕ )Iϕ

Lascia che l'insieme delle clausole che derivano da F ϕF ϕ | I con tutte le possibili risoluzioni e sottosezioni limitate a 3 ( R | I è la chiusura limitata a 3 di F ϕF ϕ | I ). Dato c una clausola implicita da F ϕ , esiste almeno un sottoinsieme di R | Io le cui clausole implicano c . Nome R c tale sottoinsieme.R|IFϕFϕ|IR|IFϕFϕ|IcFϕR|IcRc

Sia la seguente proprietà: Per tutto c implicito da F ϕ tale che | c | Io | 3 ,P(k)cFϕ|c|I|3

tale che | R c | k c | Sono riassunto da alcune clausoleG ϕ | Io ][RcR|I|Rc|kc|IGϕ|I]

Qui inizia la ricorrenza. Dato implicito da F ϕ tale che | c | Io | 3 , ovvero c | I la chiusura 3 di F ϕ | Io .cFϕ|c|I|3c|IFϕ|I

  1. . SeR cR | I / | R c | = 1 quindi R c = { d } ( d F ϕF ϕ | I sottrae c ) ec | I è riassunto da d | IF ϕ | I (nota che qualsiasi clausola di F ϕ | Ik=1RcR|I/|Rc|=1Rc={d}dFϕFϕ|Icc|Id|IFϕ|IFϕ|Iè ripreso da una clausola di ). Quindi P ( 1 ) .Gϕ|IP(1)

  2. Supponiamo che per k 1 . Se R cR | Mi tale che | R c | k + 1 (e nessun altro R c di dimensione 1 tale che c F ϕ e | c | > 3 ) supponiamo quindi c = ( α β γ L I ) dove α , β ,P(k)k1RcR|I|Rc|k+1RccFϕ|c|>3c=(αβγLI) sono valori letterali non impostati da I e L I è un sottoinsieme di valori letterali tutti valutati su 0 sotto I ( L I) , ovvero c | I = ( α β γ ) , con α , β , γ non necessariamente diverso. α,β,γILII(LI)c|I=(αβγ)α,β,γ

  3. Rimuovere una clausola da R c tale che | d i | Io | < | d i | 3 , in altre parole, tale che d i contenga un valore letterale di L I (esiste almeno una di tali clausole in R c poiché L I ) e | d i | Io | 2 .diRc|di|I|<|di|3diLIRcLI|di|I|2

  4. La dimensione dell'insieme rimanente è k . Se una determinata clausola c = ( α β γ L I ) è implicita da R cd i (dove L I è un sottoinsieme di valori letterali tutti valutano a 0 sotto I ) allora | c | Io | = 3 e R c = R cdRcdikc=(αβγLI)RcdiLII|c|I|=3 tale che | R c | k. DiP(k), c | I =(αβγ)viene quindi ripreso da una clausola G ϕ | I , inducendoP(k+1)perc.Rc=RcdiR|I|Rc|kP(k)c|I=(αβγ)Gϕ|IP(k+1)c

  5. Se contiene ˉ α o ˉ β o ˉ γ quindi d i | Sono inutile implicare [qualche clausola che fa parte] c . Quindi R cd i implica c , inducendo P ( k + 1 ) come mostrato in precedenza.di|Iα¯β¯γ¯di|IcRcdicP(k+1)

  6. Se sussume c | I quindi P ( k + 1 ) è soddisfatto per c .di|IFϕ|Ic|IP(k+1)c

  7. Se sussumo c | I e non contiene ˉ α o ˉ β o ˉ γ quindi d i | I = ( x ) oppure d i | I = ( a x ) oppure d i | I = ( x y ) , dove x ed y { alfa ß ydi|Ic|Iα¯β¯γ¯di|I=(x)di|I=(ax)di|I=(xy)xy e non sono impostati da I e da { α β γ } .{αβγ}Ia{αβγ}

    • Se quindi R cd i implica ( ˉ x α β γ L I ) (ricorda che implicare una certa clausola C significa implicare una clausola che riprende C ). Da qualsiasi risoluzione con d i | I = ( x ) come operando rimuove ˉ x dall'altro operando, quindi nessuna clausola di R cd idi|I=(x)Rcdi(x¯αβγLI)CCdi|I=(x)x¯Rcdicontiene (poiché R cd iR | I che è la chiusura limitata a 3 di F ϕF ϕ | I ). Quindi R cd i implica ( α β γ L I ) , inducendo P ( k + 1 ) come mostrato nel punto (4).x¯RcdiR|IFϕFϕ|IRcdi(αβγLI)P(k+1)
    • Se quindi R cd i implica ( ˉ x α β γ L I ) . Sostituisci ˉ x con una in ogni possibile clausola di R cd i (se la nuova clausola è inclusa in qualche clausola in R | I , mantieni invece la clausola di riassunto. Comunque, la clausola di sostituzione è in R | I ). Nome R cdi|I=(ax)Rcdi(x¯αβγLI)x¯aRcdiR|IR|I l'insieme risultante ( R c , d i R | I ). Quindi R c , d i implica(αβγ L I ), inducendoP(k+1)come sopra.Rc,diRc,diR|IRc,di(αβγLI)P(k+1)

    • Se quindi R cd i implica ( ˉ x α β γ L I ) e ( ˉ y α β γ L I ) . Sostituisci ˉ x con y in ogni possibile clausola di R cd i (come sopra, se la nuova clausola è inclusa in qualche clausola in R | Idi|I=(xy)Rcdi(x¯αβγLI)(y¯αβγLI)x¯yRcdiR|I, mantieni invece la clausola di subsuming). Nome l'insieme risultante ( R c , d iR | I ). Quindi R c , d i implica ( y α β γ L I ) . Poiché implica anche ( ˉ y α β γ L I ), allora implica il risolvente ( α β γ L I ) , inducendo PRc,diRc,diR|IRc,di(yαβγLI)(y¯αβγLI)(αβγLI) .P(k+1)

Con questa ricorrenza, qualsiasi clausola la chiusura 3 di F ϕ | Sono riassunto da alcune clausole G ϕ | I (anche il contrario). Quindi G ϕ | I corrisponde alla chiusura 3 di F ϕ | Io .Fϕ|IGϕ|IGϕ|IFϕ|I


-2

Non vedo come possa essere calcolato in tempo polinomiale perché fare la risoluzione stessa richiede tempo esponenziale (nel peggiore dei casi). Ad esempio, supponiamo che la formula F 1 del tuo 3-CNF sia la seguente: F 1 : = { { a , b , c } , { d , e , ¬ c } , { a , ¬ b , f } , { d , e , ¬ f } }FϕF1

F1:={{a,b,c},{d,e,¬c},{a,¬b,f},{d,e,¬f}}
Quindi, il risultato della risoluzione su è la seguente formula F 2 : F 2 : = { { a , b , c } , { d , e , ¬ c } , { a , ¬ b , f } , { d , e , ¬ f } , { a , b , d , e } ,F1F2 Pertanto, la formula F ϕ è la seguente: F ϕ : = { { a , b , c } , { d , e , ¬ c } , { a , ¬ b , f } , { d , e ,
F2:={{a,b,c},{d,e,¬c},{a,¬b,f},{d,e,¬f},{a,b,d,e},{a,¬b,d,e},{a,d,e}}
Fϕ
Fϕ:={{a,b,c},{d,e,¬c},{a,¬b,f},{d,e,¬f},{a,d,e}}

Fϕ


F1ϕ
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.