Xấp xỉ các vấn đề # P-hard


9

Hãy xem xét vấn đề # P-đầy đủ cổ điển # 3SAT, nghĩa là, để đếm số lượng định giá để tạo ra 3CNF với biến thỏa đáng. Tôi quan tâm đến tính gần đúng phụ gia . Rõ ràng, có một thuật toán tầm thường để đạt được 2 n - 1 -error, nhưng nếu k < 2 n - 1 , thì có thể có một thuật toán xấp xỉ hiệu quả hay không, hay vấn đề này cũng là # P-hard?n2n−1k<2n−1


Nếu , thì có một thuật toán đa thời gian với lỗi cộng gộp k . Nếu k = 2 n / p o l y ( n ) , thì sẽ có một thuật toán đa thời gian ngẫu nhiên với lỗi cộng gộp k . Khi k nhỏ hơn đáng kể (nhưng không phải là đa thức nhỏ), tôi sẽ mong đợi nó là NP-hard, nhưng không phải # P-hard, vì độ cứng #P thường phụ thuộc vào nó là một tính toán chính xác. k=2n−1−poly(n)kk=2n/poly(n)kk
— Thomas

Bạn có thể cung cấp tài liệu tham khảo cho hai yêu cầu đầu tiên? Xin lỗi tôi là người mới bắt đầu ...
— user0928

Câu trả lời:


10

Chúng tôi quan tâm đến các xấp xỉ phụ gia cho # 3SAT. tức là đã đưa ra 3CNF trên n biến đếm số lượng bài tập thỏa mãn (gọi đây là a ) cho đến lỗi cộng gộp k .ϕnak

Dưới đây là một số kết quả cơ bản cho việc này:

Trường hợp 1: k=2n−1−poly(n)

Ở đây có một thuật toán đa thời gian xác định: Đặt . Bây giờ hãy đánh giá ϕ trên m đầu vào tùy ý (ví dụ: đầu vào m đầu tiên theo từ vựng ). Giả sử ℓ của các đầu vào đáp ứng φ . Sau đó, chúng ta biết một ≥ ℓ như có ít nhất ℓ đáp ứng nhiệm vụ và một ≤ 2 n - ( m - ℓ )m=2n−2k=poly(n)ϕmmℓϕa≥ℓℓa≤2n−(m−ℓ)như có ít nhất bài tập không hài lòng. Chiều dài của khoảng thời gian này là 2 n - ( m - ℓ ) - ℓ = 2 k . Vì vậy, nếu chúng ta xuất ra trung điểm 2 n - 1 - m / 2 + ℓ thì đây là trong k câu trả lời đúng, theo yêu cầu.m−ℓ2n−(m−ℓ)−ℓ=2k2n−1−m/2+ℓk

Trường hợp 2: k=2n/poly(n)

Ở đây chúng ta có một thuật toán poly-thời gian ngẫu nhiên: Đánh giá tại m điểm ngẫu nhiên X 1 , ⋯ , X m ∈ { 0 , 1 } n . Đặt α = 1ϕmX1,⋯,Xm∈{0,1}nvàε=k/2n. Chúng tôi xuất2n⋅α. Để điều này có lỗi nhiều nhấtkchúng ta cầnk≥| 2nα-a| =2n| α-một/2n| ,tương đương với| α-một/2nα=1m∑i=1mϕ(Xi)ε=k/2n2n⋅αk

k≥|2nα−a|=2n|α−a/2n|,
Bởi mộtràng buộc của Chernoff, P [ | α - một / 2 n | > Ε ] ≤ 2 - Ω ( m ε 2 ) , như E [ φ ( X i ) ] = E [ α ] = một / 2 n . Điều này có nghĩa rằng, nếu chúng ta chọn m = O ( 1 / ε|α−a/2n|≤ε.
P[|α−a/2n|>ε]≤2−Ω(mε2),
E[ϕ(Xi)]=E[α]=a/2n (và đảm bảo m là lũy thừa bằng 2 ), sau đó với xác suất ít nhất là 0,99 , sai số nhiều nhất là k .m=O(1/ε2)=poly(n)m20.99k

Trường hợp 3: cho c < 1k=2cn+o(n)c<1

ψmn≥mk<2n−m−1n=O(m/(1−c))ϕ=ψϕnmψbϕb⋅2n−mn−ma^|a^−a|≤ka^ϕk

|b−a^/2n−m|=|a−a^2n−m|≤k2n−m<1/2.
bba^ba^

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.