Аппроксимация # P-сложные проблемы


9

Рассмотрим классическую # P-полную задачу # 3SAT, т. Е. Посчитаем количество оценок, чтобы сделать 3CNF с переменными выполнимыми. Меня интересует аддитивная аппроксимируемость. Ясно, что существует тривиальный алгоритм для достижения -ошибки, но если , возможно ли иметь эффективный алгоритм аппроксимации, или эта проблема также является # P-трудной ?n2n1k<2n1


Если , то существует многовариантный алгоритм с аддитивной ошибкой . Если , то будет рандомизированный многовременный алгоритм с аддитивной ошибкой . Когда значительно меньше (но не полиномиально мало), я ожидаю, что оно будет NP-сложным, но не # P-сложным, поскольку твердость #P обычно зависит от того, является ли он точным вычислением. k=2n1poly(n)kk=2n/poly(n)kk
Томас

Не могли бы вы предоставить ссылку на первые две претензии? Извините, я новичок ...
user0928

Ответы:


10

Нас интересуют аддитивные приближения к # 3SAT. т.е. дан 3CNFϕ на n переменные подсчитывают количество удовлетворяющих заданий a) до аддитивной ошибки k,

Вот некоторые основные результаты для этого:

Дело 1: k=2n1poly(n)

Здесь есть детерминированный многовременный алгоритм: Пусть m=2n2k=poly(n), Сейчас оценитеϕ на m произвольные входные данные (например, лексикографически первый mвходы). предполагать из этих входов удовлетворяют ϕ, Тогда мы знаемa как минимум удовлетворяющие задания и a2n(m) как минимум mнеудовлетворительные задания. Длина этого интервала2n(m)=2k, Так что, если мы выведем среднюю точку2n1m/2+ это внутри k правильного ответа, как требуется.

Случай 2: k=2n/poly(n)

Здесь у нас есть рандомизированный алгоритм поли-времени: Оценить ϕ в m случайные точки X1,,Xm{0,1}n, Позволятьα=1mi=1mϕ(Xi) а также ε=k/2n, Мы выводим2nα, Для того, чтобы это было не болееk нам нужно

k|2nαa|=2n|αa/2n|,
что эквивалентно |αa/2n|ε.По Чернову связаны ,
P[|αa/2n|>ε]2Ω(mε2),
в виде E[ϕ(Xi)]=E[α]=a/2n, Это подразумевает, что если мы выберемm=O(1/ε2)=poly(n) (и обеспечить m это сила 2), то с вероятностью не менее 0.99ошибка не более k,

Случай 3: k=2cn+o(n) за c<1

В этом случае проблема # P-hard: мы сделаем сокращение от # 3SAT. Возьми 3CNFψ на mпеременные. Выбиратьnm такой, что k<2nm1 -- это требует n=O(m/(1c)), Позволятьϕ=ψ Кроме ϕ сейчас на n переменные, а не m, Еслиψ имеет b выполняя задания, то ϕ имеет b2nm удовлетворяющих заданий, как nm«Свободные» переменные могут принимать любое значение в удовлетворительном присваивании. Теперь предположим, что у нас естьa^ такой, что |a^a|k -- это a^ является приближением к числу удовлетворяющих заданий ϕ с аддитивной ошибкой k, затем

|ba^/2nm|=|aa^2nm|k2nm<1/2.
поскольку b является целым числом, это означает, что мы можем определить точное значение b от a^, Алгоритмическое определение точного значенияbвлечет за собой решение # P-полной задачи # 3SAT. Это означает, что это # ​​P-трудно вычислитьa^,

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.