Các vấn đề có thể được sử dụng để hiển thị kết quả độ cứng thời gian đa thức


58

Khi thiết kế một thuật toán cho một vấn đề mới, nếu sau một thời gian tôi không thể tìm thấy thuật toán đa thức, tôi có thể cố gắng chứng minh nó là NP-hard. Nếu tôi thành công, tôi đã giải thích lý do tại sao tôi không thể tìm thấy thuật toán thời gian đa thức. Không phải tôi biết chắc rằng P! = NP, chỉ là đây là điều tốt nhất có thể được thực hiện với kiến ​​thức hiện tại, và thực sự sự đồng thuận là P! = NP.

Tương tự, giả sử tôi đã tìm thấy một giải pháp thời gian đa thức cho một số vấn đề, nhưng thời gian chạy là . Sau rất nhiều nỗ lực, tôi không tiến bộ trong việc cải thiện điều này. Vì vậy, thay vào đó, tôi có thể cố gắng chứng minh rằng nó cứng 3SUM. Đây thường là một trạng thái thỏa đáng, không phải vì tôi tin rằng 3SUM thực sự cần thời gian , nhưng vì đây là tình trạng hiện tại và rất nhiều người thông minh đã cố gắng cải thiện Nó, và đã thất bại. Vì vậy, đó không phải là lỗi của tôi mà đó là điều tốt nhất tôi có thể làm.Θ ( n 2 )O(n2)Θ(n2)

Trong những trường hợp như vậy, điều tốt nhất chúng ta có thể làm là kết quả độ cứng, thay vì giới hạn dưới thực tế, vì chúng ta không có bất kỳ giới hạn siêu tuyến tính nào cho Máy Turing cho các vấn đề trong NP.

Có một bộ vấn đề thống nhất có thể được sử dụng cho tất cả các lần chạy đa thức không? Ví dụ, nếu tôi muốn chứng minh rằng không chắc là một vấn đề nào đó có thuật toán tốt hơn , có vấn đề X nào đó để tôi có thể chỉ ra nó là X-hard và để nó ở đó không?O(n7)

Cập nhật : Câu hỏi này ban đầu được hỏi cho các gia đình có vấn đề. Vì không có nhiều gia đình gặp vấn đề và câu hỏi này đã nhận được những ví dụ tuyệt vời về các vấn đề khó khăn riêng lẻ, tôi đang đặt câu hỏi cho bất kỳ vấn đề nào có thể được sử dụng cho kết quả độ cứng thời gian đa thức. Tôi cũng đang thêm một tiền thưởng cho câu hỏi này để khuyến khích nhiều câu trả lời hơn.


5
Trang maven.smith.edu/~orourke/TOPP/P11.html tóm tắt một số kết quả về giới hạn dưới (và trên) của 3SUM và các vấn đề liên quan và đáng đọc.
Tsuyoshi Ito

2
Sự vắng mặt của giới hạn siêu tuyến tính là dành cho một TM có ít nhất hai băng, phải không? Tôi nhớ đã đọc ở đâu đó rằng việc kiểm tra một bảng màu trên một băng đơn có giới hạn dưới thời gian bậc hai. Khi chúng ta nói về giới hạn dưới trong , thuộc loại so với , liệu có ổn không khi cho rằng mô hình chính xác của TM không quan trọng lắm? Ω ( n i ) Ω ( n i + 1 )PΩ(ni)Ω(ni+1)
gphilip

3
Chủ đề ngoài lề: Robin, Tsuyoshi, cảm ơn vì đã giới thiệu gia đình giới hạn 3SUM: Tôi chưa bao giờ nghe nói về họ trước đây.
gphilip

2
@Tsuyoshi: Cảm ơn thông tin. Đây là một khảo sát hay về chủ đề: cs.mcgill.ca/~jking/ con / 3sumhard.pdf . @gphilip: Gần đây tôi đã được giới thiệu về vấn đề này bởi một số máy đo địa lý tính toán. Tôi đoán nó rất nổi tiếng trong khu vực đó.
Robin Kothari

Câu hỏi tuyệt vời. Bạn có thể làm rõ ý của bạn bằng "thống nhất": bạn có muốn ràng buộc số lượng tiền xử lý của tham số không?
András Salamon

Câu trả lời:


35

Có, thuật toán được biết đến nhiều nhất cho -SUM chạy trong thời gian , vì vậy rất có thể bạn có thể tranh luận một số vấn đề là khó, bởi vì nếu nó ở sau đó bạn có thể giải quyết -SUM nhanh hơn.O ( n k / 2 ) n 7 n 6,99 14kO(nk/2)n7n6.9914

Lưu ý rằng vấn đề -SUM trở nên "dễ dàng" hơn khi tăng: đưa ra thuật toán cải tiến cho -SUM, khá dễ dàng để có được thuật toán cải tiến cho -SUM: lấy tất cả các cặp số trong số của bạn đưa ra ví dụ -SUM, thay thế mỗi cặp bằng tổng của hai và tìm tổng của số trong số đó bằng . Sau đó, thuật toán cho -SUM ngụ ý thuật toán cho -SUM. Nói cách khác, giới hạn dưới chặt chẽ với giák k 2 k O ( n 2 ) n 2 k k 0 O ( n k / 2 - ε ) k O ( n k - 2 ε ) 2 k 2 k kkkk2kO(n2)n2kk0O(nk/2ε)kO(nk2ε)2k2k-SUM là một giả định mạnh mẽ hơn giới hạn dưới chặt chẽ cho -SUM.k

Một ứng cử viên khác cho một vấn đề khó khăn là -Clique. Xem câu trả lời -Clique của tôi để biết thêm về điều đó . Nếu bạn có thể chỉ ra (ví dụ) rằng một thuật toán tốt hơn cho vấn đề của bạn ngụ ý thuật toán cho -clique, thì sẽ cần một siêu đột phá để cải thiện thuật toán của bạn. Độ phức tạp được tham số hóa đưa ra nhiều ví dụ về các vấn đề khác như thế này: -Clique khó đối với lớp và -SUM khó đối với .O ( log n ) O ( n 2 ) 3 k W \ [ 1 \] k W \ [ 2 \]kO(logn)O(n2)3kW\[1\]kW\[2\]

Để tôi cảnh báo bạn rằng mặc dù các vấn đề như thế này rất thuận tiện để giải quyết, nhưng các vấn đề như -SUM không nằm trong số "khó nhất" trong , ví dụ, rất khó xảy ra mọi vấn đề trong thực sự có thể giảm thời gian tuyến tính xuống còn -SUM. Điều này là do -SUM có thể được giải quyết bằng các bit của thuyết không điều kiện trong thời gian tuyến tính, do đó, nếu mọi thứ trong thời gian bậc hai có thể giảm xuống -SUM, thì và các kết quả tuyệt vời khác. Thông tin thêm về điểm này có thể được tìm thấy trong bài viết "Làm thế nào cứng là -Hard vấn đề?"T I M E [ n 2 ]3TIME[n2]3 3 O ( log n ) 3 P N P n 2 n 2TIME[n2]33O(logn)3PNPn2(Tại một số điểm, "3SUM-hard" được gọi là " -hard"; bài viết SIGACT này đã phàn nàn đúng về tên đó.)n2


4
Vấn đề duy nhất tôi gặp phải khi sử dụng k-clique là 3 clique có thể giải được trong . Nếu đó là trường hợp mà k-clique dường như yêu cầu , thì đó sẽ là một gia đình tự nhiên tuyệt vời để sử dụng. Θ ( n k )O(n2.376)Θ(nk)
Robin Kothari

Tôi không thấy sự khác biệt cơ bản giữa việc sử dụng -SUM và -Clique. -SUM nằm trong cho chẵn . Nếu bạn có thể chỉ ra rằng một thuật toán tốt hơn cho vấn đề của bạn ngụ ý rằng -Clique nằm trong , thì đây là bằng chứng mạnh mẽ cho thấy một thuật toán tốt hơn cho vấn đề của bạn sẽ khá khó tìm. k k O ( n k / 2 ) k k O ( n k / 2 )kkkO(nk/2)kkO(nk/2)
Ryan Williams

tài liệu tham khảo gọn gàng, Ryan. Tôi xấu hổ vì tôi đã không biết về nó sớm hơn, vì mức độ phổ biến của 3SUM trong cộng đồng hình học. Tất nhiên điều này đặt ra câu hỏi: có ứng cử viên tự nhiên nào để được không? n2
Suresh Venkat

@Ryan: Bạn nói đúng, họ giống nhau. Mặc dù, với k-SUM, ít nhất chúng ta có bằng chứng trong các mô hình yếu hơn rằng ràng buộc được phỏng đoán là chính xác. Tôi không biết bất kỳ đối số nào đề xuất 3 cụm không nên giải quyết nhanh hơn nhân ma trận.
Robin Kothari

@Robin: Tôi đã nghĩ rằng bất kỳ gia đình tự nhiên nào có vấn đề với giới hạn thấp hơn có thể xảy ra, với , sẽ là một câu trả lời tốt. Các hằng số chính xác có vẻ ít quan trọng? f ( k ) = Θ ( k )nf(k)f(k)=Θ(k)
András Salamon

14

Vấn đề Đường dẫn ngắn nhất cho tất cả các cặp (APSP) được cho là cần có thời gian . Giảm từ đó là một cách tuyệt vời để lập luận rằng những cải tiến dựa trên Nhân ma trận nhanh (FMM) là không thể.Ω(n3)


2
Làm thế nào về đường kính của một đồ thị? Tốt hơn hết, hãy biến nó thành một vấn đề quyết định "Đường kính ít nhất là k?". Điều này có lợi thế là không có ràng buộc siêu tuyến rõ ràng, theo như tôi biết.
Raphael

9

Người ta tin rằng các thuật toán tốt nhất cho vấn đề affine suy đồi trong chạy không gian ba chiều trong thời gian. Vấn đề là như sau: Với điểm trong không gian ba chiều có tọa độ nguyên, làm bất cứ điểm nằm trên một siêu phẳng chung?O ( n d ) n d d + 1dO(nd)ndd+1

Vấn đề thoái hóa affine là -SUM cứng. Nếu chúng ta cắm giới hạn dưới được phỏng đoán cho -SUM, chúng ta sẽ có được giới hạn dưới của . Tuy nhiên, sự phỏng đoán về sự phức tạp của vấn đề thoái hóa affine mạnh hơn nhiều đối với .k Ω ( n d / 2 + 1 ) d 3(d+1)kΩ(nd/2+1)d3

J. Erickson, S. Har-Peled và DM Mount, về vấn đề bình phương trung bình nhỏ nhất, Hình học rời rạc và tính toán, 36, 593-607, 2006. http://www.cs.umd.edu/~mount/Papers /dcg06-lms.pdf

J. Erickson và R. Seidel. Giới hạn dưới tốt hơn trong việc phát hiện thoái hóa và hình cầu. Tính toán rời rạc. Geom., 13: 41 Hàng57, 1995. http://compgeom.cs.uiuc.edu/~jeffe/pub/degen.html

J. Erickson. Giới hạn dưới mới cho các vấn đề thân tàu lồi trong các kích thước kỳ lạ. SIAM J. Comput., 28: 1198 Từ1214, 1999. http://compgeom.cs.uiuc.edu/~jeffe/pub/convex.html


Tôi thích câu trả lời này, nhưng bạn có thể giải thích không? Tại sao nó được tin?
Aaron Sterling

8

Vấn đề của Hopcroft được phỏng đoán là cần có thời gian : Cho một tập hợp điểm và một tập hợp dòng trong mặt phẳng, có điểm nào nằm trên đường thẳng nào không?n nΘ(n4/3)nn


7
Có bất kỳ vấn đề phi hình học nào làm giảm vấn đề của Hopcroft không?
Suresh Venkat

Tôi quyết định trao tiền thưởng cho câu trả lời này bởi vì tôi chưa bao giờ nghe về vấn đề này trước đây.
Robin Kothari
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.