Sobre o Inverso 3-SAT


10

Contexto : Kavvadias e Sideri mostraram que o problema Inverso 3-SAT é coNP Completo: Dado um conjunto de modelos em n variáveis, existe uma fórmula 3-CNF tal que ϕ é seu conjunto exato de modelos? Surge uma fórmula candidata imediata que é a conjunção de todas as 3 cláusulas satisfeitas por todos os modelos em ϕ .ϕnϕϕ

Como ela contém todas as 3 cláusulas implícitas, essa fórmula candidata pode ser facilmente transformada em uma fórmula equivalente que é fechada três vezes em resolução - O fechamento de uma fórmula é o subconjunto de seu fechamento em resolução que contém apenas cláusulas de tamanho 3 ou menos. Uma fórmula CNF é encerrada em resolução se todos os possíveis resolventes forem incluídos em uma cláusula da fórmula - uma cláusula c 1 será subsumida por uma cláusula c 2 se todos os literais de c 2 estiverem em c 1 .Fϕc1c2c2c1

Dado , uma atribuição parcial das variáveis, de modo que eu não seja um subconjunto de nenhum modelo de ϕ .IIϕ

Ligue para , a fórmula induzida pela aplicação de I a M φ : Qualquer cláusula que contém um literal que avalia a t r u e sob I é suprimida da fmula e quaisquer literais que avaliam a f um l s e sob I são eliminados de todas as cláusulas .Fϕ|IIFϕtrueIfalseI

Ligue para , a fórmula que derivou de F ϕ | I por todas as possíveis resoluções limitadas em 3 (em que o resolvido e os operandos têm no máximo 3 literais) e subseções.Gϕ|IFϕ|I

Pergunta : É fechado em resolução?Gϕ|I


"P = NP"? da K&S fig1, "modelos" são análogos aos vetores de bits. a pergunta precisa determinar claramente como esses modelos são representados (e talvez se reapresentados em termos de vetores de bits satisfatórios, a resposta seria mais óbvia?). se as soluções são representadas como vetores de bits, então para algumas fórmulas 3SAT, existem muitos vetores de bits satisfatórios com o tamanho da fórmula. essa é a "explosão de tamanho" esperada. direita? alguns outros papéis por exemplo, prova natural também se referem ao "tabela verdade" da fórmula que pode ser útil na relacionando-a com bitvectors satisfazem ....
— vzn

2
É óbvio que o terceiro passo pode ser calculado com eficiência? (Isto é, decidir se existe uma cessão parcial não em φ tal que F φ | I . Não contém a cláusula vazia) que deve estar faltando alguma coisa, mas isso não é óbvio para mim. IϕFϕ|I
— precisa

correção talvez esteja mais relacionado a coNP = P? ou possivelmente coNP = NP? não exatamente certo. a propósito, isso também me lembra muita dualização em que os modelos podem ser "representados" com o DNF. veja, por exemplo, esta referência à dualização por Bioch / Ibaraki
— vzn 20/03/2013

2
@ Daniel, IMHO sim, o terceiro passo pode ser calculado com eficiência, desde que os passos 1 e 2 possam: como o conjunto de atribuições parciais que não estão em é limitado em tamanho, é fácil calcular F ϕ | I (para todos os que não estou em ϕ ) e verifico se a cláusula vazia está nela. O possível bug ocorreria na etapa 1 (vi um bug que estou tentando corrigi-lo). ϕFϕ|IIϕ
— Xavier Labouze

2
@XavierLabouze: um deu um rápido olhar para o papel, apenas uma nota: a prova de que pode ser calculado em tempo polinomial não é muito clara (para mim)Fϕ
— Marzio De Biasi

Respostas:


3

Resposta: Sim (mesmo que seja um subconjunto de algum modelo de ϕ )Iϕ

Deixe o conjunto de cláusulas derivadas de F ϕ ∪ F ϕ | Eu por todas as possíveis resoluções e subsunções 3-limitadas ( R | I é o fechamento 3-limitada do F & Phi; ∪ F & Phi; | I ). Dado c uma cláusula implícita por F φ , que existe, pelo menos, um subconjunto de R | I cujas cláusulas implicam c . Nomeie R c como um subconjunto.R|IFϕ∪Fϕ|IR|IFϕ∪Fϕ|IcFϕR|IcRc

Deixe a seguinte propriedade: Para todos os c implicados por F ϕ de modo que | c | I | ≤ 3 ,P(k)cFϕ|c|I|≤3

tal que | R c | ≤ k ⇒ c | I é incluído em alguma cláusula ∈ G ϕ | Eu ][∃Rc⊆R|I|Rc|≤k⇒c|I∈Gϕ|I]

Aqui começa a recorrência. Dado implícito em F ϕ tal que | c | I | ≤ 3 , ou seja, c | Eu ∈ o 3 fechamento de F ϕ | I .cFϕ|c|I|≤3c|I∈Fϕ|I

  1. . Se ∃ R c ⊆ R | Eu / | R c | = 1 então R c = { d } ( d ∈ F & Phi; ∪ F & Phi; | I engloba c ) e c | I é incluído por d | Eu ∈ F ϕ | I (observe que qualquer cláusula de F ϕ | Ik=1∃Rc⊆R|I/|Rc|=1Rc={d}d∈Fϕ∪Fϕ|Icc|Id|I∈Fϕ|IFϕ|Ié incluído em alguma cláusula de ) Assim, P ( 1 ) .Gϕ|IP(1)

  2. Suponha para k ≥ 1 . Se ∃ R c ⊆ R | Eu tal que | R c | ≤ k + 1 (e nenhum outro R c de um tamanho tal que c ∉ F φ e | c | > 3 ) então supor c = ( α β y G I ) onde α , β ,P(k)k≥1∃Rc⊆R|I|Rc|≤k+1Rcc∉Fϕ|c|>3c=(αβγLI) são literais não definidos por I e L I é um subconjunto de literais, todos avaliados como 0 em I ( L I ≠ ∅ ) , ou seja, c | I = ( α β γ ) , com α , β , γ não necessariamente diferente. α,β,γILII(LI≠∅)c|I=(αβγ)α,β,γ

  3. Remover uma cláusula a partir de R c tal que | d i | I | < | d i | ≤ 3 , em outras palavras, de tal modo que d i contém alguns literal de L I (há, pelo menos, uma tal cláusula em R c uma vez que L I ≠ ∅ ) e | d i | I | ≤ 2 .diRc|di|I|<|di|≤3diLIRcLI≠∅|di|I|≤2

  4. O tamanho do conjunto restante é ≤ k . Se uma determinada cláusula c ′ = ( α β γ L ′ I ) é implícita por R c ∖ d i (onde L ′ I é um subconjunto de literais, todos são avaliados como 0 em I ) | c ′ | I | = 3 e ∃ R c ′ = R c ∖ dRc∖di≤kc′=(αβγLI′)Rc∖diLI′I|c|I′|=3 tal que | R c ′ | ≤k. PorP(k), c ′ | I =(αβγ)é então incluído por alguma cláusula∈ G ϕ | I , induzindoP(k+1)parac.∃Rc′=Rc∖di⊆R|I|Rc′|≤kP(k)c|I′=(αβγ)∈Gϕ|IP(k+1)c

  5. Se contém ˉ α ou ˉ β ou ˉ γ então d i | Eu é inútil implicar [alguma cláusula subsumir] c . Então R c ∖ d i implica c , induzindo P ( k + 1 ) como mostrado anteriormente.di|Iα¯β¯γ¯di|IcRc∖dicP(k+1)

  6. Se substitui c | Eu então P ( k + 1 ) é satisfeito por c .di|I∈Fϕ|Ic|IP(k+1)c

  7. Se não substituo c | I e não contém ˉ α ou ˉ β ou ˉ γ, então d i | I = ( x ) ou d i | I = ( a x ) ou d i | I = ( x y ) , onde x e y ∉ { ct p ydi|Ic|Iα¯β¯γ¯di|I=(x)di|I=(ax)di|I=(xy)xy e não são definidos por I e a ∈ { α β γ } .∉{αβγ}Ia∈{αβγ}

    • Se , então R c ∖ d i implica ( ˉ x ct p y L eu ) (recorde-se que o que implica um certo cláusula C meios que impliquem uma cláusula que engloba C ). Como qualquer resolução com d i | I = ( x ) como operando remove ˉ x do outro operando, então nenhuma cláusula de R c ∖ d idi|I=(x)Rc∖di(x¯αβγLI)CCdi|I=(x)x¯Rc∖dicontém (desde que R c ∖ d i ⊆ R | I que é o fecho 3-limitada do F & Phi; ∪ F & Phi; | I ). Em seguida, R c ∖ d i implica ( ct p y G I ) , induzindo P ( k + 1 ) , como mostrado no ponto (4).x¯Rc∖di⊆R|IFϕ∪Fϕ|IRc∖di(αβγLI)P(k+1)
    • Se , então R c ∖ d i implica ( ˉ x ct p y L eu ) . Substitua ˉ x por um em cada possível cláusula de R c ∖ d i (se a nova cláusula é subsumido por alguma cláusula R | I , manter a cláusula de subsunção ao invés De qualquer forma, a cláusula de substituição está dentro. R | I ). Nome R cdi|I=(ax)Rc∖di(x¯αβγLI)x¯aRc∖diR|IR|I o conjunto resultante ( R c , d i ⊆ R | I ). Em seguida, R c , d i implica(ctpy G I ), induzindoP(k+1)tal como acima.Rc,diRc,di⊆R|IRc,di(αβγLI)P(k+1)

    • Se então R c ∖ d i implica ( ˉ x ct p y G I ) e ( ˉ y ct p y L eu ) . Substituir ˉ x por y em cada possível cláusula de R c ∖ d i (como acima, se a nova disposição é absorvido por alguns cláusula em R | Idi|I=(xy)Rc∖di(x¯αβγLI)(y¯αβγLI)x¯yRc∖diR|I, mantenha a cláusula de subsumição). Nomeie o conjunto resultante ( R c , d i ⊆ R | I ). Em seguida, R c , d i implica ( y ct p y L eu ) . Uma vez que implica também ( ˉ y ct p y G I ) , em seguida, ela implica a resolvente ( ct p y G I ) , induzindo PRc,diRc,di⊆R|IRc,di(yαβγLI)(y¯αβγLI)(αβγLI) .P(k+1)

Por esta recorrência, qualquer cláusula o 3-fechamento de F & Phi; | I é incluído em alguma cláusula ∈ G ϕ | Eu (o contrário também vale). Então G ϕ | I corresponde ao 3 fechamento de F ϕ | I .∈Fϕ|I∈Gϕ|IGϕ|IFϕ|I


-2

Não vejo como pode ser calculado em tempo polinomial, pois fazer a resolução em si leva tempo exponencial (no pior caso). Por exemplo, digamos que sua fórmula candidata de 3-CNF F 1 seja a seguinte: 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}}
Em seguida, o resultado de resolução em representa a fórmula F 2 abaixo: M 2 : = { { um , b , c } , { d , e , ¬ c } , { um , ¬ b , f } , { d , e , ¬ f } , { a , b , d , e } ,F1F2 Assim, a fórmula F ϕ é a seguinte: 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ϕ
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.