Проста відповідь : Якщо існує більш ефективний алгоритм, який працює в за деякий δ < 2 , то сильна експоненціальна часова гіпотеза буде спростована.O(nδ)δ<2
Ми доведемо сильнішу теорему, і тоді випливе проста відповідь.
Теорема : Якщо ми можемо вирішити задачу про порожнечу перетину для двох DFA за час , то будь-яка проблема, яка не може бути вирішена детермінантно, використовуючи лише n біт пам'яті, детерміновано вирішується в p o l y ( n ) ⋅ 2 ( δ n / 2 ) час.O(nδ)poly(n)⋅2(δn/2)
Обґрунтування : Припустимо, що ми можемо вирішити непереміщення перехрестя протягом двох DFA за час . Дозвольте надати недетерміновану машину Тюрінга M із стрічкою лише для читання та двійковою робочою стрічкою для читання / запису. Нехай задається рядок введення x довжини n. Припустимо, що M не має доступу до більш ніж n бітів пам'яті на двійковій робочій стрічці.O(nδ)
Обчислення M на вході x може бути представлено кінцевим списком конфігурацій. Кожна конфігурація складається з стану, положення на вхідній стрічці, положення на робочій стрічці та до n біт пам'яті, які представляють робочу стрічку.
Тепер подумайте, що робоча стрічка була розділена навпіл. Іншими словами, у нас лівий відрізок комірки і правий відрізокnn2 комірки. Кожна конфігурація може бути розбита на ліву частину та праву частину. Ліва деталь складається із стану, положення на вхідній стрічці, положення на робочій стрічці таnn2 біти з лівого розділу. Права деталь складається із стану, положення на вхідній стрічці, положення на робочій стрічці таnn2 біта з правого розділу.n2
Тепер ми будуємо DFA , стани якого є лівими фрагментами, і DFA D 2 , стани яких є правими відрізками. Символи алфавіту - це інструкції, які говорять про те, до якого стану потрібно перейти, як повинні рухатися головки стрічки та як слід керувати активною коміркою робочої стрічки.D1D2
Ідея полягає в тому, що і D 2 читають у списку інструкцій, що відповідають обчисленню M на вході x, і разом перевіряють, чи він дійсний і приймає. І D 1 і D 2 завжди будуть домовлятися про те, де розташовані головки стрічки, оскільки ця інформація міститься у вхідних символах. Отже, ми можемо мати, щоб D 1 переконався, що інструкція підходить, коли положення робочої стрічки знаходиться в лівій частині, а D 2 - у правій частині.D1D2D1D2D1D2
Всього існує щонайбільше станів для кожного DFA та не більше p o l y ( n ) різних символів алфавіту.poly(n)⋅2n/2poly(n)
З початкового припущення випливає, що ми можемо вирішити неперерізну перетину для двох DFA за часу.poly(n)⋅2(δn/2)
Це може бути вам корисним: https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/
CNF-SAT вирішується за допомогою бітів пам'яті, де k - кількість змінних. Попередня конструкція може бути використана для показу, що якщо ми можемо вирішити не порожнечу перетину для двох DFA за час O ( n δ ) , то ми можемо вирішити CNF-SAT в p o l y ( n ) ⋅ 2 ( δ k / 2 ) час. Тому відповідь проста .k+O(log(n))O(nδ)poly(n)⋅2(δk/2)
Коментарі, виправлення, пропозиції та питання вітаються. :)