Lỗi lâu dài trong khoa học máy tính


26

Đây là câu hỏi đầu tiên của tôi về ngăn xếp cstheory, vì vậy đừng quá thô lỗ nếu tôi vi phạm nghi thức nào đó)

Như chúng ta đã biết, trong toán học, ngay cả các nhà toán học nổi tiếng, siêu sao và thiên tài cũng đang mắc phải những sai lầm nghiêm trọng. Ví dụ, cả định lý 4 màu và định lý Fermat cung cấp cho chúng ta những trường hợp kịch tính về việc làm thế nào ngay cả những bộ óc sáng nhất cũng có thể bị mê lầm. Nó thậm chí có thể mất nhiều năm để chứng minh tính không chính xác của một số bằng chứng giả mạo.

Câu hỏi của tôi là - bạn có thể cung cấp một số ví dụ nổi bật về những sai lầm như vậy trong khoa học máy tính? Tôi không biết, một cái gì đó như "Tiến sĩ X đã chứng minh vào năm 1972 rằng không thể làm Y trong thời gian ít hơn O (log n), nhưng vào năm 1995, hóa ra ông thực sự đã sai".


13
Không phải là một ví dụ nổi bật: thuật toán cho kết hợp lưỡng cực trực tuyến của Karp, Vazirani & Vazirani (1990) đã có một lỗi trong một bổ đề được phát hiện khoảng 15 năm sau.
Jagadish

2
@shabunc những loại câu hỏi này đang yêu cầu một danh sách các câu trả lời, và vì vậy thẻ cộng đồng-wiki phù hợp với nó.
Suresh Venkat

4
Ngoài ra, câu hỏi này có liên quan: cstheory.stackexchange.com/questions/3616/iêu
Suresh Venkat

2
Nếu hỏi về lỗi là bất lịch sự, thì chính câu hỏi của bạn là bất lịch sự và việc tránh từ lỗi Lỗi lỗi trong tiêu đề không phải là một giải pháp.
Tsuyoshi Ito

Câu trả lời:


28

Một ví dụ khét tiếng trong hình học tính toán là bằng chứng không chính xác của Định lý Vùng cho các sắp xếp siêu phẳng được xuất bản bởi Edelsbrunner, O'Rourke và Seidel [FOCS 1983, SICOMP 1986]. Bằng chứng cũng xuất hiện trong sách giáo khoa hình học tính toán năm 1987 của Edelsbrunner.

Định lý vùng: Trong bất kỳ sự sắp xếp nào của siêu phẳng trong R d , tổng độ phức tạp của tất cả các ô giao nhau với bất kỳ siêu phẳng nào là O ( n d - 1 ) .nRdO(nd1)

Định lý Vùng là một bước quan trọng trong chứng minh rằng thuật toán gia tăng đệ quy tiêu chuẩn để xây dựng một sự sắp xếp của siêu phẳng trong R d chạy trong O ( n d )nRdO(nd) thời gian .

Năm 1990, Raimund Seidel đã phát hiện ra rằng bằng chứng được công bố là không chính xác, sau khi bị một học sinh trong lớp hình học tính toán của mình thách thức. Trong khi đó, một tài liệu khổng lồ về tìm kiếm phạm vi siêu phẳng / nửa không gian / đơn giản / bán nguyệt đã được phát triển, tất cả đều dựa trên O(nd) thời gian xây dựng để sắp xếp, lần lượt dựa vào Định lý Vùng. (Không ai trong số các tác giả đó nhận thấy lỗi. Raimund đã dạy "bằng chứng" được công bố chi tiết trong vài năm trước khi anh ta bị thách thức.)

May mắn thay, Edelsbrunner, Seidel và Sharir gần như ngay lập tức tìm thấy một bằng chứng chính xác (và đơn giản hơn nhiều !) Về Định lý Khu vực [Kết quả mới và Xu hướng mới trong CS 1991, SICOMP 1993].


@ Jɛ E, đây là một ví dụ tuyệt vời, cảm ơn bạn!
shabunc

4
Bạn có tình cờ biết ai là học sinh thông minh không?
Suresh Venkat

4
Không, tôi không. Raimund kể cho tôi câu chuyện> 15 năm trước, khi tôi ở Berkeley; nếu anh ấy nói với tôi tên của học sinh, tôi đã quên từ lâu rồi. (Và có lẽ Raimund cũng vậy.) Bài báo SICOMP 1993 cũng không đề cập đến học sinh.
Jeffε

10

Giao thức mã hóa khóa công khai Needham-Shroeder, giao thức 5 dòng, đã được hiển thị không an toàn 17 năm sau khi xuất bản. Đây là ví dụ yêu thích của những người Xác minh để thực hiện phân tích chính thức các giao thức tiền điện tử.


8
Trừ khi giấy gốc đưa ra một bằng chứng sai lầm rằng giao thức là an toàn, điều này không được tính là một lỗi. Cho thấy các hệ thống mật mã được đề xuất là không an toàn trên thực tế là một phần của nghiên cứu về tiền điện tử.
MCH

1
đồng ý với MCH, các giao thức tiền điện tử là câu chuyện khác nhau tinh tế.
shabunc

6
Có hai khái niệm khác nhau trong giao thức này: sơ đồ mã hóa và giao thức truyền thông. Tác giả nhận thức được rằng có thể có các cuộc tấn công vào sơ đồ mã hóa, nhưng họ đã thảo luận về tính bảo mật của giao thức truyền thông và kết luận nó là an toàn: "Chúng tôi cho rằng kẻ xâm nhập có thể can thiệp vào máy tính trong tất cả các đường truyền thông, và do đó có thể thay đổi hoặc sao chép các phần của tin nhắn, phát lại tin nhắn hoặc phát ra tài liệu sai. Mặc dù điều này có vẻ là một quan điểm cực đoan, nhưng nó là cách duy nhất an toàn khi thiết kế các giao thức xác thực "Và cuộc tấn công thuộc loại trung gian.
Loïck


8

Đã có những phỏng đoán hóa ra là sai (ví dụ, việc nhúng biến dạng liên tục của các số liệu loại âm được Khot và Vishnoi từ chối), nhưng không có gì sai khi đặt ra một phỏng đoán sai vì sau đó tất cả chỉ là phỏng đoán.

ϵϵkk lặp lại song song. Khiếu nại này hóa ra là sai, và trên thực tế, những nỗ lực để hiểu rõ hơn về sự lặp lại song song hóa ra lại mở ra một cánh cửa lớn cho toán học đẹp.

PNP


+1 cho Feynman. Bạn có thể cung cấp thêm chi tiết về Feynman và P vs NP không?
vẫy gọi

2
Hỏi Scott Aaronson, anh ấy biết rõ thứ này.
MCH

2
Xem bài nói chuyện TED này . Nhưng nghĩ rằng một cái gì đó là hiển nhiên không chứng minh bất cứ điều gì và không có ích.
Pratik Deoghare

6
@MCH: Cho dù Feynman có tin những điều này hay không, tôi không nghĩ anh ta là một ví dụ có liên quan. Đầu tiên, cả hai tuyên bố đó đều được cho là đúng và thứ hai, ông không bao giờ tuyên bố đã chứng minh những điều này.
Joe Fitzsimons

2

7

"Tôi đã bị sốc khi biết rằng chương trình tìm kiếm nhị phân mà Bentley đã chứng minh là đúng và sau đó đã được thử nghiệm trong Chương 5 của Ngọc trai lập trình có một lỗi. Một khi tôi nói với bạn nó là gì, bạn sẽ hiểu tại sao nó thoát khỏi sự phát hiện trong hai thập kỷ. Tôi đang chọn Bentley, để tôi kể cho bạn cách tôi phát hiện ra lỗi: Phiên bản tìm kiếm nhị phân mà tôi đã viết cho JDK có cùng một lỗi. Nó đã được báo cáo cho Sun gần đây khi nó phá vỡ chương trình của ai đó, sau khi nằm chờ chín năm hoặc lâu hơn. "

-

Joshua Bloch "Thêm, thêm - Đọc tất cả về nó: Gần như tất cả các tìm kiếm nhị phân và sáp nhập bị hỏng" 2006


7
Đây không phải là một lỗi trong thuật toán, mà là một lỗi trong quá trình thực hiện. Thuật toán là chính xác; vấn đề là loại "int" thực sự không thể xử lý các số nguyên tùy ý.
Aaron Roth
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.