Các bài báo khoa học máy tính đầu tiên sử dụng độ phức tạp thời gian tiệm cận là gì?


22

Khi nào O lớn được sử dụng lần đầu tiên trong khoa học máy tính và khi nào nó trở thành tiêu chuẩn? Trang Wikipedia về điều này trích dẫn Knuth, Big Omicron và Big Omega và Big Theta , SIGACT Tháng Tư-Tháng Sáu năm 1976, nhưng phần đầu của bài báo đó đọc

Hầu hết chúng ta đã quen với ý tưởng sử dụng ký hiệu để đại diện cho bất kỳ chức năng nào có cường độ được giới hạn trên bởi một thời gian không đổi , cho tất cả lớn .Ôi(f(n))f(n)n

Trích dẫn này chỉ ra rằng ý tưởng và ký hiệu đã được sử dụng phổ biến.

Trang Wikipedia cũng trích dẫn các bài toán từ cuối những năm 1800 và đầu những năm 1900, nhưng điều đó không trả lời được câu hỏi. Cụ thể, tôi đã nghe các nhà nghiên cứu ở khoảng thời gian trước đó (vào thập niên 60 và 70, không phải cuối những năm 1800) nói rằng khi phân tích tiệm cận được sử dụng lần đầu tiên, một số người đã đẩy lùi, nói rằng thời gian đồng hồ treo tường là một thước đo tốt hơn. Tuy nhiên, không ai tôi đã nói chuyện có thể trích dẫn các giấy tờ cụ thể có phản hồi như thế này và tôi muốn tìm bằng chứng có thể xác nhận hoặc từ chối những câu chuyện này.


Là câu hỏi về ký hiệu để phân tích các chức năng tiệm cận, hoặc về việc sử dụng độ phức tạp thời gian tiệm cận? Tôi nghĩ rằng câu hỏi là về câu sau, nhưng câu đầu tiên (và trích dẫn từ Knuth) nghe giống như về câu trước. Ôi()
ShreevatsaR

2
BTW, không liên quan đến câu hỏi lịch sử của bạn, nhưng một điểm mà nó không hoàn toàn mang tính lịch sử: Robert Sedgewick tại Princeton (người đã thực hiện bằng tiến sĩ dưới Knuth) trong nhiều cuộc thảo luận đã cảnh báo chống lại ký hiệu "big O" mà ông gọi là "lý thuyết thuật toán ", thay vì" phân tích thuật toán "theo kiểu Knuth (nghĩa là với các hằng số thực tế). Xem ví dụ: các slide này (21 slide đầu tiên). Điều này không hoàn toàn giống như đẩy lùi phân tích tiệm cận và khuyến nghị thời gian đồng hồ treo tường, nhưng tốt, loại. Và đó là một điểm quan trọng.
ShreevatsaR

Bạn đã đọc phần này trong Lịch sử Wikipedia (các ký hiệu Bachmann Giảm Landau, Hardy và Vinogradov) chưa?
drzbir

Câu trả lời:


2

với các câu hỏi lịch sử thường có các sắc thái tinh tế và không dễ để xác định một bài báo cụ thể đưa ra một khái niệm cụ thể vì nó có xu hướng lan truyền trên nhiều người đóng góp và đôi khi được phát hiện lại một cách độc lập khi các tài liệu tham khảo ban đầu tối nghĩa không nhất thiết phải phổ biến (ý tưởng cơ bản là như vậy) . nhưng về cơ bản lịch sử diễn ra như sau: Ký hiệu Landau là một chủ nghĩa hình thức toán học cũ (1894 / Bachman) [1] được nhập vào CS như một "khái niệm chính" vào đầu những năm 1970. vào giữa những năm 1970, điều này phần nào được chấp nhận như trong tài liệu tham khảo Knuth của bạn và chính Knuth đã tham gia vào việc truyền bá khái niệm này.

điều thú vị là việc nhập khẩu vào CS có lẽ liên quan mật thiết đến sự khác biệt giữa P vs NP và Exptime được phát hiện vào đầu những năm 1970 có ảnh hưởng lớn / được báo trước trong lĩnh vực này. đó là Cobham / Edmonds, người bắt đầu định nghĩa lớp P vào đầu những năm 1970. [3] đã có bằng chứng sớm về Exptime và Expspace của Stockmeyer / Meyer. [2] định lý Cook-Levin [4] (1971) cho thấy mối liên quan cốt lõi của thời gian P so với NP, ngay lập tức được Karp hỗ trợ [5] (1972).

một nhà toán học ban đầu, người đã làm việc trong lý thuyết số nhưng cũng có lợi thế về khoa học máy tính là Pocklington. như trong [3] nó chỉ ra:

Tuy nhiên, HC Pocklington, trong một bài báo năm 1910, [11] [12] đã phân tích hai thuật toán để giải các phép đồng phương bậc hai và quan sát rằng một thời gian "tỷ lệ thuận với sức mạnh của logarit của mô đun" và đối chiếu với thuật toán này mất thời gian tỷ lệ "với chính mô đun hoặc căn bậc hai của nó", do đó, rõ ràng vẽ một sự khác biệt giữa một thuật toán chạy trong thời gian đa thức so với thuật toán không.

Một nhà tiên phong đầu tiên trong việc phân tích sự phức tạp của các thuật toán dựa trên máy cho lý thuyết số, tức là bao thanh toán, là Derrick Lehmer, giáo sư toán học tại Đại học California, Berkeley, và xây dựng / phân tích "thuật toán" (triển khai dựa trên sàng lọc) vào đầu những năm 1920 và có thể anh ta có thể đã mô tả một cái gì đó như tính toán phức tạp tính toán bao thanh toán theo cách không chính thức. [6]

một trường hợp khác là một bức thư "mất" năm 1956 của Godel gửi von Neumann nói về các phép đo phức tạp của các bước f (n) của một máy để tìm bằng chứng kích thước n . [7]

[1] Lịch sử ký hiệu Big O / wikipedia

[2] Các vấn đề từ đòi hỏi thời gian theo cấp số nhân. / Stockmeyer, Meyer (1973)

[3] Lịch sử lớp thời gian P / wikipedia

[4] Định lý Cook-Levin / wikipedia

[5] Karps 21 NP hoàn thành vấn đề / wikipedia

[6] Máy bao thanh toán / sàng / wikipedia

[7] Godels bị mất thư / RJLipton


4
Điều này không xuất hiện để trả lời câu hỏi đã được hỏi. Câu hỏi là "Những bài báo khoa học máy tính đầu tiên sử dụng big-O là gì?" Một câu trả lời nên xác định một số giấy tờ. Tôi không thấy bất kỳ bài báo nào được trích dẫn ở đây là những ứng cử viên cho câu trả lời cho câu hỏi. Nói rằng "thường có những sắc thái tinh tế và không dễ để xác định một loại giấy cụ thể" không thực sự là một câu trả lời. Và chắc chắn đã có một bài báo đầu tiên - phải có (theo nguyên tắc sắp xếp tốt) - vì vậy câu hỏi là có thể trả lời được.
DW
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.