Я считаю, что мы можем показать:
Запрос. Существует значение такое, что верно следующее. Предположим, что существует детерминированный многополосный алгоритм, который, учитывая пункт 3-SAT instance , выводит список не более чем из значений, таких что ; тогда иерархия полиномов разрушается.m ϕ S m c M ( ϕ ) ∈ S0<c<1mϕSmcM(ϕ)∈S
В доказательстве использованы результаты Fortnow и Santhanam о невозможности сжатия экземпляров из их статьи
http://www.cs.uchicago.edu/~fortnow/papers/compress.pdf
В частности, глядя на их доказательство Thm 3.1, я считаю, что можно извлечь следующее (я проверю это в ближайшее время):
«Теорема» [ФС]. Существуют целые числа , так что верно следующее. Предположим, что в детерминированном поли-времени можно преобразовать ИЛИ из булевых формул (каждая из длины и на непересекающихся наборах переменных) в ИЛИ из формул (снова переменная-дизъюнкт и длины ), сохраняя выполнимость / неудовлетворенность OR. Тогда и иерархия полиномов разрушается.0<d′<dnd≤nnd′≤nNP⊆coNP/poly
Доказательством нашего утверждения будет сокращение задачи OR-сжатия, упомянутой в приведенной выше теореме [FS], до задачи вычисления списка . Предположим, что - это список формул, чье ИЛИ мы хотим сжать.M(ϕ)ψ1,…,ψnd
Первый шаг: определите схему полиномиального размера для входных строк . Здесь строка кодирует присвоение , а кодирует число от до .Γ(v,y1,…,ynd)yiψiv∈{0,1}dlogn+10nd
Мы принимаем если либо , либо .Γv=0ψv(yv)=1
Теперь пусть обозначает максимальное значение , такое что ограниченная схема выполнима. (Это количество всегда не менее 0).M∗(Γ)vΓ(v,⋅,…,⋅)
Предположим, что мы можем эффективно создать список возможных значений для . Тогда утверждается, что в нашем списке мы можем выбросить все для которых ; результирующий список содержит выполнимую формулу, если исходный. Я надеюсь, что это ясно из проверки.SM∗(Γ)ψ1,…,ψndψii∉S
Вывод: мы не можем надежно создать список из возможных значений для , если иерархия поли не разрушится.S≤nd′M∗(Γ)
Второй шаг: мы сводим задачу вычисления списков к проблеме вычислений списков для экземпляров 3-SAT .M∗(Γ)M(ϕ)ϕ
Для этого мы сначала запускаем редукцию Кука на чтобы получить экземпляр 3-SAT размером . имеет тот же набор переменных, что и , вместе с некоторыми вспомогательными переменными. Наиболее важно для наших целей, выполнимо тогда и только тогда, когда выполнимо.Γϕ1m=poly(nd)ϕ1Γϕ1(v,⋅)Γ(v,⋅)
Мы называем "сильными ограничениями". Мы даем каждому из этих ограничений вес (добавляя дублирующие ограничения). 2 мϕ12m
Затем мы добавляем набор «слабых ограничений» который добавляет предпочтение тому, чтобы индекс (определенный на шаге 1) был как можно выше. Для каждого бита из существует одно ограничение , а именно . Мы позволили му наиболее значимому биту иметь ограничение веса . Поскольку имеет длину , эти веса можно сделать интегральными (нам просто нужно дополнить, чтобы было степенью 2). v v t v [ v t = 1 ] t v m / 2 t - 1ϕ2vvtv[vt=1]tvm/2t−1d log n + 1 мvdlogn+1m
Наконец, пусть будет выводом нашей редукции.ϕ=ϕ1∧ϕ2
Чтобы проанализировать , пусть - набор переменных , с как и раньше. Прежде всего обратите внимание, что при любом назначении можно вывести значение из величины
(общий вес ограничений, удовлетворяемых ).
Это следует из иерархического дизайна весов ограничений (аналогично методике из ответа Луки). Точно так же максимально достижимое значение достигается установкой которая удовлетворяет всем строгим ограничениям, и где (при условии)( v , z ) ϕ v ( v , z ) v N ( v , z ) = ϕ v , z M ( ϕ ) (ϕ(v,z)ϕv(v,z)vN(v,z)=ϕv,z
M(ϕ)(v,z)vнастолько велика, насколько это возможно. Это самый большой индекс, для которого выполнимо , а именно . (Обратите внимание, что, установив all-0, всегда можно удовлетворить все строгие ограничения, поскольку в этом случае выполнимо.)vΓ(v,⋅)M∗(Γ)v=Γ(v,⋅)
Отсюда следует, что, если нам дан список возможных значений , мы можем получить списоквозможные значения . Таким образом, мы не можем иметь если иерархия поли не рухнет. Это дает Требование, так как .M ( ϕ ) | S | M ∗ ( Γ ) | S | ≤ n d ′ n d ′ = m Ω ( 1 )SM(ϕ)|S|M∗(Γ)|S|≤nd′nd′=mΩ(1)