Réponse simple : s'il existe un algorithme plus efficace qui s'exécute en temps pour un certain , alors l'hypothèse de temps exponentiel fort serait réfutée.δ < 2O(nδ)δ<2
Nous prouverons un théorème plus fort et ensuite la réponse simple suivra.
Théorème : si nous pouvons résoudre le problème de non-vacuité d'intersection pour deux DFA en temps , alors tout problème non résolvable de manière déterministe en utilisant seulement n bits de mémoire est résolvable de manière déterministe en heure.p o l y ( n ) ⋅ 2 ( δ n / 2 )O(nδ)poly(n)⋅2(δn/2)
Justification : Supposons que nous pouvons résoudre la non-vacuité d'intersection pour deux DFA en temps . Soit une machine de Turing non déterministe M avec une bande d'entrée en lecture seule et une bande de travail binaire en lecture / écriture. Soit une chaîne d'entrée x de longueur n donnée. Supposons que M n'accède pas à plus de n bits de mémoire sur la bande de travail binaire.O(nδ)
Un calcul de M sur l'entrée x peut être représenté par une liste finie de configurations. Chaque configuration comprend un état, une position sur la bande d'entrée, une position sur la bande de travail et jusqu'à n bits de mémoire qui représentent la bande de travail.
Maintenant, considérez que la bande de travail a été divisée en deux. En d'autres termes, nous avons une section gauche de cellules et une section droite de cellules . Chaque configuration peut être décomposée en une pièce gauche et une pièce droite. La partie gauche se compose de l'état, de la position sur la bande d'entrée, de la position sur la bande de travail et des bits de la section gauche. La bonne pièce se compose de l'état, de la position sur la bande d'entrée, de la position sur la bande de travail et des bits de la section de droite.nn2nn2nn2n2
Maintenant, nous construisons un DFA dont les états sont des morceaux de gauche et un DFA dont les états sont des morceaux de droite. Les caractères alphabétiques sont des instructions qui indiquent dans quel état aller, comment les têtes de bande doivent se déplacer et comment la cellule active de la bande de travail doit être manipulée.D 2D1D2
L'idée est que et lisent une liste d'instructions correspondant à un calcul de M sur l'entrée x et vérifient ensemble qu'elle est valide et acceptante. Les deux et seront toujours d' accord sur l' endroit où les têtes de bande sont parce que l' information est inclus dans leurs caractères d'entrée. Par conséquent, nous pouvons demander à vérifier que l'instruction est appropriée lorsque la position du ruban de travail est dans la pièce de gauche et vérifier lorsqu'elle est dans la pièce de droite.D 2 D 1 D 2 D 1 D 2D1D2D1D2D1D2
Au total, il existe au plus états pour chaque DFA et au plus caractères alphabétiques distincts. p o l y ( n )poly(n)⋅2n/2poly(n)
Par l'hypothèse initiale, il s'ensuit que nous pouvons résoudre le non-vide d'intersection pour les deux DFA en temps .poly(n)⋅2(δn/2)
Vous pourriez trouver cela utile: https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/
CNF-SAT peut être résolu en utilisant bits de mémoire où k est le nombre de variables. La construction précédente peut être utilisée pour montrer que si nous pouvons résoudre le non-vide d'intersection pour deux DFA en temps , alors nous pouvons résoudre CNF-SAT en heure. Par conséquent, la réponse simple est valable.k+O(log(n))O(nδ)poly(n)⋅2(δk/2)
Les commentaires, corrections, suggestions et questions sont les bienvenus. :)