Теорема Савичса - Википедия - Savitchs theorem
В теория сложности вычислений, Теорема савича, доказано Уолтер Сэвич в 1970 г. дает связь между детерминированными и недетерминированными космическая сложность. В нем говорится, что для любой функции ,
Другими словами, если недетерминированная машина Тьюринга может решить проблему с помощью ж(п) пространство, обычное детерминированная машина Тьюринга может решить ту же проблему в квадрате этой границы пространства.[1] Хотя кажется, что недетерминизм может приводить к экспоненциальному выигрышу во времени, эта теорема показывает, что он имеет значительно более ограниченное влияние на требования к пространству.[2]
Доказательство
Существует конструктивное доказательство теоремы: демонстрируется алгоритм для STCON, проблема определения, существует ли путь между двумя вершинами в ориентированный граф, который работает в место для п вершины. Основная идея алгоритма - решить рекурсивно несколько более общая проблема, проверка существования пути из вершины s в другую вершину т который использует самое большее k края, где k - параметр, который передается на вход рекурсивного алгоритма; STCON может быть решен из этой проблемы, установив k к п. Чтобы проверить k-реберный путь от s к т, можно проверить, каждая ли вершина ты может быть серединой пути путем рекурсивного поиска путей половинной длины из s к ты и ты к т.Использование псевдокода (с синтаксисом, очень похожим на Python ) мы можем выразить этот алгоритм следующим образом:
def k_edge_path(s, т, k) -> bool: "" "Теорема Савича." "" если k == 0: возвращаться s == т если k == 1: возвращаться s == т или же (s, т) в края за ты в вершины: если k_edge_path(s, ты, этаж(k / 2)) и k_edge_path(ты, т, потолок(k / 2)): возвращаться Истинный возвращаться Ложь
Этот поиск вызывает сам себя до глубины рекурсии О(бревноп) уровни, каждый из которых требует О(бревноп) биты для хранения аргументов функции и локальные переменные на этом уровне, поэтому общее пространство, используемое алгоритмом, равно . Хотя описанный выше в виде программы на языке высокого уровня, тот же алгоритм может быть реализован с той же асимптотической границей пространства на Машина Тьюринга.
Причина, по которой этот алгоритм подразумевает теорему, заключается в том, что любой язык соответствует ориентированному графу, вершинами которого являются конфигурации машины Тьюринга, решающие членство в L. Для каждого , этот график имеет путь от начальной конфигурации на входе Икс к принимающей конфигурации тогда и только тогда, когда . Таким образом, решения о подключении достаточно, чтобы принять решение о членстве в L, и по описанному выше алгоритму это можно сделать в .
Следствия
Некоторые важные следствия теоремы включают:
- PSPACE = NPSPACE
- Это непосредственно следует из того факта, что квадрат полиномиальной функции остается полиномиальной функцией. Считается, что подобная связь не существует между классами полиномиальной временной сложности, п и НП, хотя это все еще открытый вопрос.
- NL ⊆ L2
Смотрите также
Примечания
Рекомендации
- Арора, Санджив; Варак, Вооз (2009), Вычислительная сложность. Современный подход, Издательство Кембриджского университета, ISBN 978-0-521-42426-4, Zbl 1193.68112
- Пападимитриу, Христос (1993), «Раздел 7.3: Метод достижимости», Вычислительная сложность (1-е изд.), Addison Wesley, стр. 149–150, ISBN 0-201-53082-1
- Сэвич, Уолтер Дж. (1970), «Отношения между недетерминированной и детерминированной сложностями ленты», Журнал компьютерных и системных наук, 4 (2): 177–192, Дои:10.1016 / S0022-0000 (70) 80006-X, HDL:10338.dmlcz / 120475
- Сипсер, Майкл (1997), "Раздел 8.1: Теорема Савича", Введение в теорию вычислений, PWS Publishing, стр.279–281, ISBN 0-534-94728-X
внешняя ссылка
- Лэнс Фортноу, Основы сложности, Урок 18: Теорема Савича. Проверено 09.09.09.
- Ричард Дж. Липтон, Теорема Савича. Дает исторический отчет о том, как было обнаружено доказательство.