Một giới hạn trên chặt chẽ không có triệu chứng là gì?


15

Từ những gì tôi đã học được ràng buộc chặt chẽ không có triệu chứng có nghĩa là nó bị ràng buộc từ bên trên và bên dưới như trong ký hiệu theta. Nhưng giới hạn trên không chặt chẽ có ý nghĩa gì đối với ký hiệu Big-O?


Điều này làm tôi bối rối quá. Tại sao các tác giả không thể nói "theta"? Tại sao phát minh ra các điều khoản không cần thiết?
beroal

Câu trả lời:


20

Nói rằng ràng buộc của chữ O lớn là "chặt chẽ không có triệu chứng" về cơ bản có nghĩa là tác giả nên viết . Ví dụ: O ( x 2 ) có nghĩa là nó không quá một số lần không đổi  x 2 cho tất cả x đủ lớn  ; "chặt chẽ không có triệu chứng" có nghĩa là nó thực sự là một số lần không đổi  x 2 đối với x đủ lớn  và không, giả sử, một số lần không đổi  x 1.999 .Θ(-)Ôi(x2)x2xx2xx1.999


13

Đây là một ví dụ giải thích nó (và một ví dụ cụ thể cho câu trả lời hay của David).

Giả sử bạn có một thuật toán được đưa ra như là đầu vào một mảng các số nguyên . Thuật toán quét qua mảng và tăng bộ đếm ban đầu được đặt thành 0 mỗi lần nó nhìn thấy một phần tử là số nguyên chẵn. Chúng ta có thể chứng minh chạy thuật toán trong tiếng nói O ( n 3 ) thời gian, nơi n là số phần tử trong A . Nhưng chúng ta cũng có thể đưa ra một ràng buộc chặt chẽ hơn và nói rằng nó chạy trong thời gian O ( n ) . Đây ràng buộc là tiệm chặt chẽ: trên thực tế, kể từ khi đọc đầu vào đã mất Ω ( n ) thời gian, chúng ta có thể được chính xác hơn và nói rằng thuật toán mấtMộtÔi(n3)nMộtÔi(n)Ω(n) thời gian.Θ(n)


3
+1, nhưng tôi nghĩ một mối nguy hiểm trong lựa chọn ví dụ của bạn là nó có thể bị hiểu sai khi cho rằng đối với giới hạn trên bị thắt chặt không có triệu chứng, phải là không có thuật toán nào nhanh hơn cho vấn đề này, khi điều đó không đúng. (Tôi nói điều này bởi vì bất cứ khi nào tôi thấy "Bạn cần ít nhất thời gian để đọc quan sát", nó được sử dụng để chứng minh cho yêu cầu "không có thuật toán nhanh hơn có thể tồn tại".)Ω(n)
j_random_hacker

1
@j_random_hacker Bạn nói đúng, chúng ta nên cẩn thận với điều đó. Để nhắc lại, nói về một ràng buộc chặt chẽ không có triệu chứng nói lên điều gì về khả năng có một thuật toán nhanh hơn nói chung.
Juho
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.