Người ta có thể hiển thị độ cứng NP bằng cách giảm Turing không?


19

Trong bài báo Phức tạp về vấn đề Frobenius của Ramírez-Alfonsín, một vấn đề đã được chứng minh là hoàn thành NP bằng cách sử dụng giảm Turing. Điều đó có thể không? Thật là chính xác? Tôi nghĩ rằng điều này chỉ có thể bởi một thời gian đa thức nhiều giảm một. Có bất kỳ tài liệu tham khảo về điều này?

Có hai khái niệm khác nhau về độ cứng NP, thậm chí độ hoàn thiện NP? Nhưng sau đó tôi bối rối, bởi vì từ quan điểm thực tế, nếu tôi muốn chỉ ra rằng vấn đề của tôi là NP-hard, tôi sẽ sử dụng cái nào?

Họ bắt đầu mô tả như sau:

Thời gian đa thức Turing giảm từ một vấn đề sang một vấn đề khác là một thuật toán A giải quyết bằng cách sử dụng một chương trình con giả thuyết A 'để giải sao cho, nếu A' là thuật toán thời gian đa thức cho thì A sẽ là một thời gian đa thức thuật toán cho . Chúng tôi nói rằng P_1 có thể được Turing giảm xuống P_2 .P 2 P 1 P 2 P 2 P 1 P 1 P 2P1P2P1P2P2P1P1P2

Một vấn đề P1 được gọi là NP-hard (Turing) nếu có vấn đề về quyết định hoàn thành NP P2 sao cho P2 có thể được Turing giảm xuống P1 .

Và sau đó, họ sử dụng mức giảm Turing như vậy từ một vấn đề hoàn thành NP để hiển thị tính đầy đủ NP của một số vấn đề khác.

Câu trả lời:


17

Có (ít nhất) hai khái niệm khác nhau về độ cứng NP. Khái niệm thông thường, trong đó sử dụng giảm Karp, khẳng định rằng một ngôn ngữ là NP-hard nếu mọi ngôn ngữ trong NP Karp-giảm tới . Nếu chúng ta thay đổi mức giảm Karp thành mức giảm Cook, chúng ta sẽ có một khái niệm khác. Mọi ngôn ngữ là Karp-NP-hard cũng là Cook-NP-hard, nhưng điều ngược lại có lẽ là sai. Giả sử rằng NP là khác nhau từ Co-NP, và đưa yêu thích NP-đầy đủ ngôn ngữ của bạn . Thì phần bổ sung của là Cook-NP-hard chứ không phải Karp-NP-hard.L L LLLLL

Lý do là Cook-NP-hard là như sau: lấy bất kỳ ngôn ngữ trong NP. Vì là NP-hard, nên có một hàm polytime sao cho iff iff . Việc giảm Cook từ thành lấy , tính , kiểm tra xem và đưa ra kết luận ngược. MLfxMf(x)Lf(x) ¯ L M ¯ L xf(x)f(x) ¯ LL¯MLfxMf(x)Lf(x)L¯ML¯xf(x)f(x)L¯

Lý do không phải là NP-hard (giả sử NP khác với coNP) là như sau. Giả sử là NP-hard. Sau đó, với mọi ngôn ngữ trong coNP, có một mức giảm đa thời gian sao cho iff , hay nói cách khác, iff . Vì nằm trong NP, điều này cho thấy nằm trong NP và do đó coNP NP. Điều này ngay lập tức ngụ ý rằng NP coNP, và vì vậy NP = coNP.¯ L ML¯L¯MfxM¯f(x)L¯xMf(x)LLM

Nếu một số ngôn ngữ Nấu-NP-hard là trong P, sau đó P = NP: đối với bất kỳ ngôn ngữ trong NP, sử dụng giảm Cook để đưa ra một thuật toán polytime cho . Vì vậy, theo nghĩa đó, các ngôn ngữ Cook-NP-Complete cũng là "khó nhất trong NP". Mặt khác, dễ dàng nhận thấy rằng Cook-NP-hard = Cook-coNP-hard: giảm Cook cho có thể được chuyển đổi thành giảm Cook cho . Vì vậy, chúng tôi mất một số độ chính xác bằng cách sử dụng giảm Cook.M L M L ¯ LLMLMLL¯

Có thể có những thiếu sót khác khi sử dụng chế độ giảm Cook, nhưng tôi sẽ để lại cho những người trả lời khác.


Tôi chưa hoàn toàn hiểu tất cả những điều này tôi phải nói. Nhưng tôi có một câu hỏi khác, có lẽ bạn có thể trả lời câu hỏi này (vì không có quá nhiều câu trả lời khác): nếu tôi có màu đỏ Turing thì sao. từ bài toán hoàn thành NP A đến bài toán B và màu đỏ Karp. từ vấn đề B đến vấn đề C. Điều đó có thiết lập tính đầy đủ NP của vấn đề C (tư cách thành viên không có vấn đề gì)? Và nói chung, tôi có thể gọi vấn đề B NP-hard hay đúng hơn là (Turing) NP-hard? Cảm ơn!
dùng2145167

4
Hai mức giảm Karp hợp thành mức giảm Karp và hai mức giảm Cook kết hợp với mức giảm Cook. Vì giảm Karp cũng là giảm Cook, nếu bạn tổng hợp giảm Karp và giảm Cook thì bạn sẽ được giảm Cook. Nhưng nói chung, bạn không được giảm Karp.
Yuval Filmus

@YuvalFilmus, bạn có thể giải thích rõ hơn về ý nghĩa của iff iff không? xMf(x)Lf(x)L¯
Omar Shehab

Một Karp-giảm từ đến L là một hàm f (polytime trong trường hợp này) sao cho x M khi và chỉ khi f ( x ) L . Đối với mỗi f , x nó luôn luôn cho rằng f ( x ) L iff f ( x ) ¯ L , nơi ¯ L là phần bù của L (liên quan đến phạm vi với f ). MLfxMf(x)L f,xf(x)Lf(x)L¯L¯Lf
Yuval Filmus

6

Tốt rồi. Giảm Turing theo thời gian đa thức là giảm Cook (như trong định lý Cook-Levin) và giảm một vấn đề NP-đầy đủ cho vấn đề mới mang lại cho NP-độ cứng (cũng như giảm nhiều đa thức-tiem, giảm AKA Karp). Thật vậy, giảm Karp chỉ là hạn chế Turing giảm.

Trường hợp họ khác nhau (liên quan đến câu hỏi này) là trong việc hiển thị thành viên. Việc giảm Karp từ một vấn đề sang một vấn đề trong NP cho thấy đầu tiên là trong NP. Giảm Cook theo cùng một hướng không.


Cảm ơn. Tôi thậm chí còn không biết rằng một người thể hiện tư cách thành viên bằng cách sử dụng giảm Karp một cách rõ ràng. Nhưng nó có ý nghĩa. Nhưng người ta có thể hiển thị thành viên NP bằng cách sử dụng mức giảm Turing theo cả hai hướng, phải không?
dùng2145167

1
@ user2145167 không, câu trả lời của Yuval đưa ra câu chuyện đầy đủ ở đây, nhưng tóm lại, mức giảm Cook yếu hơn, vì vậy hãy cho phép nhiều hơn - ví dụ: bạn có thể đi từ bất kỳ vấn đề đồng NP nào thông qua việc giảm Cook cho bất kỳ vấn đề NP-hoàn chỉnh nào, không phải là vấn đề đúng cho việc giảm Karp.
Luke Mathieson
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.