HORN-SAT está em LIN, se sim, por que isso não é uma indicação de que P = LIN?


11

O Complexity Zoo define como a classe de problemas de decisão solucionáveis ​​por uma máquina de Turing determinística em tempo linear.euEuN

LINP

Como o HORN-SAT é passível de solução em (conforme indicado nos algoritmos de tempo linear para testar a satisfação das fórmulas de cornetas proposicionais (1984) )O(n)

Novos algoritmos para decidir se uma fórmula Horn (proposicional) é satisfatória são apresentados. Se a fórmula Horn contém letras proposicionais distintas e se for assumido que elas são exatamente , os dois algoritmos apresentados neste artigo são executados no tempo , em que é o número total de ocorrências de literais na .AKP1,,PKO(N)ANA

Estou me perguntando por que não podemos concluir que

LIN=P

dado que o HORN-SAT também foi comprovado como completo em com redução do espaço de log ? Eu devo estar esquecendo alguma coisa. Ou isso é um fato conhecido?P

(Eu ainda analisei completamente o artigo de 1984, então não entendo bem os algoritmos para resolver o HORN-SAT em tempo linear e, portanto, posso ter entendido mal a implicação.)


3
Não está claro que o HORN-SAT seja solucionável no tempo em uma máquina de Turing; o algoritmo usual é executado no modelo de máquina RAM. O(n)
Yuval Filmus

2
Intimamente relacionados: cs.stackexchange.com/q/45007/9550
David Richerby

Respostas:


10

Porque as reduções do espaço de log não necessariamente são executadas em tempo linear. Se você pegar um problema em P e tentar reduzi-lo para HORN-SAT, haverá uma redução no espaço de log, mas essa redução poderá levar mais que o tempo linear. Portanto, mesmo que o HORN-SAT possa ser resolvido em tempo linear, o outro problema pode não ser solucionável em tempo linear: você pode convertê-lo em uma instância de HORN-SAT e depois resolver a instância de HORN-SAT, mas o processo de conversão pode demorar mais que tempo linear.

Uma redução de espaço de log é aquela em que a quantidade de espaço usada é , em que n é o tamanho da entrada. Em particular, ele pode usar c lg n bits de espaço, para alguma constante c . Agora, sabe-se que qualquer algoritmo determinístico que utiliza no máximo b bits de espaço é executado no tempo no máximo O ( 2 b ) [se é garantido que terminará], pois existem apenas 2 b possíveis estados diferentes e se o algoritmo visitar qualquer estado mais de uma vez, ele fará um loop para sempre. Consequentemente, uma redução que usa c O(lgn)nclgncbO(2b)2b bits de espaço terão tempo de execução no máximo O ( 2 c lg n ) . No entanto, 2 c lg n = ( 2 lg n ) c = n c , então a única conclusão que podemos tirar é que a redução ocorre no tempo O ( n c ) , ou seja, no tempo polinomial.clgnO(2clgn)2clgn=(2lgn)c=ncO(nc)

Em outras palavras: uma redução no espaço de log pode levar mais que o tempo linear para ser executada. Seu tempo de execução pode ser qualquer polinômio em .n


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.