ข้อผิดพลาดยาวนานในด้านวิทยาศาสตร์คอมพิวเตอร์


26

นี่เป็นคำถามแรกของฉันในกองซ้อน cstheory ดังนั้นอย่าหยาบคายเกินไปถ้าฉันละเมิดมารยาทอย่างใด)

ดังที่เราทราบในวิชาคณิตศาสตร์แม้แต่นักคณิตศาสตร์ชื่อดังซูเปอร์สตาร์และอัจฉริยะกำลังทำผิดพลาดร้ายแรงเป็นครั้งคราว ยกตัวอย่างเช่นทฤษฎีบททั้ง 4 สีและทฤษฎีบทแฟร์มาต์ทำให้เรามีกรณีที่น่าทึ่งว่าจิตใจที่เฉียบแหลมที่สุดจะถูกหลอกลวงได้อย่างไร มันอาจใช้เวลาหลายปีในการพิสูจน์ความไม่ถูกต้องของหลักฐานอันผิดพลาดบางอย่าง

คำถามของฉันคือ - คุณสามารถให้ตัวอย่างที่โดดเด่นเกี่ยวกับความผิดพลาดทางวิทยาการคอมพิวเตอร์ได้หรือไม่? ฉันไม่รู้ว่าบางอย่างเช่น "ดร. เอ็กซ์ได้พิสูจน์ในปี 1972 ว่ามันเป็นไปไม่ได้ที่จะทำ Y ในเวลาน้อยกว่า O (log n) แต่ในปี 1995 มันกลับกลายเป็นว่าเขาผิดจริงๆ"


13
ไม่ใช่ตัวอย่างที่โดดเด่น: อัลกอริทึมสำหรับการจับคู่สองฝ่ายออนไลน์โดย Karp, Vazirani และ Vazirani (1990) มีข้อผิดพลาดในบทแทรกหนึ่งที่ถูกค้นพบประมาณ 15 ปีต่อมา
Jagadish

2
@shabunc คำถามประเภทนี้กำลังขอรายการคำตอบดังนั้นแท็ก community-wiki จึงเหมาะสม
Suresh Venkat

4
นอกจากนี้คำถามนี้เกี่ยวข้องกับ: cstheory.stackexchange.com/questions/3616/ …
Suresh Venkat

2
หากถามเกี่ยวกับข้อผิดพลาดนั้นไม่สุภาพคำถามของคุณจะไม่สุภาพและการหลีกเลี่ยงคำว่า "ข้อผิดพลาด" ในชื่อไม่ใช่วิธีแก้ปัญหา
Tsuyoshi Ito

3
บล็อกโพสต์ที่เกี่ยวข้องคณิตศาสตร์เป็นเช่นตลาดหลักทรัพย์
Pratik Deoghare

คำตอบ:


28

ตัวอย่างที่น่าอับอายในเรขาคณิตคำนวณเป็นข้อพิสูจน์ที่ไม่ถูกต้องของทฤษฎีบทโซนสำหรับการจัดเรียงไฮเพอร์เพลนที่เผยแพร่โดย Edelsbrunner, O'Rourke และ Seidel [FOCS 1983, SICOMP 1986] การพิสูจน์ยังปรากฏอยู่ในตำราเรขาคณิตเรขาคณิตของ Edelsbrunner ด้วย

โซนทฤษฎีบท:ในการจัดเรียงของ hyperplanes ในR dความซับซ้อนรวมของทุกเซลล์ตัดไฮเปอร์เพลใด ๆ ที่เป็นO ( n d - 1 )nRdO(nd1)

โซนทฤษฎีบทเป็นขั้นตอนสำคัญในการพิสูจน์ว่าอัลกอริทึมที่เพิ่มขึ้นมาตรฐาน recursive ที่จะสร้างการจัดเรียงของ hyperplanes ในR dวิ่งในO ( n d )เวลาnRdO(nd)

ในปี 1990 Raimund Seidel ค้นพบว่าหลักฐานที่ตีพิมพ์ไม่ถูกต้องหลังจากนักเรียนถูกท้าทายในประเด็นทางเทคนิคที่ละเอียดอ่อนโดยนักเรียนในชั้นเรียนเรขาคณิตของเขา ในขณะเดียวกันวรรณกรรมขนาดใหญ่เกี่ยวกับการค้นหาช่วงไฮเปอร์เพลน / halfspace / simplex / semialgebraic ได้รับการพัฒนาซึ่งทั้งหมดอาศัยเวลาการก่อสร้างสำหรับการเตรียมการซึ่งจะอาศัยทฤษฎีโซน (ไม่มีผู้เขียนคนใดสังเกตเห็นข้อผิดพลาดไรมันด์สอนรายละเอียด "พิสูจน์" ที่ตีพิมพ์เป็นเวลาหลายปีก่อนที่เขาจะถูกท้าทาย)O(nd)

โชคดีที่ Edelsbrunner, Seidel และ Sharir เกือบจะในทันทีพบที่ถูกต้อง (และมากง่าย!) หลักฐานการโซนทฤษฎีบท [ผลการค้นหาใหม่และแนวโน้มใหม่ในการบริการลูกค้า 1991 SICOMP 1993]


@ Jɛ ff E อันนี้เป็นตัวอย่างที่ดีขอบคุณ!
shabunc

4
คุณรู้หรือไม่ว่าใครเป็นนักเรียนที่ฉลาด?
Suresh Venkat

4
ไม่ฉันทำไม่ได้ ไรมันด์เล่าเรื่องนี้ให้ฉันฟัง> เมื่อ 15 ปีก่อนตอนที่ฉันอยู่ที่เบิร์กลีย์ ถ้าเขาบอกชื่อนักเรียนฉันมานานแล้วตั้งแต่ลืม (และอาจเป็นไปได้เช่นไรมันด์) บทความ SICOMP 1993 ไม่ได้กล่าวถึงนักเรียนเช่นกัน
Jeff

10

โปรโตคอลการเข้ารหัสคีย์สาธารณะ Needham-Shroeder ซึ่งเป็นโปรโตคอล 5 บรรทัดได้รับการแสดงที่ไม่ปลอดภัย 17 ปีหลังจากการเผยแพร่ นี่คือตัวอย่างที่ชื่นชอบของผู้ตรวจสอบความถูกต้องสำหรับการทำการวิเคราะห์อย่างเป็นทางการของโปรโตคอล crypto


8
หากกระดาษต้นฉบับนั้นให้หลักฐานที่ผิดว่าโปรโตคอลนั้นปลอดภัยไม่นับว่าเป็นข้อผิดพลาด การแสดงให้เห็นว่า cryptosystems ที่เสนอนั้นไม่ปลอดภัยจริง ๆ แล้วเป็นส่วนหนึ่งของการวิจัยใน crypto
MCH

1
เห็นด้วยกับ MCH โปรโตคอลการเข้ารหัสลับเป็นเรื่องที่แตกต่างกันเล็กน้อย
shabunc

6
มีแนวคิดที่แตกต่างกันสองอย่างในโปรโตคอลนี้: โครงร่างการเข้ารหัสและโปรโตคอลการสื่อสาร ผู้เขียนทราบว่าอาจมีการโจมตีในรูปแบบการเข้ารหัส แต่พวกเขาพูดถึงความปลอดภัยของโปรโตคอลการสื่อสารและสรุปว่ามันปลอดภัย: "เราคิดว่าผู้บุกรุกสามารถสอดแทรกคอมพิวเตอร์ในทุกเส้นทางการสื่อสารและสามารถแก้ไขหรือคัดลอกได้ บางส่วนของข้อความเล่นซ้ำข้อความหรือปล่อยเนื้อหาเท็จในขณะนี้อาจดูมากมันเป็นสิ่งเดียวที่ปลอดภัยเมื่อออกแบบโพรโทคอลการรับรองความถูกต้อง "และการโจมตีเป็นประเภท man-in-the-middle
Lo Augck

9

ดิ๊กลิปตันมีการโพสต์ใหม่เกี่ยวกับความรู้ทางคณิตศาสตร์ที่ไม่ใช่ความน่าเบื่อหน่ายและในนั้นเขาบันทึกตัวอย่างของการอ้างสิทธิ์ที่กลายเป็นเท็จหรืออย่างน้อยก็ต้องมีการแก้ไข


8

มีการคาดเดาที่กลายเป็นเท็จ (เช่นการบิดเบือนค่าคงที่ของการวัดประเภทเชิงลบที่พิสูจน์โดย Khot และ Vishnoi) แต่ไม่มีอะไรผิดปกติกับการวางการคาดเดาที่ผิดเนื่องจากหลังจากทั้งหมดมันเป็นการคาดเดา

εεkk

Pยังไม่มีข้อความP


+1 สำหรับไฟน์แมน คุณสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับ Feynman และ P vs NP ได้หรือไม่?
becko

2
ถาม Scott Aaronson เขารู้เรื่องนี้ดี
MCH

2
ชมการพูดคุย TEDนี้ แต่การคิดว่าสิ่งที่ชัดเจนไม่ได้พิสูจน์อะไรเลยและไม่มีประโยชน์
Pratik Deoghare

6
@MCH: ไม่ว่าเฟย์แมนจะเชื่อสิ่งเหล่านี้หรือไม่ฉันไม่คิดว่าเขาเป็นตัวอย่างที่เกี่ยวข้อง ประการแรกข้อความทั้งสองนี้เชื่อกันอย่างกว้างขวางว่าเป็นจริงและประการที่สองเขาไม่เคยอ้างว่าได้พิสูจน์สิ่งเหล่านี้
Joe Fitzsimons

2

7

"ฉันรู้สึกตกใจเมื่อรู้ว่าโปรแกรมค้นหาแบบไบนารีที่ Bentley พิสูจน์แล้วว่าถูกต้องและทดสอบในบทที่ 5 ของ Programming Pearls มีข้อบกพร่องเมื่อฉันบอกคุณว่ามันคืออะไรคุณจะเข้าใจว่าทำไมมันจึงหนีการตรวจจับมาสองทศวรรษ ฉันเลือกเบนท์ลีย์ฉันจะบอกคุณว่าฉันค้นพบข้อผิดพลาดได้อย่างไร: รุ่นของการค้นหาแบบไบนารี่ที่ฉันเขียนสำหรับ JDK มีข้อผิดพลาดเหมือนกันมันถูกรายงานไปยังซันเมื่อเร็ว ๆ นี้ เก้าปีหรือมากกว่านั้น "

-

Joshua Bloch "Extra, Extra - อ่านทั้งหมดเกี่ยวกับเรื่องนี้: เกือบทุกการค้นหาไบนารีและการควบรวมกิจการจะแตก" 2006


7
อันนี้ไม่ได้เป็นข้อบกพร่องในอัลกอริทึม แต่เป็นข้อผิดพลาดในการใช้งาน อัลกอริทึมถูกต้อง ปัญหาคือว่า "int" ประเภทไม่สามารถจัดการกับจำนวนเต็มโดยพลการ
Aaron Roth
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.