Теорема Севіча

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Теорема Севіча з теорії складності обчислень, доведена Уолтером Севічем[en] у 1970 році, дає зв’язок між детермінованою та недетермінованою складністю простору .
У ньому зазначено, що для будь-якої функції ,

Іншими словами, якщо недетермінована машина Тюрінга може вирішити проблему, використовуючи пам'яті, детермінована машина Тюрінга може вирішити ту ж задачу за квадрат пам'яті. [1] Хоча здається, що не детермінізм може призвести до експоненційного виграшу в часі, але ця теорема показує, що він має помітно більш обмежений вплив на вимоги до пам'яті. [2]

Доведення[ред. | ред. код]

Доведення спирається на алгоритм для STCON[en], задачі визначення того, чи існує шлях між двома вершинами в орієнтованому графі, який виконується в пам'яті для вершин. Основна ідея алгоритму полягає в тому, щоб рекурсивно розв’язати дещо більш загальну задачу, перевіряючи існування шляху від вершини 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.[en] алфавіт є двійковим (а саме ). Для будь-якого вхідного слова , існує орієнтований граф вершинами яких є конфігурації під час роботи на вході . Таких конфігурацій може бути нескінченно багато; наприклад, коли продовжує записувати символ на стрічці і рухати голову вправо в петлі до нескінченності. Потім конфігурації зростають довільно. Проте ми знаємо щонайбільше потрібен простір, щоб вирішити чи , тому ми піклуємося лише про конфігурації розміру ; назвемо будь-яку таку конфігурацію допустимою . Існує скінченна кількість допустимих конфігурацій; а саме . Отже, індукований підграф з містить (точно) допустимі конфігурації та має вершин. Для кожного входу , має шлях від початкової конфігурації до конфігурації, що приймає, тоді і тільки тоді, коли . Таким чином, вирішивши підключення в , ми можемо прийняти рішення про членство в . За наведеним вище алгоритмом це можна зробити детерміновано в просторі  ; отже є в .

Оскільки це стосується всіх і все , отримуємо твердження теореми:

Для всіх функцій , .

 

Наслідки[ред. | ред. код]

Деякі важливі наслідки теореми включають:

  • PSPACE = NPSPACE
    • Це прямо випливає з того факту, що квадрат поліноміальної функції все ще є поліноміальною функцією. Вважається, що подібного зв'язку між класами поліноміальної часової складності P і NP не існує, хоча це все ще залишається відкритим питанням .
  • NL[en] ⊆ L 2
    • STCON є NL-повним, тому всі мови в NL також належать до класу складності .

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Arora & Barak (2009) p.86
  2. Arora & Barak (2009) p.92

Джерела[ред. | ред. код]

  • Ленс Фортноу, Основи складності, Урок 18: Теорема Севіча [Архівовано 18 травня 2009 у Wayback Machine.] . Доступ 09/09/09.
  • Річард Дж. Ліптон, Теорема Севіча [Архівовано 8 квітня 2009 у Wayback Machine.] . Дає історичний звіт про те, як було виявлено доказ.
  • 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