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

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

Теорема Севіча з теорії складності обчислень, доведена Шаблон:Нп у 1970 році, дає зв’язок між детермінованою та недетермінованою складністю простору .
У ньому зазначено, що для будь-якої функції fΩ(log(n)) ,

𝖭𝖲𝖯𝖠𝖢𝖤(f(n))𝖣𝖲𝖯𝖠𝖢𝖤(f(n)2).

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

Доведення

Доведення спирається на алгоритм для Шаблон:Нп, задачі визначення того, чи існує шлях між двома вершинами в орієнтованому графі, який виконується в

O((logn)2)

пам'яті для

n

вершин. Основна ідея алгоритму полягає в тому, щоб рекурсивно розв’язати дещо більш загальну задачу, перевіряючи існування шляху від вершини 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

Цей пошук викликає глибину рекурсії

O(logn)

рівнів, кожен з яких вимагає

O(logn)

біти для зберігання аргументів функції та локальних змін на цьому рівні: k і всі вершини ( s, t, u ) вимагають

O(logn)

біти кожен. Таким чином, загальна складність допоміжного простору

O((logn)2)

. Хоч описана вище програма написана мовою високого рівня, але той самий алгоритм може бути реалізований з тим самим асимптотичним простором, обмеженим на машині Тюрінга .

Щоб зрозуміти, чому цей алгоритм має на увазі теорему, розглянемо наступне. Для будь-якої мови L𝖭𝖲𝖯𝖠𝖢𝖤(f(n)), є машина Тюрінга M який вирішує L у просторі f(n) . Припустимо, що Шаблон:Нп алфавіт є двійковим {0,1} (а саме L{0,1}* ). Для будь-якого вхідного слова x{0,1}*, існує орієнтований граф GxM вершинами яких є конфігурації M під час роботи на вході x . Таких конфігурацій може бути нескінченно багато; наприклад, коли M продовжує записувати символ на стрічці і рухати голову вправо в петлі до нескінченності. Потім конфігурації зростають довільно. Проте ми знаємо щонайбільше f(n) потрібен простір, щоб вирішити чи xL, тому ми піклуємося лише про конфігурації розміру f(n); назвемо будь-яку таку конфігурацію допустимою . Існує скінченна кількість допустимих конфігурацій; а саме 2O(f(n)) . Отже, індукований підграф [GxM] з GxM містить (точно) допустимі конфігурації та має 2O(f(n)) вершин. Для кожного входу x{0,1}n, [GxM] має шлях від початкової конфігурації до конфігурації, що приймає, тоді і тільки тоді, коли xL . Таким чином, вирішивши підключення в [GxM], ми можемо прийняти рішення про членство x в L . За наведеним вище алгоритмом це можна зробити детерміновано в просторі O((log2O(f(n)))2)=O(f(n)2) ; отже L є в 𝖣𝖲𝖯𝖠𝖢𝖤(f(n)2) .

Оскільки це стосується всіх fΩ(logn) і все L𝖭𝖲𝖯𝖠𝖢𝖤(f(n)), отримуємо твердження теореми:

Для всіх функцій fΩ(logn), 𝖭𝖲𝖯𝖠𝖢𝖤(f(n))𝖣𝖲𝖯𝖠𝖢𝖤(f(n)2) .

 

Наслідки

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

  • PSPACE = NPSPACE
    • Це прямо випливає з того факту, що квадрат поліноміальної функції все ще є поліноміальною функцією. Вважається, що подібного зв'язку між класами поліноміальної часової складності P і NP не існує, хоча це все ще залишається відкритим питанням .
  • Шаблон:Нп ⊆ L 2
    • STCON є NL-повним, тому всі мови в NL також належать до класу складності 𝖫2=𝖣𝖲𝖯𝖠𝖢𝖤((logn)2) .

Див. також

Примітки

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

Джерела