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

Теорема Севіча з теорії складності обчислень, доведена Уолтером Севічем у 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 також належать до класу складності .

Див. також

Примітки

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

    Джерела

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.