HORN-SAT est-il dans LIN, si oui, pourquoi n'est-ce pas une indication que P = LIN?


11

Le Complexity Zoo définit comme la classe de problèmes de décision pouvant être résolus par une machine de Turing déterministe en temps linéaire.LIN

LINP

Étant donné que HORN-SAT est soluble dans (comme indiqué dans les algorithmes à temps linéaire pour tester la satisfiabilité des formules de klaxons propositionnelles (1984) )O(n)

De nouveaux algorithmes pour décider si une formule (propositionnelle) de Horn est satisfaisable sont présentés. Si la formule de Horn contient lettres propositionnelles distinctes et si l'on suppose qu'elles sont exactement , les deux algorithmes présentés dans cet article s'exécutent dans le temps , où est le nombre total d'occurrences de littéraux dans .K P 1 , , P K O ( N ) N AAKP1,,PKO(N)NA

Je me demande pourquoi nous ne pouvons pas conclure que

LIN=P

étant donné que HORN-SAT s'est également avéré être complet sous la réduction de l'espace des journaux ? J'ai dû louper quelque chose. Ou est-ce un fait bien connu?P

(J'ai pourtant parcouru à fond le document de 1984, donc je ne comprends pas très bien les algorithmes pour résoudre HORN-SAT en temps linéaire, et donc j'ai peut-être mal compris l'implication.)


3
Il n'est pas clair que HORN-SAT soit soluble dans le temps sur une machine de Turing; l'algorithme habituel s'exécute dans le modèle de machine RAM. O(n)
Yuval Filmus

Réponses:


10

Parce que les réductions d'espace logarithmique ne s'exécutent pas nécessairement en temps linéaire. Si vous prenez un problème dans P et essayez de le réduire à HORN-SAT, il y aura une réduction de l'espace logarithmique, mais cette réduction peut prendre plus de temps linéaire. Ainsi, même si HORN-SAT peut être résolu en temps linéaire, l'autre problème peut ne pas être résolu en temps linéaire: vous pouvez le convertir en une instance HORN-SAT puis résoudre l'instance HORN-SAT, mais le processus de conversion peut lui-même prendre plus qu'un temps linéaire.

O(lgn)nclgncbO(2b)2bclgnO(2clgn)2clgn=(2lgn)c=ncO(nc)

n


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.