Теорема Валианта-Вазирани — различия между версиями
Ulyantsev (обсуждение | вклад) |
Ulyantsev (обсуждение | вклад) |
||
| Строка 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 совпадают.
Доказательство теоремы
Для доказательства этого факта покажем, что по заданной в КНФ формуле можно за полиномиальное время построить набор формул такой, что:
- если формула неудовлетворима (то есть не принадлежит SAT), то все формулы также неудовлетворимы;
- если формула удовлетворима, то с вероятностью большей ½ в наборе найдется формула ∈ USAT.
Таким образом задача принадлежности формулы языку SAT будет разрешаться за полиномиальное время с вероятностью большей ½, то есть SAT ∈ RP, следовательно, NP=RP.
Построение набора формул
Пусть формуле с n переменными соответствует n-битное число , которое кодирует значения переменных.
Выберем равновероятно случайным образом целое число из отрезка [0..n]. Определим число .
Выберем равновероятно случайным образом целые числа из отрезка [1..] и из отрезка [0..].
Добавим в набор формулу .