Есть ли NP-полный язык, который содержит ровно половину n-битных экземпляров?

25

Есть ли (желательно натурального) NP-полный язык L{0,1} , такое , что для любого имеет место ? Другими словами, содержит ровно половину всех битных экземпляров.n1

|L{0,1}n|=2n1
Ln
Андрас Фараго
источник
4
Было бы очень удивительно, если бы не было, но, думая об этом в течение нескольких минут, не мог найти конструкцию.
Каве
2
FWIW есть такой L который является NP-трудным и в NP / POLY ...
Нил Янг
Для биективного двоичного кодирования e формул CNF {e(φ)1 | φ выполнимо }{e(φ)0 | φ неудовлетворительно } должно работать.
Клаус Дрегер
4
@KlausDraeger Неудовлетворенность не является свойством NP, если только NP = co-NP.
Андрас Фараго
Есть ли оракул таким образом, что не существует LN P - C о м п л е т е О с этим свойством? OLNPCompleteO
Эрфан Ханики

Ответы:

24

Я задал этот вопрос несколько лет назад, и Вооз Барак положительно ответил на него .


Это утверждение эквивалентно существованию NP-полного языка где | L n | вычисляется за полиномиальное время.L|Ln|

Рассмотрим булевы формулы и SAT. Использование отступов и слегка изменив кодировку формул мы можем убедиться , что и ¬ φ имеют одинаковую длину.φ¬φ

Пусть быть кодировка, 

  • для всех формул и для любого задания истинности τ { 0 , 1 } | φ | , | Ф | = | Ф , т | ,φτ{0,1}|φ||φ|=|φ,τ|
  • вычисляется за полиномиальное время.|φ||φ|
  • число формул с закодированной длиной вычисляется за полиномиальное время.n

Рассмотрим

L:={φφSAT}{φ,ττφ and σ<τ σφ}

Легко видеть, что является NP-полной.L

Если , то число истинных назначений, удовлетворяющих τ φ  и  σ < τ σ φ , равно числу удовлетворяющих истинных назначений - 1 . Добавление φ само по себе добавляет к числу удовлетворяющих истинных назначений для φ .φSAT

τφ and σ<τ σφ
1φφ

Есть Истина назначения. Каждый τ либо удовлетворяет φ, либо ¬ φ (а не оба). Для каждой формулы ф , рассмотрим 2 ( 2 | ф | + 1 ) строки φ , ¬ φ , φ , т и ¬ φ , т для т { 0 ,2|φ|τφ¬φφ2(2|φ|+1)φ¬φφ,τ¬φ,τ, Именно 2 | φ | из этих 2 | φ | + 1 + 2 строки находятся в L . Это означает, что количество строк длины n в L - это число формул φ кодированной длины n, умноженное на 2 | φ | который полиномиального времени вычислим.τ{0,1}|φ|2|φ|2|φ|+1+2LnLφn2|φ|

Райан О'Доннелл
источник
10
Даже если это желаемое решение, это явно ответ только на ссылку.
user2943160 26.11.16
чтобы быть ясным, в SAT нет ничего особенного, это будет работать с любым предикатом верификатора для NP-полной задачи.
Каве
@Kaveh, разве вы не используете здесь конкретное свойство SAT, чтобы экземпляры приходили парами , ¬ ϕ так , что любой данный свидетель τ является свидетелем ровно одного из двух в паре? Как бы вы это сделали, например, 3-ЦВЕТ? ϕ¬ϕτ
Нил Янг
@Neal, пусть V (x, y) - верификатор для NP-полной задачи. Рассмотрим W (x, b, y): = V (x, y) = b. Он все еще NP-завершен, и каждый y является свидетелем либо для x, 0, либо для x, 1. Не так хорошо, как SAT, хотя.
Каве
@Kaveh, например, с SAT вы предлагаете Но это в P, и если вы попытаетесь это исправить, взяв объединение, скажем, с B = { ( ϕ , b ) : τ S A T b = 1 } , объединение A B
A={(ϕ,b,τ):(τ satisfies ϕ)b=1}?
B={(ϕ,b):τSATb=1}ABкак NP-hard, так и co-NP-hard (скорее всего, не в NP). РЕДАКТИРОВАТЬ: О, я понимаю, вы хотите взять объединение с, скажем, C = { ( ϕ , b ) : τ . [ ( τ  удовлетворяет  ϕ ) b = 1 ] } ...AC={(ϕ,b):τ. [(τ satisfies ϕ)b=1]}
Нил Янг
8

Вот предложение о том, почему может быть трудно привести пример такого рода, хотя я согласен с комментарием Каве, что было бы удивительно, если бы его не было. [Не ответ, но слишком долго для комментария.]

Предположу , что кто - то, скажем , меня, приходит с таким языком . Для меня это естественный способ доказать, что L = n : = | L { 0 , 1 } n | = 2 п - 1 является явно построить взаимно однозначное соответствие между L { 0 , 1 } п и { 0 , 1 } пл . Так как я лично не могу решать случаи Н ПLL=n:=|L{0,1}n|=2n1L{0,1}n{0,1}nLNPВ трудных задачах большинство «простых» биекций, которые я придумаю, будут иметь вид « - биекция, сохраняющая длину, и x L тогда и только тогда, когда f ( x ) L. " Кроме того, я, вероятно, придумаю такое f , которое вычисляется за полиномиальное время. Но тогда N P = c o N P , так как f - это сокращение от N Pf:{0,1}{0,1}xLf(x)LfNP=coNPfNP-полный набор в -полный.coNP

Конечно, это возражение можно обойти, просто «сделав», что вычисление биекции будет сложнее, чем это. Если ваша биекция занимает экспоненциальное время - скажем, и ее обратное значение может быть -hard - тогда, я думаю, вы достаточно безопасны. Но если это займет, скажем, квазиполиномиальное время, то обратите внимание, что вы все равно получите следствие c o N PN T I M E ( 2 ( log n ) O ( 1 ) ) = : N Q P , из которого Я полагаю, что это следует из простой индукции с аргументом заполнения, которыйEXPcoNPNTIME(2(logn)O(1))=:NQP . Теперь, если вы полагаете, что предыдущее ограничение просто ложно, то никакая такая квазиполисременная вычисляемая биекция не сможет вас спасти. Но даже если вы верите, что это может быть правдой, то, придумав такую ​​биекцию, вы докажете P HN Q P , что, по-видимому, выходит за рамки современных знаний ...PHNQPPHNQP

Возражение также можно обойти, просто не имея такой биекции, но тогда кажется сложнее увидеть, как доказать, что обладает желаемым свойством в первую очередь ... И на самом деле, даже если ваше доказательство не является биекция, вам нужно, чтобы такой легко вычислимой биекции даже не существовало.L

Конечно, это также тот тип вещей, когда кто-то придет с примером, и мы легко увидим, как это обойдется, но я просто хотел показать это, чтобы сказать, как что-то с достаточно простой биекцией может не работает (если широко распространенные убеждения не являются ложными).

(Смежный вопрос: есть ли оракул, относительно которого нет такого ?)L

Джошуа Грохов
источник