Вопрос: Пусть порождает формулы. Имеет ли { М ( 1 л ) | п ∈ N ∧ М ( 1 л ) ∈ S Т } принадлежат P ?M∈ P F{ М( 1N) ∣ n ∈ N ∧ M( 1N) ∈ SА Т}п
s u c c i n c t SА ТЕ Е⟹ Да:
Предположение о генерации формул за полиномиальное время от означает, что формула может быть кратко задана. Вы хотите определить их выполнимость во времени n O ( 1 ) .1NNO ( 1 )
Учитывая мы можем найти n за полиномиальное время в | φ | , Тогда φ можно сформулировать кратко в lg n + O ( 1 ) битах, используя M и n . Мы можем использовать наши S U с с я п т С ТОГО алгоритмом в Е , чтобы решить это во время - О ( Л.Г. п ) = п выводаφ = М( 1N)N| φ |φЛ.Г.n + O ( 1 )MNев у с с я п т SА ТЕ .2O ( LGн )= nO ( 1 )
да :⟹s u c c i n c t SА ТЕ Е
Пусть й дан контур С в Унарном , М вычисляет строку сжатой формы , кодируемый C , и возвращает результат , если это формула и ⊥ в противном случае.M∈ P FСMС⊥
Предположим , что принадлежат Р . Для решения S U с с я н гр т S A T запишем данную сжатую формулу в Унарный , а затем использовать наше предположение , чтобы решить эту проблему.{ М( 1N) ∣ n ∈ N ∧ M( 1N) ∈ SА Т}пs u c c i n c t SА Т
Вопрос: Можем ли мы генерировать в полиномиальном времени пары экземпляр-решение для , чтобы экземпляр был сложным?SА Т
Мы должны уточнить, что мы подразумеваем под тем, что экземпляр является сложным, так как любой экземпляр сам по себе (теоретически) прост, поскольку его можно решить с помощью алгоритма, который всегда говорит «да», или алгоритма, который всегда говорит «нет». Мне кажется, что вы пытались обойти эту проблему, навязывая единообразие. Думая в криптографических терминах, без какой-либо информации, которая не раскрывается злоумышленнику, нет смысла прятать остальную часть вычислений, поскольку злоумышленник может смоделировать протокол.
Предположим, что у нас есть алгоритм полиномиального времени, который генерирует пары экземпляр-решение. Противник может использовать тот же алгоритм, чтобы найти ответ, если он знает и найти n несложно по формуле. Более разумный способ - использовать случайно выбранный секретный ключ, чтобы обойти это и ослабить условие твердости, чтобы оно было вероятностным: ни один алгоритм за полиномиальное время не может найти решение с высокой вероятностью (без знания секретного ключа).NN
Существует ли эффективные (детерминированный) алгоритм
таким образом, что дано случайно выбранный к ∈ { 0 , 1 } п ,
генерирует пару из SAT экземпляры ф к и его ответу ш к таким образом, что
не эффективно (вероятностный / неоднородный) алгоритм состязательного D
можно правильно решить SAT-экземпляры, сгенерированные A, с ничтожной вероятностью?A
k ∈ { 0 , 1 }N
φКвесК
D
A
Или более формально,
Существует ли такой, что для всех D ∈ P / p o l y , такой, что
S A T ( A ( k ) 1 ) = A ( k ) 2 для всех k и
P r k ∈ { 0 , 1 } n { D ( A ( k ) 1 ) = S A TA ∈ P FD ∈ P / p o l ySА Т( А ( к )1) = A ( k )2К
П рk ∈ { 0 , 1 }N{ D ( A ( k )1) = SА Т( А ( К)1) } < 1р о л у( н )
Легко видеть, что такую функцию можно превратить в одностороннюю функцию, как если бы было легко найти из φ k, тогда мы можем найти ответ, вычислив A ( k ) 2 .КφКA ( k )2
С другой стороны, пусть - односторонняя функция. Мы можем выразить f ( x ) = y как схему полиномиального размера, так как f вычислима за полиномиальное время (и мы можем превратить ее в формулу, вводя новые переменные для всех вентилей и локально применяя условие для правильности вычисления как в переводе Цзяня). Рассмотрим y как параметр и обозначим полученную формулу как φ f , y ( x ) . Мы можем спросить, существует ли x, удовлетворяющий φ f , y ( x )ее( Х ) = уеYφе, у( х )Иксφе, у( х ), Любой алгоритм за полиномиальное время, решающий эти экземпляры с пренебрежимо малой вероятностью, нарушит одностороннюю функцию f . Однако здесь используется тот факт, что противник должен найти свидетеля, а не только тот факт, что формула выполнима или нет (но я думаю, что мы можем обойти эту проблему, используя жесткую часть f ).SА Тее
См. Также главы 29 и 30 книги Яна Крайчека «Форсирование со случайными переменными», 2011 год, о генераторах сложности доказательств .