Có phải tất cả các thuật toán đã biết để giải quyết các vấn đề NP-đầy đủ mang tính xây dựng?


11

Có bất kỳ thuật toán đã biết nào đưa ra chính xác "có" cho một vấn đề hoàn thành NP mà không tạo ra chứng chỉ không?

Tôi hiểu rằng thật đơn giản để biến một nhà tiên tri thỏa mãn thành một công cụ tìm sự phân công thỏa mãn: chỉ cần lặp lại các biến, mỗi lần yêu cầu nhà tiên tri thỏa mãn để giải quyết sự kết hợp của biến đó với vấn đề ban đầu.

Nhưng một bao bọc như vậy bao giờ sẽ hữu ích? Có phải tất cả các bộ giải sat tìm kiếm trong không gian của các bài tập có thể?

Hoặc có một số loại bài toán hoàn thành NP (nhân viên bán hàng du lịch, tổng tập hợp con, v.v.) trong đó người giải có thể, nói, khai thác một định lý toán học để chứng minh rằng một giải pháp phải tồn tại? Giống như làm một bằng chứng bằng mâu thuẫn?

Câu trả lời:


11

Theo tôi hiểu, bạn đang đặt ra hai câu hỏi: (1) có các thuật toán SAT thông minh hơn lực lượng vũ phu ngây thơ và (2) có các thuật toán chỉ đưa ra câu trả lời CÓ / KHÔNG khi giải bài toán hoàn thành NP mà không thực sự tìm ra giải pháp. Tôi sẽ trả lời cả hai câu hỏi theo thứ tự này.

(1) Hoàn toàn có thể giải quyết vấn đề mà không cần vũ lực, tức là không ngây thơ thử mọi khả năng. Lấy ví dụ của bạn, người giải SAT hoàn chỉnh hiện đại có thể áp dụng các thuật toán thông minh suy ra hoặc chứng minh các bài tập (một phần) nhất định không thể dẫn đến một giải pháp, vì vậy họ thậm chí không kiểm tra phần đó.

Tổng quát hơn, ngay cả các bài toán NP-hard thường thể hiện một số loại chỗ đứng thuật toán cho phép chúng tôi thiết kế thuật toán nhanh hơn lực lượng vũ phu. Lĩnh vực nghiên cứu này là thuật toán chính xác (theo cấp số nhân) . Các thuật toán như vậy mất thời gian theo cấp số nhân, nhưng vẫn nhanh hơn các thuật toán ngây thơ. Chẳng hạn, bạn có thể giải TSP trong khoảngthời gian, trong đó là số lượng thành phố đến thăm. Phương pháp này sẽ không mở rộng đến các giá trị vừa phải của , nhưng có một thuật toán thời gian lập trình động cổ điển do Held & Karp . Đối với các kỹ thuật chung, xem ví dụ chi nhánh và ràng buộc .n n O ( 2 n n 2 )n!nnO(2nn2)

(2) Có "thuật toán tiên tri" cho các vấn đề hoàn thành NP chỉ xuất ra CÓ / KHÔNG mà không có chứng chỉ rõ ràng. Ví dụ, hãy xem xét vấn đề -path:k

(Bài toán -path)k Cho đồ thị và số nguyên , có một đường dẫn đơn giản trong trên các đỉnh không?k G kGkGk

Vấn đề trên có thể dễ dàng nhận thấy là NP-Complete. Một thuật toán cho các vấn đề được đưa ra trong [1]. Thuật toán tự nó chỉ đưa ra câu trả lời CÓ / KHÔNG cho vấn đề, nhưng chúng ta có thể sử dụng các thủ thuật bổ sung để xây dựng chính -path thực tế . Tổng quát hơn, khi được đưa ra một "thuật toán tiên tri" như vậy, người ta có thể sử dụng các công cụ từ thử nghiệm nhóm tổ hợp để trích xuất chính nhân chứng.kO(2k)k


[1] Williams, Ryan. "Tìm đường dẫn có độ dài trong thời gian ." Thư xử lý thông tin 109.6 (2009): 315-318. liên kết nhà xuất bản , PDFO ( 2 k )kO(2k)


Hoàn hảo. Bài báo k-path chính xác là thứ tôi đang tìm kiếm. Cảm ơn!
dùng82928
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.