Теорема Валианта-Вазирани — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 15: Строка 15:
 
===Построение набора формул===
 
===Построение набора формул===
  
Пусть формуле <tex>\phi(x_1 \ldots x_n)</tex> с ''n'' переменными соответствует ''n''-битное число <tex>x</tex>, которое кодирует значения переменных.
+
Пусть формуле <tex>\phi(x_1 \ldots x_n)</tex> с <tex>n</tex> переменными соответствует <tex>n</tex>-битное число <tex>x</tex>, которое кодирует набор переменных.
  
*Выберем равновероятно случайным образом целое число <tex>i</tex> из отрезка [0..''n'']. Определим число <tex>b_i = 2^{i + 2}n^2</tex>.  
+
*Выберем равновероятно случайным образом целое число <tex>i</tex> из отрезка [0..<tex>n</tex>]. Определим число <tex>b_i = 2^{i + 2}n^2</tex>.  
  
 
*Выберем равновероятно случайным образом целые числа <tex>p_i</tex> из отрезка [1..<tex>b_i</tex>] и <tex>r_i</tex> из отрезка [0..<tex>b_i</tex>].
 
*Выберем равновероятно случайным образом целые числа <tex>p_i</tex> из отрезка [1..<tex>b_i</tex>] и <tex>r_i</tex> из отрезка [0..<tex>b_i</tex>].
Строка 28: Строка 28:
  
 
Осталось доказать, что с необходимой нам вероятностью при условии выполнимости <tex>\phi</tex> построенная формула <tex>\phi_k</tex> имеет единственный набор, ее удовлетворяющий.
 
Осталось доказать, что с необходимой нам вероятностью при условии выполнимости <tex>\phi</tex> построенная формула <tex>\phi_k</tex> имеет единственный набор, ее удовлетворяющий.
 +
 +
Дальнейшие рассуждения рекомендуется читать медленно и внимательно:
 +
 +
*Обозначим за <tex>x^{(1)} \ldots x^{(D)}</tex> все выполняющие наборы формулы <tex>\phi</tex>. Заметим, что их число, обозначенное как <tex>D</tex>, нам неизвестно (но не превосходит 2<sup>''n''</sup>).
 +
  
 
==Внешние ссылки==
 
==Внешние ссылки==

Версия 15:41, 3 мая 2010

Теорема Валианта-Вазирани (Valiant–Vazirani theorem) является клевым современным результатом в теории сложности.

Формулировка теоремы

Если язык USAT принадлежит классу P, то классы языков NP и RP совпадают.

Доказательство теоремы

Для доказательства этого факта покажем, что по заданной в КНФ формуле [math]\phi[/math] можно за полиномиальное время построить набор формул [math]\phi_1 \ldots \phi_m[/math] такой, что:

  • если формула [math]\phi[/math] неудовлетворима (то есть не принадлежит SAT), то все формулы [math]\phi_1 \ldots \phi_m[/math] также неудовлетворимы;
  • если формула [math]\phi[/math] удовлетворима, то с вероятностью большей ½ в наборе найдется формула [math]\phi_i[/math]USAT.

Таким образом задача принадлежности формулы [math]\phi[/math] языку SAT будет разрешаться за полиномиальное время с вероятностью односторонней ошибки меньшей ½, то есть SATRP, следовательно, NP=RP.

Построение набора формул

Пусть формуле [math]\phi(x_1 \ldots x_n)[/math] с [math]n[/math] переменными соответствует [math]n[/math]-битное число [math]x[/math], которое кодирует набор переменных.

  • Выберем равновероятно случайным образом целое число [math]i[/math] из отрезка [0..[math]n[/math]]. Определим число [math]b_i = 2^{i + 2}n^2[/math].
  • Выберем равновероятно случайным образом целые числа [math]p_i[/math] из отрезка [1..[math]b_i[/math]] и [math]r_i[/math] из отрезка [0..[math]b_i[/math]].
  • Добавим в набор формулу [math]\phi_k = \phi \wedge (x \mod p_i = r_i)[/math], где выражение [math](x \mod p_i = r_i)[/math] в данном случае обозначает булеву запись в КНФ, зависящую от переменных [math]x_1 \ldots x_n[/math] и соответствующую данному сравнению.

Данное построение работает за полиномиальное время и если формула [math]\phi[/math] невыполнима, то любая формула [math]\phi_k[/math] невыполнима.

Вероятность существования единственного удовлетворяющего набора

Осталось доказать, что с необходимой нам вероятностью при условии выполнимости [math]\phi[/math] построенная формула [math]\phi_k[/math] имеет единственный набор, ее удовлетворяющий.

Дальнейшие рассуждения рекомендуется читать медленно и внимательно:

  • Обозначим за [math]x^{(1)} \ldots x^{(D)}[/math] все выполняющие наборы формулы [math]\phi[/math]. Заметим, что их число, обозначенное как [math]D[/math], нам неизвестно (но не превосходит 2n).


Внешние ссылки

Оригинальная статья 1986 года - Valiant, Leslie G., Vijay Vazirani NP is as easy as detecting unique solutions

Лекция Э.А.Гирша