Pergunta

Não é difícil ver que SENTOU-se por uma fórmula CNF com $n$ variáveis e constantes número de cláusulas que podem ser resolvidos em tempo polinomial.Por outro lado, não é difícil ver que uma fórmula CNF com $n$ variáveis e $S(n)$ cláusulas é suficiente para a NP-dureza (considere, por exemplo, as instâncias de SAT associados com a fórmula natural para 3-coloração, aplicado a grafos planares).

Poderíamos definir esse formalmente como $ ext{CNFSAT}-f- ext{Cláusulas}$, uma família de problemas parametrizada por uma função $f$, em quais instâncias são fórmulas em CNF tais que, se eles têm $n$ variáveis e, em seguida, eles têm, no máximo, $f(n)$ cláusulas.Com base nisso, o que eu gostaria de saber é qual é a menor função $g$ de tal forma que sabemos que existe $f em O(g)$ de tal forma que $ ext{CNFSAT}-f- ext{Cláusulas}$ já é NP-difícil.Sabemos que g = 1 (constante nº de cláusulas) não funciona, e $g = n$ (linear número de cláusulas) funciona.

O que sobre $g = log n$?Existe um algoritmo simples para CNFSAT através de fórmulas $O(\pl \lg n)$ cláusulas?

Foi útil?

Solução

Limite inferior. Para $g \le c \cdot \sqrt{\log n}$ existe um algoritmo em tempo polinomial.A idéia é a seguinte:se algumas orações têm muitas variáveis, então ele deve ser trivial para selecionar algumas variáveis para satisfazer esta cláusula, sem ferir cláusulas com poucas variáveis.Nós repita o seguinte:

Encontrar a cláusula com o menor número de variáveis.Deixe $x_1,\ldots,x_k$ ser as variáveis que participam na presente cláusula.

  • Se $k > g$, e , em seguida, toda a fórmula é satisfatível (nós processo de cláusulas de um por um e selecione uma variável que a gente não seleccionar antes).
  • Caso contrário, remova a cláusula.Nós também remover $x_1,\ldots,x_k$ a partir de todas as outras cláusulas.

Agora, temos de satisfazer removido cláusulas.Desde há no máximo $g$ cláusulas e cada um deles apresenta na maioria $g$ novas variáveis, significa que existem, no máximo, $g^2 = c^2 \cdot log n$ variáveis globais.Portanto, não há, no máximo, $n^{c^2}$ variável de combinações, e podemos apenas usar de força bruta.

Condicional limite superior. É quase apertado no seguinte sentido. Suponha que o limite inferior da SENTOU-se com $n$ variáveis e $\ge c\cdot n$ cláusulas (para alguns $c$, e.g.vindo de $3$-colorir) é $\alpha^n$ ($\alpha \in (1, 2]$).Observe que o mesmo limite inferior detém após a nossa transformação (já que nós podemos aplicá-lo antes de qualquer algoritmo).Portanto, se há pelo menos $\log^{1+\epsilon} n$ cláusulas, eles podem ter $\frac {\log^{1+\epsilon} n} c$ variáveis e o limite inferior para o tempo de execução para o nosso problema é

$$\alpha^{\frac {\log^{1+\epsilon} n} c} = n^{\frac {\log^\epsilon n \cdot \log \alpha} {c}},$$

o que é o super-polinomial.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top