Uma variante do SAT Crítico no DP

10

Um idioma está na classe se houver dois idiomas e modo queLDPL1NPL2coNPL=L1L2

Um problema canônico de completo é SAT-UNSAT: dadas duas expressões 3-CNF, e , é verdade que é satisfatório eDPFGFG não é?

Também se sabe que o problema Critical SAT é completo: Dada uma expressão de 3-CNF, F é insatisfatória, mas a exclusão de qualquer cláusula a torna satisfatória?DPF , é verdade queF

Estou considerando a seguinte variante do problema Critical SAT: Dada uma expressão 3-CNF F, é verdade que F é satisfatório, mas adicionar qualquer cláusula 3 (de F mas usando as mesmas variáveis ​​que F ) a torna insatisfatória? Mas eu não conseguir encontrar uma redução do SAT-UNSAT ou mesmo provar que é NP ou coNP duro.

Minha pergunta: essa variante é DP-complete?

Obrigado por suas respostas.

Xavier Labouze
fonte
Eu não estava ciente de DP: classe interessante, especialmente se CRITICAL-SAT estiver completo para isso.
Suresh Venkat
11
Se houver duas atribuições satisfatórias , então φ não é máximo. (suponha que eles diferem na variável p , então p não está implícito na fórmula e a adição ou uma cláusula que a contenha não mudará a satisfação.) Se pudermos encontrar uma cláusula não implícita na fórmula em tempo polinomial, podemos adicioná-la negação da fórmula e simplesmente usando a regra da cláusula unitária. Eventualmente, encontraremos o valor de todas as variáveis ​​para uma tarefa satisfatória. Então, basta verificar se a fórmula é equivalente à fórmula canônica para essa tarefa. ττφφpp
Kaveh
11
@ Kaveh: Eu não entendi sua pergunta refinada. Na sua versão da pergunta, "não existe uma cláusula que não esteja implícita na fórmula e possa ser adicionada a ela sem torná-la insatisfatória" é equivalente à condição de que existe exatamente uma tarefa satisfatória e é um padrão dos EUA - problema completo (por isso coNP-hard).
Tsuyoshi Ito
11
Xavier: Você está certo, pois o idioma da versão do @ Kaveh é um subconjunto do idioma da sua versão. Mas isso não implica redutibilidade entre os dois problemas (em qualquer direção). Lembre-se de que uma redução deve mapear instâncias yes para instâncias yes e não instâncias para não instâncias.
Tsuyoshi Ito
11
Desculpe, eu escrevi na direção oposta. O idioma na sua versão é um subconjunto do idioma na versão do Kaveh.
Tsuyoshi Ito

Respostas:

2

[Eu fiz isso em uma resposta adequada porque alguém deu -1]

Se for permitida a inclusão de qualquer cláusula, o idioma estará vazio - claramente para qualquer fórmula satisfatória você pode adicionar uma cláusula 3 com c composta por variáveis ​​que não aparecem em F : F { c } será satisfatório.FcFF{c}

Se as cláusulas adicionadas devem usar variáveis ​​de , o idioma está em P.F

A justificação é a seguinte:

Tomar qualquer , ou seja, F S A T e para qualquer 3-cláusula c nas variáveis de F , F { c } L N S A T . Say c = l 1l 2l 3F , onde l i é um literal. Como F { c } é UNSAT, todos os modelos de F devem ter l iFLFSATcFF{c}UNSATc=l1l2l3FliF{c}F (para i = 1 , 2 , 3 ) - porque se algum modelo tivesse, por exemplo, l 1 = 1 , então ele satisfaria c e então F { c } . Agora, suponha que exista outra cláusula c que seja exatamente igual a c , mas com um ou mais literais invertidos e tal que c F , diga c = ¬ l 1l 2l 3li=0i=1,2,3l1=1cF{c}cccFc=¬l1l2l3. Então, pelo mesmo argumento, todos os modelos de devem ter l 1 = 1 . Assim, a condição necessária para a F L é que, para cada cláusula c F há exatamente 6 outras cláusulas em F que usam as três variáveis de c - permite chamar esses subconjuntos 7 cláusula de F blocos . Observe que cada bloco implica uma atribuição única e satisfatória para suas variáveis. Quando essa condição necessária é satisfeita, F é exclusivamente satisfatório ou insatisfatório. Os dois casos podem ser distinguidos testando se as atribuições implícitas pelos blocos de FFl1=1FLcFFcF FF confronto, o que pode ser feito claramente em tempo linear.

Anton Belov
fonte
11
Sua observação é basicamente: para ter a resposta Sim, F deve conter exatamente sete das oito cláusulas em qualquer escolha de três variáveis ​​distintas. Portanto, encontrar a atribuição exclusiva (ou detectar inconsistência) é facilmente realizada em tempo polinomial.
Tsuyoshi Ito
2
@ Xavier: Os dois problemas podem parecer semelhantes, mas a observação de Anton mostra que eles são simplesmente muito diferentes. Isso é muito comum na complexidade computacional. Exemplos típicos incluem a comparação entre 2SAT e 3SAT e entre o circuito euleriano e o circuito hamiltoniano.
Tsuyoshi Ito
2
@Xavier - A resposta de Tayfun está incorreta . Ele mostra que o problema está no DP - tudo bem, qualquer problema no P está automaticamente no DP. Para mostrar que o problema está completo com DP, ele precisa mostrar redução para outro problema com DP completo (por exemplo, a primeira variante do SAT Crítico). Enviei a edição para a resposta dele, mas está na fila para "revisão por pares".
Anton Belov
3
@Anton: editar drasticamente as respostas postadas por outros usuários geralmente não é recomendado. Se você acha que a resposta do Tayfun é fundamentalmente incorreta, não tente corrigi-la editando-a.
Tsuyoshi Ito
11
Fica muito claro no problema SAT-UNSAT que, para uma fórmula, você verifica a satisfação para a outra fórmula, verifica a insatisfação ... No original emblema crítico de avaliação, você não considera que a fórmula booleana fornecida é insatisfatória. Você tem que verificar isso. Mesmo com a versão Xaviers, você deve verificar se a fórmula booleana fornecida é satisfatória.
Tayfun Pay
-1

Posso propor uma resposta para minha própria pergunta, graças aos seus comentários: a variante do Critical SAT está em P.

Vamos chamar de "Problema 1" a variante do SAT Crítico: dada uma expressão 3-CNF , é verdade que F é satisfatório, mas adicionar qualquer cláusula de F a torna insatisfatória?FFF

E "Problema 2": Dada uma expressão 3-CNF , é verdade que F contém todas as cláusulas implícitas e possui um modelo único?FF

Dada uma fórmula 3-CNF, .F

Se é um exemplo sim de problema 2, então qualquer a cláusula de F não está implícito F e depois cobre a única possível atribuição satisfatório para F . A adição de uma cláusula a F torna-a insustentável. F é consequentemente uma instância sim do problema 1.FFFFFF

Se é uma instância não de problema 2, então: Caso 1: existe uma cláusula de F que está implícito F . A adição desta cláusula a F não altera sua satisfação. F é conseqüentemente um exemplo de problema nenhum. Caso 2: F contém todas as cláusulas que implica, mas é insatisfatório. F é conseqüentemente um exemplo de problema 1. O caso 3: F contém todas as cláusulas que implica, mas possui pelo menos 2 modelos diferentes. Como o comentário de Kaveh enfatiza, «assuma que os modelos diferem na variável p, então adicionar uma cláusula que a contenha não mudará a satisfação. » F é conseqüentemente um exemplo de problema 1.FFFFFFFFF

Então, é uma instância sim do problema 1, se F for uma instância sim do problema 2.FF

O problema 2 é claramente um problema P (por exemplo, é uma instância sim do problema 2 se houver exatamente ( nF =n(n-1)(n-2)(n3) cláusulas de F sem literais opostas em nenhuma delas -né o número de variáveis). O mesmo acontece com o problema 1.n(n1)(n2)3n

Xavier Labouze
fonte
2
Você reformulou o problema original ao seu gosto.
Tayfun Pay
Não tenho certeza sobre a versão 3-SAT. Dada uma fórmula booleana no CNF com cláusulas M e variável N, se M = (3 ^ N) - (2 ^ N), a fórmula booleana especificada é INSATISFIABLE ou possui apenas UMA solução. Mesmo assim, verificar a satisfação nessa instância ainda é NP. Não há nenhuma maneira de sua versão estar em P. #
Tayfun Pay
11
@ Xavier: Esta resposta parece correta, mas acho que é a mesma coisa que Anton faz em sua resposta.
Tsuyoshi Ito
@ Tsuyoshi, você está certo, apenas introduzindo o Problema 2, cuja primeira parte (testar se uma fórmula contém todas as cláusulas implícitas) me interessa - a propósito, você tem alguma idéia sobre a complexidade dessa primeira parte?
Xavier Labouze