Теорема Севіча
Теорема Севіча з теорії складності обчислень, доведена Уолтером Севічем у 1970 році, дає зв’язок між детермінованою та недетермінованою складністю простору .
У ньому зазначено, що для будь-якої функції ,
Іншими словами, якщо недетермінована машина Тюрінга може вирішити проблему, використовуючи пам'яті, детермінована машина Тюрінга може вирішити ту ж задачу за квадрат пам'яті. [1] Хоча здається, що не детермінізм може призвести до експоненційного виграшу в часі, але ця теорема показує, що він має помітно більш обмежений вплив на вимоги до пам'яті. [2]
Доведення
Доведення спирається на алгоритм для STCON, задачі визначення того, чи існує шлях між двома вершинами в орієнтованому графі, який виконується в пам'яті для вершин. Основна ідея алгоритму полягає в тому, щоб рекурсивно розв’язати дещо більш загальну задачу, перевіряючи існування шляху від вершини s до іншої вершини t, яка використовує не більше k ребер, де k є параметром, який вводиться як вхідний параметр рекурсивного алгоритму. STCON можна вирішити з цієї проблеми, встановивши k на n . Щоб перевірити шлях k- краю від s до t, можна перевірити, чи кожна вершина u може бути серединою шляху s-t, шляхом рекурсивного пошуку шляхів половини довжини від s до u і u до t . Використовуючи псевдокод (у синтаксисі Python ), ми можемо виразити цей алгоритм таким чином:
def k_edge_path(s, t, k) -> bool:
"""k initially equals n (which is the number of vertices)"""
if k == 0:
return s == t
if k == 1:
return (s, t) in edges
for u in vertices:
if k_edge_path(s, u, floor(k / 2)) and k_edge_path(u, t, ceil(k / 2)):
return True
return False
Цей пошук викликає глибину рекурсії рівнів, кожен з яких вимагає біти для зберігання аргументів функції та локальних змін на цьому рівні: k і всі вершини ( s, t, u ) вимагають біти кожен. Таким чином, загальна складність допоміжного простору . Хоч описана вище програма написана мовою високого рівня, але той самий алгоритм може бути реалізований з тим самим асимптотичним простором, обмеженим на машині Тюрінга .
Щоб зрозуміти, чому цей алгоритм має на увазі теорему, розглянемо наступне. Для будь-якої мови , є машина Тюрінга який вирішує у просторі . Припустимо, що w.l.o.g. алфавіт є двійковим (а саме ). Для будь-якого вхідного слова , існує орієнтований граф вершинами яких є конфігурації під час роботи на вході . Таких конфігурацій може бути нескінченно багато; наприклад, коли продовжує записувати символ на стрічці і рухати голову вправо в петлі до нескінченності. Потім конфігурації зростають довільно. Проте ми знаємо щонайбільше потрібен простір, щоб вирішити чи , тому ми піклуємося лише про конфігурації розміру ; назвемо будь-яку таку конфігурацію допустимою . Існує скінченна кількість допустимих конфігурацій; а саме . Отже, індукований підграф з містить (точно) допустимі конфігурації та має вершин. Для кожного входу , має шлях від початкової конфігурації до конфігурації, що приймає, тоді і тільки тоді, коли . Таким чином, вирішивши підключення в , ми можемо прийняти рішення про членство в . За наведеним вище алгоритмом це можна зробити детерміновано в просторі ; отже є в .
Оскільки це стосується всіх і все , отримуємо твердження теореми:
- Для всіх функцій , .
Наслідки
Деякі важливі наслідки теореми включають:
- PSPACE = NPSPACE
- Це прямо випливає з того факту, що квадрат поліноміальної функції все ще є поліноміальною функцією. Вважається, що подібного зв'язку між класами поліноміальної часової складності P і NP не існує, хоча це все ще залишається відкритим питанням .
- NL ⊆ L 2
- STCON є NL-повним, тому всі мови в NL також належать до класу складності .
Примітки
- Arora & Barak (2009) p.86
- Arora & Barak (2009) p.92
Джерела
- Ленс Фортноу, Основи складності, Урок 18: Теорема Севіча . Доступ 09/09/09.
- Річард Дж. Ліптон, Теорема Севіча . Дає історичний звіт про те, як було виявлено доказ.
- Papadimitriou, Christos (1993). Section 7.3: The Reachability Method. Computational Complexity (вид. 1st). Addison Wesley. с. 149–150. ISBN 0-201-53082-1.
- Arora, Sanjeev; Barak, Boaz (2009). Computational complexity. A modern approach. Cambridge University Press. ISBN 978-0-521-42426-4. Zbl 1193.68112.
- Savitch, Walter J. (1970). Relationships between nondeterministic and deterministic tape complexities. Journal of Computer and System Sciences 4 (2): 177–192. doi:10.1016/S0022-0000(70)80006-X.
- Sipser, Michael (1997). Section 8.1: Savitch's Theorem. Introduction to the Theory of Computation. PWS Publishing. с. 279–281. ISBN 0-534-94728-X.