Eu defino um CNF longo para conter pelo menos cláusulas, onde é o número de suas variáveis. Deixe é uma fórmula CNF longa e satisfatória .
Eu gostaria de saber por que . Primeiro, pensei que fosse pois eu posso reduzir o tempo polinomial de para , não?
Mas talvez eu possa reduzir para ? Como faço isso?
Respostas:
A menos que esteja faltando alguma coisa, é trivialmente em P, pois o comprimento da fórmula é exponencial no número de variáveis. Daí tudo2n as atribuições de verdade podem ser geradas e verificadas no tempo polinomial no comprimento da fórmula.
fonte
Nesse caso, a resposta é trivial, como Lucas aponta . No entanto, como você parece ter elaborado a definição, observe isso.
Para SAT, as chamadas transições de fase em relação à razão entre contagem variável e contagem de cláusulas foram observadas [1,2]. Se for pequeno, as instâncias serão fáceis e difíceis, se for grande. Parece haver uma transição mais ou menos nítida de fácil para difícil. Esta parece ser uma área ativa de pesquisa . cstheory.SE tem um pouco mais sobre esse fenômeno.
Portanto, se você ajustar sua definição de "longo" para uma explosão polinomial , poderá realmente obter uma classe não trivialmente fácil - ou seja, em P - apenas porque possui muito mais cláusulas que variáveis.
fonte