Теорема Валианта-Вазирани — различия между версиями
Ulyantsev (обсуждение | вклад) |
Ulyantsev (обсуждение | вклад) |
||
| Строка 11: | Строка 11: | ||
* если формула <tex>\phi</tex> удовлетворима, то с вероятностью большей ½ в наборе найдется формула <tex>\phi_i</tex> ∈ '''USAT'''. | * если формула <tex>\phi</tex> удовлетворима, то с вероятностью большей ½ в наборе найдется формула <tex>\phi_i</tex> ∈ '''USAT'''. | ||
| − | Таким образом задача принадлежности формулы языку '''SAT''' будет разрешаться за полиномиальное время с вероятностью | + | Таким образом задача принадлежности формулы <tex>\phi</tex> языку '''SAT''' будет разрешаться за полиномиальное время с вероятностью односторонней ошибки меньшей ½, то есть '''SAT''' ∈ '''RP''', следовательно, '''NP'''='''RP'''. |
===Построение набора формул=== | ===Построение набора формул=== | ||
| Строка 23: | Строка 23: | ||
*Добавим в набор формулу <tex>\phi_k = \phi \wedge (x \mod p_i = r_i)</tex>, где выражение <tex>(x \mod p_i = r_i)</tex> в данном случае обозначает булеву запись в КНФ, зависящую от переменных <tex>x_1 \ldots x_n</tex> и соответствующую данному сравнению. | *Добавим в набор формулу <tex>\phi_k = \phi \wedge (x \mod p_i = r_i)</tex>, где выражение <tex>(x \mod p_i = r_i)</tex> в данном случае обозначает булеву запись в КНФ, зависящую от переменных <tex>x_1 \ldots x_n</tex> и соответствующую данному сравнению. | ||
| − | Данное построение работает за полиномиальное время и если формула <tex>\phi</tex> невыполнима, то | + | Данное построение работает за полиномиальное время и если формула <tex>\phi</tex> невыполнима, то любая формула <tex>\phi_k</tex> невыполнима. |
===Вероятность существования единственного удовлетворяющего набора=== | ===Вероятность существования единственного удовлетворяющего набора=== | ||
| + | |||
| + | Осталось доказать, что с необходимой нам вероятностью при условии выполнимости <tex>\phi</tex> построенная формула <tex>\phi_k</tex> имеет единственный набор, ее удовлетворяющий. | ||
==Внешние ссылки== | ==Внешние ссылки== | ||
Версия 14:58, 3 мая 2010
Теорема Валианта-Вазирани (Valiant–Vazirani theorem) является клевым современным результатом в теории сложности.
Содержание
Формулировка теоремы
Если язык USAT принадлежит классу P, то классы языков NP и RP совпадают.
Доказательство теоремы
Для доказательства этого факта покажем, что по заданной в КНФ формуле можно за полиномиальное время построить набор формул такой, что:
- если формула неудовлетворима (то есть не принадлежит SAT), то все формулы также неудовлетворимы;
- если формула удовлетворима, то с вероятностью большей ½ в наборе найдется формула ∈ USAT.
Таким образом задача принадлежности формулы языку SAT будет разрешаться за полиномиальное время с вероятностью односторонней ошибки меньшей ½, то есть SAT ∈ RP, следовательно, NP=RP.
Построение набора формул
Пусть формуле с n переменными соответствует n-битное число , которое кодирует значения переменных.
- Выберем равновероятно случайным образом целое число из отрезка [0..n]. Определим число .
- Выберем равновероятно случайным образом целые числа из отрезка [1..] и из отрезка [0..].
- Добавим в набор формулу , где выражение в данном случае обозначает булеву запись в КНФ, зависящую от переменных и соответствующую данному сравнению.
Данное построение работает за полиномиальное время и если формула невыполнима, то любая формула невыполнима.
Вероятность существования единственного удовлетворяющего набора
Осталось доказать, что с необходимой нам вероятностью при условии выполнимости построенная формула имеет единственный набор, ее удовлетворяющий.