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


9

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


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

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

Ответы:


10

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

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

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

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

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

Здесь у нас есть рандомизированный алгоритм поли-времени: Оценить ϕ в m случайные точки X1,⋯,Xm∈{0,1}n, Позволятьα=1m∑i=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переменные. Выбиратьn≥m такой, что k<2n−m−1 -- это требует n=O(m/(1−c)), Позволятьϕ=ψ Кроме ϕ сейчас на n переменные, а не m, Еслиψ имеет b выполняя задания, то ϕ имеет b⋅2n−m удовлетворяющих заданий, как n−m«Свободные» переменные могут принимать любое значение в удовлетворительном присваивании. Теперь предположим, что у нас естьa^ такой, что |a^−a|≤k -- это a^ является приближением к числу удовлетворяющих заданий ϕ с аддитивной ошибкой k, затем

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

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