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

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 5: Строка 5:
 
Если язык '''[[USAT]]''' принадлежит классу '''[[P]]''', то классы языков '''[[NP]]''' и '''[[RP]]''' совпадают.
 
Если язык '''[[USAT]]''' принадлежит классу '''[[P]]''', то классы языков '''[[NP]]''' и '''[[RP]]''' совпадают.
  
===Доказательство теоремы===
+
==Доказательство теоремы==
  
 
Для доказательства этого факта покажем, что по заданной в КНФ формуле <tex>\phi</tex> можно за полиномиальное время построить набор формул <tex>\phi_1 \ldots \phi_m</tex> такой, что:
 
Для доказательства этого факта покажем, что по заданной в КНФ формуле <tex>\phi</tex> можно за полиномиальное время построить набор формул <tex>\phi_1 \ldots \phi_m</tex> такой, что:
Строка 11: Строка 11:
 
* если формула <tex>\phi</tex> удовлетворима, то с вероятностью большей ½ в наборе найдется формула <tex>\phi_i</tex> ∈ '''USAT'''.
 
* если формула <tex>\phi</tex> удовлетворима, то с вероятностью большей ½ в наборе найдется формула <tex>\phi_i</tex> ∈ '''USAT'''.
  
Таким образом задача принадлежности формулы языку '''SAT''' будет разрешаться за полиномиальное с вероятностью большей ½, то есть '''SAT''' ∈ '''RP''', следовательно, '''NP'''='''RP'''.
+
Таким образом задача принадлежности формулы языку '''SAT''' будет разрешаться за полиномиальное время с вероятностью большей ½, то есть '''SAT''' ∈ '''RP''', следовательно, '''NP'''='''RP'''.
+
 
 +
===Построение набора формул===
 +
 
 +
Пусть формуле <tex>\phi(x_1 \ldots x_n)</tex> с ''n'' переменными соответствует ''n''-битное число <tex>x</tex>, которое кодирует значения переменных.
 +
 
 +
Выберем равновероятно случайным образом целое число <tex>i</tex> из отрезка [0..''n''].
 +
Определим число <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>\phi_k = \phi \wedge (x \mod p_i = r_i)</tex>.
 +
 
 
==Внешние ссылки==
 
==Внешние ссылки==
  

Версия 13:51, 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.

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

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

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

Выберем равновероятно случайным образом целое число [math]i[/math] из отрезка [0..n]. Определим число [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].

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

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

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