2011-08-09 27 views
12

(Tôi xin lỗi nếu đây là trang web sai cho câu hỏi này, nhưng cho rằng có nhiều câu hỏi lý thuyết "không-đủ-cho-CS-lý thuyết" trôi nổi ở đây, tôi nghĩ rằng điều này có thể phù hợp . Xin vui lòng để di chuyển này nếu nó không phù hợp.)Chứng minh rằng sự cố tạm dừng là NP-hard?

trong this answer cho một câu hỏi về các định nghĩa của NP, NP-khó, và NP-đầy đủ, Jason làm cho tuyên bố rằng

các vấn đề ngăn chặn là vấn đề NP-hard cổ điển. Đây là vấn đề đưa ra một chương trình P và đầu vào I, nó sẽ dừng lại? Đây là một vấn đề quyết định nhưng nó không nằm trong NP. Rõ ràng là bất kỳ vấn đề NP-complete nào cũng có thể được giảm xuống mức này.

Mặc dù tôi đồng ý rằng vấn đề dừng lại là vấn đề "khó khăn" hơn bất kỳ thứ gì trong NP, tôi thực sự không thể đưa ra bằng chứng chính thức, toán học rằng sự cố tạm dừng là NP-hard. Đặc biệt, tôi dường như không thể tìm thấy một ánh xạ nhiều đối một thời gian đa thức từ các trường hợp của mọi vấn đề trong NP (hoặc ít nhất, bất kỳ vấn đề NP-complete đã biết) nào về vấn đề dừng.

Có bằng chứng đơn giản nào cho thấy sự cố tạm dừng là NP-hard không?

Trả lời

28

Chúng tôi bắt đầu bằng cách lưu ý rằng tất cả các vấn đề NP-complete đều có thể giảm xuống 3SAT. Bây giờ chúng ta có một máy Turing lặp lại trên tất cả các bài tập có thể, và nếu một bài tập thỏa mãn không được tìm thấy thì nó sẽ chạy mãi mãi. Máy này tạm dừng nếu và chỉ khi thể hiện 3SAT thỏa mãn.

Hoàn thành bằng chứng - chúng tôi có thể, trong thời gian đa thức, giảm bất kỳ trường hợp nào của vấn đề NP-complete xuống 3SAT. Từ đó, chúng ta có thể giảm vấn đề này thành một thể hiện của sự cố dừng bằng cách ghép nối đầu vào với một mô tả về máy Turing được mô tả ở trên (có kích thước không đổi). Việc ghép đôi này có thể được thực hiện trong thời gian đa thức, bởi vì máy Turing chỉ có kích thước không đổi. Sau đó, vấn đề NP-hoàn thành ban đầu đã trả lời "có" iff 3SAT dụ là thỏa đáng iff các máy Turing tạm dừng trên đầu vào nhất định.

+1

Cảm ơn rất nhiều! Tôi đã bỏ lỡ bước trung gian giới thiệu TM giải quyết vấn đề. – templatetypedef

+3

Sự cố tạm dừng nổi tiếng là không thể giải quyết được, vậy làm cách nào để có một thuật toán quyết định trong thời gian NP-complete? – djhaskin987

+2

@ djhaskin987 Vấn đề dừng không phải là NP-hoàn chỉnh (bởi vì, như bạn lưu ý, nó không phải là decidable do đó không phải trong NP), nhưng nó là NP-cứng (có nghĩa là, ít nhất là cứng như tất cả mọi thứ trong NP sau một đa thức- giảm thời gian) vì mọi vấn đề quyết định đều có thể giảm xuống. –

Các vấn đề liên quan