Ví dụ về các vấn đề trong đó thuật toán hàm mũ chạy nhanh hơn thuật toán đa thức cho kích thước thực tế?


13

Bạn có biết về bất kỳ vấn đề nào (tốt nhất là ít nhất là được biết đến một chút), trong đó, đối với quy mô vấn đề thực tế , thuật toán hàm mũ chạy nhanh hơn nhiều so với đối tác thời gian đa thức nổi tiếng nhất.

Ví dụ: giả sử một vấn đề có kích thước thực tế * là và có hai thuật toán đã biết: Một là và hai là cho một số hằng số . Rõ ràng với bất kỳ , thuật toán hàm mũ được ưu tiên.2 n n c c c > 15n=1002nnccc>15

* Tôi đoán kích thước thực tế có nghĩa là một cái gì đó thường được tìm thấy trong thế giới thực. Giống như số lượng tàu trên một mạng.


1
Tôi nghĩ rằng bạn có thể tìm thấy những gì bạn tìm kiếm trong tài liệu phức tạp tham số hóa.
Kaveh

đối với các thuật toán tuyến tính, nhìn chung có một hệ số nhân không đổi, thường không đáng kể và thường bị bỏ qua vì độ phức tạp, nhưng một thuật toán mà tôi nhớ có vẻ rất cao là một sự hợp nhất tại chỗ là tuyến tính, nhưng trường hợp xấu nhất là 5000 N ... những kịch bản đó có một khu vực có thể sử dụng lớn trong đó N ^ 2 sẽ nhỏ hơn 5000 N trong đó kích thước nhỏ hơn sqrt (5000) và một miền nhỏ hơn trong đó 2 ^ n vẫn sẽ nhanh hơn trong đó n nhỏ hơn log 5000
Grady

Câu trả lời:


13

Làm thế nào để thuật toán đơn giản cho lập trình tuyến tính? Trong nhiều trường hợp, nó được sử dụng trong thực tế.

Chỉnh sửa để thêm: Tôi nghĩ rằng đó là một "thuật toán hàm mũ trường hợp xấu hơn" chạy hiệu quả trên các trường hợp / phân phối thực tế thay vì chạy nhanh hơn trong các trường hợp đối nghịch có kích thước thực tế .


4
@diesalbla - nó phụ thuộc vào diễn đàn chính xác. Trích dẫn Wikipedia, "vào năm 1972, Klee và Minty [32] đã đưa ra một ví dụ cho thấy rằng sự phức tạp trong trường hợp xấu nhất của phương pháp đơn giản theo công thức của Dantzig là thời gian theo cấp số nhân".
RB

12

Các thuật toán nhanh nhất được biết đến cho các vấn đề của việc xác định liệu một đồ thị có một nhúng knotless là do Miller và Naimi, và là mũ thời gian. Lý thuyết của Robertson-Seymour nói rằng có một thuật toán cho vấn đề này; tuy nhiên, để viết nó xuống, chúng ta sẽ cần biết danh sách các vị thành niên bị cấm đối với các nhúng không có nút. Tuy nhiên, ngay cả khi chúng ta biết danh sách này, thuật toán thời gian theo cấp số nhân vẫn sẽ nhanh hơn nhiều đối với các biểu đồ có kích thước hợp lý, vì có hơn 250 vị thành niên bị cấm, một số trong số chúng khá lớn.Ôi(n3)


5
Trên thực tế, số lượng trẻ vị thành niên bị cấm không phải là một yếu tố lớn (ngay cả khi có 250 triệu) nhưng phần nói rằng nó cần có thời gian (tôi không chắc liệu nó có chính xác không): , trong đó H là một trong những trẻ vị thành niên bị cấm là xấu. Nó thực sự là không thể trong thực tế ngay cả đối với | H | = 2. 2222|H|Ôi(n3)H
Saeed

1
Ôi(n2)|H|

1
HG|H|

-3

Có một số ví dụ với phát hiện / kiểm tra tính nguyên thủy (không chính xác / chính xác) . Các thuật toán AKS là thuật toán đầu tiên cho tính nguyên thử nghiệm nào chứng minh là trong P. Nó không cạnh tranh thuận lợi so với một số thuật toán thời gian theo cấp số nhân cho đầu vào "nhỏ". Các chi tiết có phần khó khăn vì cho thấy điều này thường đòi hỏi phải thực sự thực hiện các thuật toán vốn là một bài tập đầy thách thức và có thể phụ thuộc vào các khía cạnh cụ thể thực hiện.

Thêm thông tin / chi tiết / giới thiệu về câu hỏi cs.se này:


6
Theo như tôi biết, các thuật toán mà AKS cạnh tranh trong thực tế là đa thức ngẫu nhiên (Miller, Rabin, ECPP) hoặc quasipolynomial xác định (Adman quạt Pomerance Muff Rumeley). Không nơi nào gần thời gian theo cấp số nhân.
Emil Jeřábek hỗ trợ Monica

6
Phiên bản ngẫu nhiên của MillerTHER Rabin, là phiên bản được sử dụng trong thực tế, không phụ thuộc vào RH.
Emil Jeřábek hỗ trợ Monica

5
Điều đó rất đúng, nhưng không liên quan gì đến câu hỏi ban đầu.
Emil Jeřábek hỗ trợ Monica

2
Vâng, tôi biết tất cả điều đó. Và lần thứ ba, điều này là không liên quan. Câu hỏi yêu cầu các thuật toán thời gian theo cấp số nhân trong thực tế cạnh tranh với thuật toán thời gian đa thức đã biết (ở đây, AKS). Thuật toán kiểm tra tính nguyên thủy theo thời gian theo cấp số nhân được sử dụng trong thực tế là phân chia thử nghiệm, không cạnh tranh cho các số có kích thước không cần thiết. Các thuật toán cạnh tranh được sử dụng trong thực tế hiệu quả hơn nhiều so với cấp số nhân, mặc dù chúng không phải là đa thức (hoặc xác định hoặc vô điều kiện).
Emil Jeřábek hỗ trợ Monica

3
Táo và cam là gì khi so sánh AKS (một thuật toán kiểm tra nguyên thủy) với GNFS (một thuật toán bao thanh toán).
Emil Jeřábek hỗ trợ Monica
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.