近似#P难题


9

考虑经典的#P-完全问题#3SAT,即计算使3CNF与 n变量可以满足。我对加法近似性感兴趣。显然,有一个简单的算法可以实现2n1-错误,但是如果 k<2n1,是否可能有一个有效的近似算法,还是这个问题也是#P-hard?


如果 k=2n1poly(n),那么有一个具有加法误差的多重时间算法 k。如果k=2n/poly(n),那么将会有一个带有加性误差的随机多时间算法 k。什么时候k明显较小(但不是多项式较小),我希望它是NP-hard,而不是#P-hard,因为#P硬度通常取决于它是精确的计算。
托马斯

您能为前两个索赔提供参考吗?抱歉,我是初学者...
user0928

Answers:


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|ε.Chernoff边界
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 是整数,这意味着我们可以确定的确切值 ba^。通过算法确定的准确值b需要解决#P-完全问题#3SAT。这意味着它很难计算a^

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.