Tại sao cần người giải TSP khi có người giải SAT?


7

Concorde TSP là một người giải quyết cho TSP. Người giải SAT là người giải quyết sự thỏa mãn của boolean. TSP và SAT hoàn thành NP.

Do đó, tại sao lại dành thời gian để phát triển TSP của Concorde khi có rất nhiều người giải SAT trên thị trường hồi đó?

Câu trả lời:


11

TL; DR : giảm đa thức làm tăng kích thước của một vấn đề; sử dụng một bộ giải cụ thể cho phép bạn khai thác cấu trúc của một vấn đề.

Khi bạn giảm một vấn đề NP-đầy đủ sang một vấn đề khác, kích thước của vấn đề thường phát triển đa thức. Ví dụ: khi bạn giảm HAMPATH trên biểu đồ có nút thành SAT, công thức kết quả có kích thước là (Tôi không nhớ về hằng số phát sinh trong TSP-> SAT thẳng tiến giảm). Nếu bạn sử dụng định lý Cook-Levin, thì sự tăng trưởng có thể còn lớn hơn bởi vì một máy Turing có thể có chi phí rất lớn (đa thức). NP-đầy đủ chủ yếu là một ý tưởng lý thuyết. Vì vậy, giảm thời gian đa thức. Nhiều bài viết lý thuyết chỉ nói rằng sự giảm bớt, không nói gì về mức độ thực tế của nó.nΘ(n3)

Chúng ta hãy giả định rằng TSP khó như SAT. Điều đó có nghĩa là cần có các tài nguyên tính toán tương tự để giải quyết TSP trên nút và SAT với mệnh đề nếu bạn sử dụng các bộ giải hiện đại cho từng vấn đề. Bây giờ thật dễ dàng để thấy rằng viết một bộ giải riêng biệt thực tế hơn là giảm vấn đề xuống SAT và sử dụng một số bộ giải SAT hiện có. Đó là tất cả về chi phí đa thức.nn

Có một điều nữa cần chú ý: các vấn đề chính xác thường đơn giản hơn các vấn đề rộng. Khi bạn giảm TSP xuống SAT, người giải SAT không biết gì về cấu trúc cơ bản của công thức. Và người giải quyết đặc biệt cho TSP, tất nhiên, đối phó với thực tế rằng đầu vào là một biểu đồ, vấn đề là tìm một con đường Hamilton ngắn nhất, v.v.

Mặc dù đối với một số vấn đề, việc giảm SAT có thể hợp lý, chủ yếu là nếu vấn đề không được nghiên cứu kỹ (và không có người giải quyết tuyệt vời) và khi giảm không làm tăng kích thước vấn đề lên nhiều. Người giải SAT vẫn rất mạnh cho nhiều mục đích thực tế.


1
Tôi nghĩ rằng đây thực chất là câu trả lời đúng. Tuy nhiên, có thể có sự giảm từ vấn đề này sang vấn đề khác chỉ làm tăng kích thước một chút. Ngoài ra, người giải SAT có thể thông minh và có thể phát hiện cấu trúc đặc biệt nếu mã hóa của vấn đề là phù hợp. Vì vậy, nó có thể đòi hỏi một chút công việc để xây dựng một người giải quyết vấn đề cụ thể đánh bại người giải SAT.
Juho
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.