Khi chúng tôi đã tìm thấy giới hạn tốt hơn cho các thuật toán được biết đến?


16

Có các trường hợp thú vị của các thuật toán đã được xuất bản với các giới hạn đã được chứng minh, và các giới hạn tốt hơn sau đó đã được xuất bản không? Không phải là thuật toán tốt hơn với giới hạn tốt hơn - rõ ràng điều đó đã xảy ra! Nhưng phân tích tốt hơn dẫn đến một ràng buộc tốt hơn trên một thuật toán hiện có

Tôi nghĩ rằng phép nhân ma trận là một ví dụ về điều này, nhưng tôi đã tự nói về nó (có lẽ không chính xác!) Sau khi cố gắng hiểu Coppersmith Thẻ Winograd và những người bạn của nó tốt hơn.


Một ví dụ lý tưởng là Phép nhân ma trận. Những cải tiến gần đây trên thực tế là phân tích tốt hơn (Le Gall, Williams, v.v.).
Lwins

Lwins - Tôi nghi ngờ đó có thể là trường hợp, nhưng lướt qua một số bài báo khiến tôi nghĩ rằng chúng hơi thay đổi cả thuật toán và phân tích. Tôi có thể cần nhìn sâu hơn.
Rob Simmons

Đây là một câu trả lời nửa vời, vì đây là tin đồn thứ hai: khi làm việc xác định Buechi automata ( dl.acm.org/citation.cfm?id=1398627 ), ban đầu Safra đã phân tích công trình của mình để có số mũ bậc hai. Sau đó, sau khi viết xuống xây dựng, và do một số hiểu lầm, ông đã kết thúc với tốt hơn (tối ưu) số mũ. nlogn
Shaull

Tôi sẽ đề nghị xem xét các vấn đề lập kế hoạch chuyển động - tôi cảm thấy như đã có một vài trường hợp ở đó. Ngoài ra, IIRC độ phức tạp chính xác của thuật toán đơn giản (s?) Là một vấn đề nghiên cứu trong một thời gian dài.
Steven Stadnicki

1
Hơi khác một chút, nhưng bằng chứng tồn tại của đầu vào thỏa mãn mệnh đề trong trường hợp 3SAT đã được cải tiến thành thuật toán rõ ràng bằng cách phân tích cẩn thận hơn. 7m/8
Stella Biderman

Câu trả lời:


23

Các Liên-Tìm thuật toán, mà Tarjan 1 cho thấy có độ phức tạp nα(n) , nơi α(n) là nghịch đảo Ackermann chức năng, đã được phân tích trước đây của nhiều người. Theo Wikipedia, nó được phát minh bởi Galler và Fischer 2 , nhưng điều này dường như không chính xác, vì họ không có tất cả các thành phần của thuật toán cần thiết để làm cho nó chạy nhanh.

Dựa trên các bản quét ngắn của các bài báo, có vẻ như thuật toán được phát minh bởi Hopcroft và Ullman 3 , người đã đưa ra một giới hạn thời gian (không chính xác) O(n) . Fischer 4 sau đó tìm thấy lỗi trong chứng minh và đưa ra giới hạn thời gian O(nloglogn) . Tiếp theo, Hopcroft và Ullman 5 đưa ra giới hạn thời gian O(nlogn) , sau đó Tarjan 1 tìm thấy giới hạn thời gian (tối ưu) O(nα(n)) .

1 RE Tarjan, "Hiệu quả của thuật toán hợp nhất tập hợp tốt nhưng không tuyến tính" (1975).
2 BS Galler và MJ Fischer, "Một thuật toán tương đương được cải thiện" (1964).
3 JE Hopcroft và JD Ullman, "Thuật toán hợp nhất danh sách tuyến tính" (1971).
4 MJ Fischer, "Hiệu quả của các thuật toán tương đương" (1972).
5 JE Hopcroft và JD Ullman, "Thuật toán hợp nhất tập hợp" (1973).


2
Lịch sử của cấu trúc dữ liệu này là một chút không rõ ràng đối với tôi và thật tuyệt khi điều tra nó. Tôi đã đọc lướt bài báo của Galler và Fischer, và nó dường như mô tả cấu trúc dữ liệu của Disjoint Sets Forest (DSF) nhưng không có phương pháp nén đường dẫn quan trọng (PC) và heuristic (WU). Hopcroft và Ullman thuộc tính DSF với PC và không có WU thành Tritter, trích dẫn Knuth. Tôi không chắc chắn nếu DSF với cả PC và WU đã được đề xuất trong một bài báo được xuất bản trước bài báo của Hopcroft và Ullman, mặc dù tôi sẽ không ngạc nhiên nếu đó là.
Sasho Nikolov

1
@Sasho: Tất cả điều này nên được kiểm tra, vì nó dựa trên các bản quét ngắn của các giấy tờ. Tarjan gán DSF với cả PC và WU cho Michael Fischer, trong "Hiệu quả của thuật toán tương đương" (1972), mang lại thời gian chạy cho nó. Quét giấy Fischer, anh dường như thuộc tính các thuật toán để Hopcroft và Ullman trong "Một danh sách tuyến tính sáp nhập thuật toán", nhưng họ đưa ra một Θ ( n ) thời gian chạy cho nó, bằng chứng mà Fischer chương trình là không chính xác. Tarjan nói rằng Hopcroft và Ullman, trong "Thuật toán hợp nhất tập hợp" tự chuộc lại bằng cách đưa ra một ràng buộc O ( n log n ) .O(nloglogn)Θ(n)O(nlogn)
Peter Shor

12

Thuật toán của Paturi, Pudlák, Saks và Zane (PPSZ) cho k-SAT đã được biết là có thời gian chạy O(1.364n) cho 3-SAT , với giới hạn tốt hơn là O(1.308n) cho các công thức đảm bảo có một bài tập thỏa mãn duy nhất. Sau đó, Hertli đã đưa ra một phân tích cải tiến cho thấy rằng giới hạn thời gian chạy được cải thiện này cũng phù hợp với trường hợp chung, do đó cho thấy PPSZ là thuật toán tốt nhất cho 3-SAT được biết đến vào thời điểm đó.


Đây là một câu trả lời thực sự thỏa mãn! Tôi nghĩ rằng nó và các ví dụ Liên minh Tìm kiếm là những ví dụ tốt nhất về những gì tôi đã hy vọng.
Rob Simmons

8

Cuộc tấn công Logjam đề cập đến việc phân tích rây trường số chung (như được áp dụng để tính toán logarit rời rạc trên Fp ) bước chặt chẽ, xem trên cùng bên trái của trang thứ 3. Vì đây là bước duy nhất không thể tính toán trước (nếu Fp được cố định), hiệu quả của nó là công cụ để tấn công.

Các phân tích ban đầu dường như là trong Gordon 92 , nơi gốc đã được dự trù kinh phí tương tự như tính toán trước, tại Lp(1/3,32/3) . Các phân tích chặt chẽ hơn có vẻ là từ luận án Bărbulescu của , nơi gốc được dự trù kinh phí tại Lp(1/3,1.232) , trong đó:

Lp(v,c)=exp((c+o(1))(logp)v(loglogp)1v)
Điều đáng nói là về mặt kỹ thuật đây là chi phí dự kiến ​​và không phải là giới hạn trên. Điều này dường như vẫn theo tinh thần của câu hỏi đối với tôi, nhưng tôi sẽ xóa nó nếu nó không phải là thứ bạn đang tìm kiếm.


1
Rất nhiều trong tinh thần, cảm ơn bạn!
Rob Simmons

5

kO(nk+o(1))O(n2k2)Ôi(n1,98k+Ôi(1))

Ω(nk)

Lưu ý: Có thể tìm thấy cuộc nói chuyện của Jason Li (và các slide tương ứng) trên trang web của TCS + .


k



4

3 đưa ra một phân tích tinh tế hơn (đếm các bài toán con / cấu trúc con) dẫn đến sự tái phát tốt hơn và thời gian chạy tốt hơn. Tôi nghĩ rằng có một số ví dụ như vậy trong tài liệu về độ phức tạp được tham số hóa, trong đó việc thêm một biến khác vào phân tích có thể dẫn đến thời gian chạy được cải thiện, nhưng tôi đã rời khỏi trò chơi đó vài năm nay và tôi không thể nghĩ ra những cái cụ thể tại khoảnh khắc. Có một số bài báo trong lĩnh vực FPT và PTAS xuất hiện khi tìm kiếm "phân tích cải tiến" trong tiêu đề giấy.

Nếu chỉ định các lựa chọn được tính là cùng một thuật toán (như heuristic xếp hạng độ sâu tìm kiếm liên minh), thì thuật toán Edmonds-Karp là một 'phân tích được cải thiện' của Ford-Fulkerson, và tôi tưởng tượng có rất nhiều vấn đề khác có thuật toán đã thấy cải tiến thời gian chạy từ các quy tắc lựa chọn mới.

Sau đó, có một loạt các phân tích khấu hao của các thuật toán hiện có (tôi nghĩ rằng sự phù hợp tìm thấy theo mô tả này, đây là một https://link.springer.com/article/10.1007/s00453-004-1145-7 )


Đưa ra lựa chọn mới cảm thấy gần với những gì tôi đang tìm kiếm, nhưng không hoàn toàn ở đó - theo một nghĩa nào đó, thuật toán được chỉ định nhiều hơn là "thuật toán khác" - nhưng đây vẫn là những ví dụ rất thú vị!
Rob Simmons
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.