这是我在cstheory堆栈上的第一个问题,因此,如果我以某种方式违反礼节,不要太粗鲁)
众所周知,即使在数学上,甚至著名的数学家,超级巨星和天才也在不时犯下严重的错误。例如,四色定理和费马定理都为我们提供了戏剧性的案例,说明即使最聪明的头脑也可以被欺骗。甚至可能需要数年的时间才能证明某些虚假证据的不正确性。
我的问题是-您能提供一些计算机科学中此类错误的杰出例子吗?我不知道,诸如“ X博士在1972年证明不可能在不到O(log n)的时间内做Y,但在1995年证明他实际上是错的”。
这是我在cstheory堆栈上的第一个问题,因此,如果我以某种方式违反礼节,不要太粗鲁)
众所周知,即使在数学上,甚至著名的数学家,超级巨星和天才也在不时犯下严重的错误。例如,四色定理和费马定理都为我们提供了戏剧性的案例,说明即使最聪明的头脑也可以被欺骗。甚至可能需要数年的时间才能证明某些虚假证据的不正确性。
我的问题是-您能提供一些计算机科学中此类错误的杰出例子吗?我不知道,诸如“ X博士在1972年证明不可能在不到O(log n)的时间内做Y,但在1995年证明他实际上是错的”。
Answers:
计算几何学中一个臭名昭著的例子是Edelsbrunner,O'Rourke和Seidel出版的关于超平面布置的区域定理的不正确证明[FOCS 1983,SICOMP 1986]。该证明还出现在Edelsbrunner的1987年计算几何学教科书中。
区域定理:在的超平面的任何排列中,与任何超平面相交的所有像元的总复杂度为。
区域定理是证明在建立超平面排列的标准递归增量算法在时间中运行的关键步骤。
在1990年,Raimund Seidel在其计算几何课上的一个学生在一个微妙的技术问题上遭到挑战后,发现已发表的证明不正确。同时,关于超平面/半空间/单形/半代数范围搜索的大量文献已经开发出来,所有文献都依赖于构造时间进行安排,而这又依赖于区域定理。(这些作者都没有注意到该错误。在受到挑战之前,Raimund已经详细教授了已发布的“证明”已有几年了。)
幸运的是,Edelsbrunner,Seidel和Sharir几乎立即发现了区域定理的正确证明(并且更简单!)[CS 1991年的新结果和新趋势,SICOMP 1993年]。
Needham-Shroeder公钥密码术协议(一种5行协议)在其发布后的17年中被证明是不安全的。这是验证人员对加密协议进行形式分析的最喜欢的示例。
迪克·利普顿(Dick Lipton)关于数学知识的非单调性有一个新的帖子,他在其中记录了一些事实证明是虚假的,或者至少需要修正的主张。
曾经有一种猜想是错误的(例如,由Khot和Vishnoi否定了否定类型度量的常数失真嵌入),但提出错误的猜想并没有错,因为毕竟这是一个猜想。
并行重复是一个持续时间不长的实际混乱示例。最初认为,对于具有错误概率的交互式协议,对于并行重复,错误减小为。这种说法被证明是错误的,实际上,试图更好地理解并行重复的尝试为许多精美的数学打开了大门。
人们还认为,费曼曾经认为很明显(或者量子力学显然不能用经典计算机有效地模拟)。但是那时他不是理论计算机科学家,也没有人确定这个故事的准确性。
“我很震惊地得知Bentley证明是正确的并随后在《 Programming Pearls》第5章中对其进行了测试的二进制搜索程序包含一个错误。一旦我告诉了它是什么,您就会理解为什么它逃脱了二十年的检测。唯恐您认为我选择了Bentley,让我告诉您我是如何发现该错误的:我为JDK编写的二进制搜索版本也包含相同的错误。最近,它在等待某人的程序后中断了程序,并已报告给Sun。九年左右。”
-
约书亚·布洛赫(Joshua Bloch), “额外,额外-阅读全部:几乎所有二进制搜索和合并排序均被破坏”, 2006年