Рассмотрим классическую # P-полную задачу # 3SAT, т. Е. Посчитаем количество оценок, чтобы сделать 3CNF с переменными выполнимыми. Меня интересует аддитивная аппроксимируемость. Ясно, что существует тривиальный алгоритм для достижения -ошибки, но если , возможно ли иметь эффективный алгоритм аппроксимации, или эта проблема также является # P-трудной ?
9
Ответы:
Нас интересуют аддитивные приближения к # 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∑mi=1ϕ(Xi) а также ε=k/2n , Мы выводим2n⋅α , Для того, чтобы это было не более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 , затем
источник
Вот ссылка на Bordewich, Freedman, Lovász и Welsh, которая развивает эту тему в некоторой степени.
источник