コンピュータサイエンスの長期にわたるエラー


26

これはcstheoryスタックに関する最初の質問なので、何らかの形でエチケットに違反している場合でも失礼にならないでください)

私たちが知っているように、数学では、有名な数学者、スーパースター、天才でさえ、時々深刻な間違いをしています。たとえば、4色の定理とフェルマーの定理はどちらも、最も明るい頭脳でさえも妄想に陥るという劇的な事例を提供します。いくつかの偽の証拠の不正確さを証明するのに何年もかかることがあります。

私の質問は、コンピューターサイエンスにおけるそのような間違いの顕著な例をいくつか教えていただけますか?「Dr. Xは1972年にO(log n)時間未満でYを実行することは不可能であることを証明しましたが、1995年には彼が実際に間違っていたことがわかりました」。


13
顕著な例ではありません:Karp、Vazirani&Vazirani(1990)によるオンラインの二部一致アルゴリズムは、約15年後に発見された1つの補題に誤りがありました。
ジャガディッシュ

2
@shabuncのこれらの種類の質問は回答のリストを求めているので、community-wikiタグがそれに適しています。
スレシュヴェンカト

4
また、この質問は関連していますcstheory.stackexchange.com/questions/3616/...
スレシュヴェンカト

2
エラーについて尋ねることが無礼である場合、あなたの質問自体は無礼であり、タイトルの「エラー」という言葉を避けることは解決策ではありません。
伊藤剛

回答:


28

計算幾何学の悪名高い例は、Edelsbrunner、O'Rourke、およびSeidel [FOCS 1983、SICOMP 1986]によって公開された超平面配置のゾーン定理の誤った証明です。この証明は、Edelsbrunnerの1987年の計算幾何学の教科書にも掲載されています。

ゾーン定理:R dの超平面の配置では、超平面と交差するすべてのセルの総複雑度はO n d 1です。nRdO(nd1)

ゾーン定理は、R dの超平面の配置を構築する標準の再帰的増分アルゴリズムがO n d時間で実行されるという証明の重要なステップです。nRdO(nd)

1990年、Raimund Seidelは、計算幾何学のクラスの学生が微妙な技術的ポイントに挑戦した後、公開された証明が間違っていることを発見しました。一方、超平面/半空間/シンプレックス/準代数的範囲の検索に関する膨大な文献が開発されており、それらはすべて、配置の構築時間に依存し、順番にゾーン定理に依存していました。(これらの著者の誰もバグに気づきませんでした。ライムンドは、彼が挑戦される前の数年間、公開された「証明」を詳細に教えていました。)O(nd)

幸いなことに、Edelsbrunner、Seidel、およびSharir は、ゾーン定理の正しい(そしてはるかに単純な)証拠をほとんどすぐに発見しました[CS 1991の新しい結果と新しい傾向、SICOMP 1993]。


@Jɛff E、これは素晴らしい例です、ありがとう!
-shabunc

4
賢い生徒が誰であったか知っているのですか?
スレシュヴェンカト

4
いいえ、私はしません。ライムントは、私がバークレーにいた15年以上前に話をしました。彼が学生の名前を教えてくれたら、私はずっと忘れていました。(そしておそらくライムンドもそうです。)SICOMP 1993の論文でも、学生については言及されていません。
ジェフ

10

5行のプロトコルであるNeedham-Shroeder公開キー暗号化プロトコルは、公開から17年後に安全でないことが示されています。これは、暗号プロトコルの正式な分析を行うための検証担当者のお気に入りの例です。


8
元の論文がプロトコルが安全であるという間違った証拠を与えない限り、これはエラーとしてカウントされません。提案された暗号システムが安全でないことを示すことは、実際には暗号の研究の一部です。
MCH

1
MCHに同意すると、暗号プロトコルは微妙に異なる話です。
-shabunc

6
このプロトコルには、暗号化スキームと通信プロトコルという2つの異なる概念があります。著者は、暗号化スキームに攻撃がある可能性があることを認識していましたが、通信プロトコルのセキュリティについて議論し、安全であると結論付けました。メッセージの一部、メッセージのリプレイ、または虚偽の資料の送信。これは極端な見方に思えるかもしれませんが、認証プロトコルを設計するときに唯一安全なものです。そして、攻撃は中間者タイプです。
ロイック


8

間違っていると判明した推測がありました(たとえば、KhotとVishnoiによって否定されたネガティブタイプメトリックの一定の歪みの埋め込み)が、結局は推測であるため、間違った推測のポーズをとることには何の問題もありません。

長くは続かなかった実際の混乱の例は、並列の繰り返しです。それは、最初のエラー確率との対話プロトコルのためと考えられた、エラーが減少するε K用のk個の並列反復。この主張は誤りであることが判明し、実際には、並列反復をより良く理解しようとする試みは、多くの美しい数学への扉を開くことになりました。ϵϵkk

また、ファインマンは、(または、おそらく古典力学によって量子力学を効率的にシミュレートできないことは明らかだと思っていたと考えられていた)。しかし、彼は理論的なコンピューター科学者ではなく、この物語の正確性についても誰も確信していませんでした。PNP


ファインマンの場合は+1。ファインマンとP対NPに関する詳細を教えてください。
ベッコ

2
スコットアーロンソンに聞いてください、彼はこのことをよく知っています。
MCH

2
見るこのTEDトークを。しかし、何かが明白であると考えることは何も証明せず、役に立たない。
プラティックデオガレ

6
@MCH:ファインマンがこれらのことを信じたかどうかにかかわらず、私は彼が関連する例だとは思わない。第一に、これらの声明の両方が真実であると広く信じられており、第二に、彼はこれらのことを証明したと主張したことはありません。
ジョーフィッツシモンズ

2

7

「Bentleyが正しいことを証明し、Programming Pearlsの第5章でテストしたバイナリ検索プログラムにバグが含まれていることを知り、ショックを受けました。私はBentleyを選んでいますが、バグの発見方法を教えてください:JDK用に書いたバイナリ検索のバージョンには同じバグが含まれていました。最近、誰かのプログラムを壊したときにSunに報告されました。 9年かそこら。」

-

ジョシュアブロッホ 「余分、余分-それについてのすべてを読みなさい:ほぼすべてのバイナリ検索およびマージソートは壊れています」 2006


7
これは実際にはアルゴリズムのバグではなく、実装のバグです。アルゴリズムは正しいです。問題は、「int」型が実際に任意の整数を処理できないことです。
アーロンロス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.