Có các thuật toán thời gian phụ cho các vấn đề hoàn thành NP không?


51

Có các vấn đề NP-đầy đủ đã được chứng minh thuật toán thời gian phụ?

Tôi đang yêu cầu các trường hợp đầu vào chung, tôi không nói về các trường hợp đặc biệt có thể kéo được ở đây.

Theo cấp số nhân, tôi có nghĩa là một thứ tự tăng trưởng trên đa thức, nhưng ít hơn số mũ, ví dụ .nlogn


10
Bạn có ý nghĩa gì bởi "cấp số nhân"? Nếu bạn có nghĩa là , câu trả lời chắc chắn là có. Nếu bạn có nghĩa là 2 n o ( 1 ) , tôi tin rằng câu trả lời là không. 2o(n)2no(1)
JeffE

Câu trả lời:


57

Phụ thuộc vào những gì bạn có nghĩa là phụ. Dưới đây tôi giải thích một vài ý nghĩa của "subexponential" và những gì xảy ra trong mỗi trường hợp. Mỗi lớp được chứa trong các lớp bên dưới nó.


I. 2no(1)

Nếu theo ý nghĩa phụ, bạn có nghĩa là , thì một phỏng đoán trong lý thuyết phức tạp gọi là ETH (Giả thuyết thời gian theo hàm mũ) ngụ ý rằng không có vấn đề N P -hard nào có thể có thuật toán với thời gian chạy 2 n o ( 1 ) .2no(1)NP2no(1)

Lưu ý rằng lớp này được đóng dưới thành phần với đa thức. Nếu chúng tôi có thuật toán thời gian phụ cho bất kỳ vấn đề -hard nào, chúng tôi có thể kết hợp nó với việc giảm thời gian đa thức từ SAT để có được thuật toán phụ cho 3SAT sẽ vi phạm ETH.NP

II. , tức là 2 O ( n ε ) cho tất cả các 0 < ε0<ϵ2O(nϵ)2O(nϵ) 0<ϵ

Tình hình tương tự như trước đây.

Nó được đóng dưới đa thức để không có vấn đề -hard nào có thể được giải quyết trong thời gian này mà không vi phạm ETH.NP


III. , tức là 2 O ( n ε ) cho một số ε < 1ϵ<12O(nϵ)2O(nϵ) ϵ<1

Nếu bởi subexponential bạn bình đối với một số ε < 1 thì câu trả lời là có, có thể chứng minh vấn đề như vậy.2O(nϵ)ϵ<1

Thực hiện một bài toán -complete như SAT. Nó có một thuật toán brute-force chạy trong thời gian 2 O ( n ) . Bây giờ hãy xem xét phiên bản đệm của SAT bằng cách thêm một chuỗi có kích thước n k vào các đầu vào:NP2O(n)nk

SAT={φ,wφSAT and |w|=|φ|k}

NP2O(n1k)

2o(n)

Điều này có chứa các lớp trước, câu trả lời là tương tự.

0<ϵ2ϵn2ϵn ϵ>0

Điều này có chứa các lớp trước, câu trả lời là tương tự.

ϵ<12ϵn2ϵn ϵ<1

Điều này có chứa các lớp trước, câu trả lời là tương tự.


Subexponential có nghĩa là gì?

"Đa thức trên" không phải là giới hạn trên mà là giới hạn dưới và được gọi là siêu đa thức .

nlgn

2Θ(n)2nΘ(1)

ΘoϵΘϵϵ>0Θϵϵ<1

Cái nào nên được gọi là subexponential là có thể tranh cãi. Thông thường mọi người sử dụng cái họ cần trong công việc của họ và gọi nó là phụ.

Exp2nO(1)

SubExp

III được sử dụng cho giới hạn trên thuật toán, giống như các giới hạn được đề cập trong câu trả lời của Pal.

IV cũng phổ biến.

V được sử dụng để nêu phỏng đoán ETH.

LPNPPSpaceExp

Mùa hè

NP


7
Câu trả lời này nên vào Wikipedia.
Erel Segal-Halevi

32

2O(nlogn)nO(1)2O(n)nO(1)


1
2O(nϵ)ϵ<12no(1)
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.