Sự phức tạp của Median-SAT là gì?


14

Hãy là một công thức với CNF n biến và m khoản. Hãy t { 0 , 1 } n đại diện cho một nhiệm vụ khác nhau và f φ ( t ) { 0 , ... , m } đếm số lượng các điều khoản thoả mãn bởi một nhiệm vụ biến φ . Sau đó, xác định Median-SAT là bài toán tính giá trị trung bình của f φ ( t ) trên tất cả t { 0 , 1φnmt{0,1}nfφ(t){0,,m}φfφ(t) . Ví dụ: nếu φ là một tautology thì giải pháp cho Median-SAT sẽ là m vì bất kể phân công mọi mệnh đề sẽ được thỏa mãn. Tuy nhiên, trong trường hợp ¯ S A T , giải pháp cho Median-SAT có thể nằm trong khoảng từ 0 đến m - 1 .t{0,1}nφmSAT¯0m1

Câu hỏi này xuất hiện khi tôi đang cân nhắc hai phần mở rộng tự nhiên của SAT, MAX-SAT và #SAT, và khó khăn của vấn đề kết quả sẽ là gì nếu chúng được đặt cùng nhau. Đối với MAX-SAT chúng ta phải tìm ra một phân biến đặc biệt để tối đa hóa số lượng các biến hài lòng bởi . Đối với #SAT chúng ta phải đếm bao nhiêu bài tập làm hài lòng tất cả m khoản của φ . Biến thể này kết thúc chủ yếu dưới dạng phần mở rộng của #SAT (và trên thực tế là #WSAT ), nhưng vẫn giữ một số hương vị của MAX-SAT trong đó chúng tôi đếm số mệnh đề thỏa mãn thay vì chỉ quyết định liệu chúng có hài lòng hay không không phải.φmφ

Vấn đề này có vẻ khó hơn #SAT hoặc #WSAT. Đối với mỗi #SAT giao biến quyết vấn đề Boolean liệu rằng việc chuyển nhượng thỏa mãn hay không trong khi trung bình-SAT xác định "đến mức độ nào" φ được thỏa mãn về mặt số điều khoản mà chuyển nhượng thỏa mãn.φφ

Tôi nhận ra rằng vấn đề này có phần tùy tiện; tính toán số mệnh đề trung bình hoặc chế độ được thỏa mãn bởi mỗi phép gán biến dường như có cùng chất lượng. Có lẽ nhiều vấn đề khác làm quá.

Vấn đề này đã được nghiên cứu, có lẽ dưới một chiêu bài khác? Nó khó như thế nào so với #SAT? Tôi không rõ ràng về một tiên nghiệm rằng Median-SAT thậm chí còn được chứa trong FPSPACE, mặc dù nó dường như được chứa trong FEXPTIME.


3
Đó là trong : cho mỗi k m chúng ta có thể đếm số lượng các nhiệm vụ đáp ứng ít nhất k khoản sử dụng oracle #P. FP#PFPSPACEkmk
Colin McQuillan

1
@Colin biến điều này thành câu trả lời?
Suresh Venkat

Vâng, điều này sẽ làm cho một câu trả lời tốt. Bạn có thể xây dựng trên làm thế nào để truy vấn oracle #P để kiểm tra xem khoản được hài lòng? Tôi không thể tìm ra cách để làm điều đó một cách hiệu quả. km
Huck Bennett

@Tsuyoshi, định nghĩa SAT của bạn là gì? Có phải chúng ta cho phép lặp lại các mệnh đề? hoặc bằng chữ và / hoặc biến trong một mệnh đề đã cho? Bởi vì nếu bạn không cho phép lặp lại các chữ và / hoặc biến trong một mệnh đề đã cho, bạn không thể có công thức CNF là một tautology ..
Tayfun Trả tiền

@Tayfun - Tôi thực sự đã hỏi câu hỏi này, Tsuyoshi đã giúp với một chỉnh sửa nhỏ. Bạn nói đúng về một tautology trong một công thức CNF đòi hỏi phải lặp lại bằng chữ. Bất kỳ biến thể SAT nào cũng sẽ thú vị, sự lặp lại của CNF-SAT với các mệnh đề (trong trường hợp tautology là không thể), hoặc có thể nói chung là CIRCUIT-SAT. Tôi không nghĩ rằng sự lựa chọn này thay đổi hương vị của câu hỏi.
Huck Bennett

Câu trả lời:


13

Cho một ví dụ về SAT, một số nguyên và một phép gán biến, chúng ta có thể quyết định trong thời gian đa thức xem các mệnh đề k có được thỏa mãn hay không, chỉ đơn giản bằng cách đếm số mệnh đề được thỏa mãn và kiểm tra xem số đó có bằng k không . Do đó, chúng ta có thể tính tổng số các xác định biến đổi thỏa mãn chính xác các mệnh đề k bằng cách sử dụng một lời tiên tri #P .kkkk

Vì vậy, giống như Max-SAT, Median-SAT có thể được tính toán trong thời gian đa thức bằng cách sử dụng một tiên tri Điều này cho thấy vấn đề là trong F P # PF P S P Một C E .#PFP#PFPSPACE


Bạn hoàn toàn đúng. Đây là một lập luận rất rõ ràng và tôi đoán khá rõ ràng từ định nghĩa của #P. Tôi đã học được điều gì đó.
Huck Bennett

1
k#P#PFP#P

3

Vấn đề này có thể được giải quyết bằng cách sử dụng lgm+1 lời kêu gọi của một nhà tiên tri cho MAJSAT.

Để cho M(φ) biểu thị giá trị trung bình mong muốn cho φ. Cho cố địnhk, xác định công thức ψk vì vậy nó đúng cho sự phân công x iff x đáp ứng ít nhất k các mệnh đề của φ. Lưu ý rằng đã choφ ở dạng CNF và được đưa ra k, bạn có thể dễ dàng xây dựng ψk ở dạng CNF trong thời gian đa thức.

Bây giờ giả sử chúng ta đã có một lời sấm truyền cho MAJSAT. Truy vấn nó trên công thứcψk sẽ cho chúng tôi biết liệu phần lớn các bài tập làm công thức ψk đúng, hoặc tương đương, cho dù M(φ)k. Vì vậy, để họcM(φ), áp dụng tìm kiếm nhị phân (bắt đầu với k= =m/2, sau đó tăng hoặc giảm ktheo kết quả từ nhà tiên tri). Saulgm+1 Lặp lại, tìm kiếm nhị phân cho thấy giá trị của M(φ). Mỗi lần lặp lại yêu cầu một truy vấn đến lời tiên tri của chúng tôi về MAJSAT.

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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.