Estou interessado em conhecer a complexidade do problema NAE-HORN-SAT (nem todos iguais). Sabemos que o HORNSAT é completo, mas, por outro lado, o NAE-SAT é completo. Quero saber o que podemos dizer sobre o problema NAE-HORN-SAT. Deixe-me definir o problema formalmente:
Dado: Uma fórmula booleana é dada a nós no CNF, onde cada cláusula tem no máximo um literal positivo (propriedade HORN). Pergunta: Existe alguma atribuição para as variáveis de entrada de modo que qualquer cláusula tenha pelo menos um Falso e pelo menos um literal Verdadeiro (propriedade NAE)?
NB:
- Literal positivo: qualquer variável diretamente,
- Literal negativo: negação de qualquer variável.
- True literal: literal é atribuído a Boolean True por qualquer atribuição,
- Falso literal: o literal é atribuído ao Booleano Falso por qualquer atribuição.
De acordo com o teorema da dicotomia de Schaefer , esse problema deve estar no ou completo. Posso apenas encontrar uma redução polinomial do HORNSAT para esse problema, que não prova nada. Existe um algoritmo de tempo polinomial para resolver esse problema?
Ou existe alguma maneira de provar que esse problema é -hard? Alguma idéia sobre isso?
Respostas:
Seu problema, NAE-HORN-SAT é completo. O NAE-SAT monotônico é completo e é um caso especial do seu NAE-HORN-SAT. Os literais na fórmula monótona de SAT são todos positivos ou negativos.NP NP
Tome qualquer instância do problema Monotone NAE-SAT (todos os literais são negativos); em seguida, esta fórmula é uma instância do problema NAE-HORN-SAT.
fonte
O teorema da dicotomia de Schaefer, na verdade, não se aplica necessariamente neste caso, uma vez que a largura das cláusulas em uma fórmula NAE-HORN-SAT não é limitada. O que o teorema de Schaefer fornece é um algoritmo que decide, para cadak , se a restrição de NAE-HORN-SAT a cláusulas de largura k (ou até k ) está em P ou NP-completo. O algoritmo aparece na página da Wikipedia e você pode procurar algumas das referências (por exemplo, a pesquisa recente de Chen) para obter mais explicações.
No seu caso, existem duas possibilidades. A primeira possibilidade é que, para algunsk , NAE-HORN-SAT é NP-completo para cláusulas de largura k . A segunda possibilidade é que, para todosk , NAE-HORN-SAT está em P. Neste último caso, você terá que examinar o algoritmo que resolve NAE-HORN-SAT para cada limite k (existe um algoritmo para cada um dos seis casos fáceis listados no teorema, e você terminará com um deles) e verifique se ele generaliza para largura ilimitada. Caso contrário, volte para nós e faça a pergunta novamente. Edit: não esperamos que isso aconteça, veja esta pergunta .
Observe que, se a largura da cláusula for ilimitada, não será garantido que o problema geral do CSP esteja no NP (ou mesmo computável), embora no seu caso esteja.
fonte