Yudkowsky Sequences 日本語訳
非公式日本語訳 — 原著者・発行元による公式の翻訳ではありません

Eliezer Yudkowsky — 非公式日本語訳

オッカムの剃刀

Occam’s Razor

説明が複雑であるほど、信念空間の中でそれを見つけるだけでも多くの証拠が必要になる。(伝統的合理性では、これはしばしば「命題が複雑であるほど、それを論証するために必要な証拠も多くなる」と誤解を招く形で表現される。)説明の複雑さはどう測ればよいのだろうか。必要となる証拠の量はどう決めればよいのだろうか。

オッカムの剃刀は、しばしば「事実に適合する最も単純な説明」と表現される。これに対してロバート・ハインラインは、最も単純な説明とは「通りの先の女は魔女だ。彼女がやったのだ」であると応じた。

英語の文の長さは「複雑さ」を測る良い方法ではないことがわかる。そして、事実を単に禁じていないだけで事実に「適合」しているとするのでは不十分である。

正確には、なぜ英語の文の長さは複雑さの尺度として不適切なのだろうか。文を声に出して話すとき、あなたは聞き手と共有している概念のラベルを使っているからだ――受け手は、そのラベルの内側に複雑さをすでに蓄えている。ハインラインの文全体を「Tldtsiawsdi!」と略し、説明全体を一語で伝えられるようにしたとしよう。さらによいことに、「Fnord!」のような短い恣意的なラベルを与えよう。これで複雑さは減るだろうか。減らない。あらかじめ聞き手に、「Tldtsiawsdi!」は「通りの先の女は魔女だ。彼女がやったのだ」を意味すると伝えなければならないからだ。「魔女」自体が、いくつもの途方もない主張を表すラベルである――私たち全員がその意味を知っているからといって、その概念が単純だということにはならない。

巨大な電撃が空から走って何かに当たり、北欧の部族民が「きっと非常に強力な行為者が怒って稲妻を投げたのだろう」と言う。人間の脳は、既知の宇宙で最も複雑な人工物である。怒りが単純に見えるとすれば、それは感情を実装している神経回路のすべてが私たちには見えないからだ。(ユーモアの感覚を持たない異星種族に、なぜサタデー・ナイト・ライブが面白いのか説明しようとするところを想像してみてほしい。だが優越感を抱いてはいけない。あなた自身にも、fnordの感覚はないのだから。)怒りの複雑さ、そして実のところ知性の複雑さは、雷を操る行為者トールを仮定した人間たちによって覆い隠されていた。

人間にとっては、マクスウェル方程式を説明するほうがトールを説明するより、はるかに時間がかかる。人間には怒りのための生得的な語彙があるが、微積分のための生得的な語彙はない。電気の説明に取りかかれるようになるまでに、自分の言語、その言語を支える言語、さらには数学という概念そのものを説明しなければならない。

それでも、何らかの意味では、マクスウェル方程式は人間の脳や雷を操る行為者トールより単純であるはずだと思われる。

実際、そうである。マクスウェル方程式をシミュレートするコンピュータ・プログラムを書くのは、トールのような知的で感情を持つ心をシミュレートするコンピュータ・プログラムを書くよりも、(実のところ)途方もなく容易である。

ソロモノフ帰納の形式体系では、「記述の複雑さ」を、その記述を出力として生成する最短のコンピュータ・プログラムの長さで測る。何かを行う「最短のコンピュータ・プログラム」について語るには、コンピュータ・プログラムの空間を指定する必要があり、そのためには言語とインタープリタが必要になる。ソロモノフ帰納はチューリングマシン、より正確には、チューリングマシンを指定するビット列を用いる。チューリングマシンが気に入らなければどうするか。その場合も、自分の好きなプログラミング言語で与えたどんなコードでも解釈する独自の万能チューリングマシンを設計するために、一定の複雑さのペナルティが加わるだけである。異なる帰納の形式体系同士のペナルティは、最悪の場合でも、その形式体系のための万能インタープリタの大きさに対応する一定の係数にとどまる。

ソロモノフ帰納のより優れた版(私見では)では、コンピュータ・プログラムは決定論的な予測を出すのではなく、文字列に確率を割り当てる。たとえば公平なコインを説明するプログラムとして、2N個ある長さNのすべての文字列に等しい確率を割り当てるプログラムを書ける。これが、観測データへの適合に対するソロモノフ帰納の取り組み方である。プログラムが観測データに割り当てる確率が高いほど、そのプログラムはデータによりよく適合する。そして確率の総和は1でなければならないので、ある可能性によりよく「適合」するためには、別の可能性から確率質量を奪わなければならず、そちらへの「適合」はずっと悪くなる。表に100%、裏にも100%の確率を割り当てる超公平なコインなど存在しない。

データへの適合度とプログラムの複雑さを、どう釣り合わせればよいのだろうか。複雑さのペナルティを無視して、適合度だけを考えるなら、データを決定論的に予測すると主張し、100%の確率を割り当てるプログラムを常に好むことになる。コインがhtthhtと出たなら、コインはhtthhtと出るよう細工されていたと主張するプログラムは、コインは公平だと主張するプログラムより、観測データに64倍よく適合する。反対に、適合度を無視して複雑さだけを考えるなら、「公平なコイン」という仮説は、ほかのどんな仮説よりも常に単純に見える。たとえコインがhthhthhhthhhhthhhhht……と出たとしてもだ。実際、公平なコインは確かに単純であり、このデータには、ほかのどの20回のコイントスの文字列に対してともまったく同じだけ適合する――多くも少なくもない――しかし私たちには、それほど複雑ではなさそうで、しかもデータにはるかによく適合する別の仮説が見えている。

プログラムに二進数の情報をさらに1ビット保存させれば、可能性の空間を半分に絞り、残った空間の全点に2倍の確率を割り当てられるようになる。これは、プログラムの複雑さ1ビットには、適合度における「2倍の利得」以上の代償を課すべきだと示唆する。htthhtのような結果を明示的に保存するコンピュータ・プログラムを設計しようとするなら、複雑さで失う6ビットが、適合度の64倍の改善によって得られた妥当性をすべて打ち消さなければならない。そうでなければ、いずれは公平なコインはすべて細工されていると判断することになる。

プログラムが賢く振る舞ってデータを圧縮しているのでないかぎり、データからプログラムの記述へ1ビット移しただけでは何の役にも立たないはずである。

ソロモノフ帰納による系列予測では、許可されたすべてのコンピュータ・プログラムについて和を取る――あらゆるプログラムを許せば、ソロモノフ帰納は計算不能になる――各プログラムには、ビット単位のコード長を指数とする(1/2)の累乗を事前確率として与え、さらに、それまでに観測されたすべてのデータへの適合度で各プログラムを重みづけする。こうして、将来のビットを予測できる専門家の重みつき混合が得られる。

最小メッセージ長の形式体系は、ソロモノフ帰納とほぼ同等である。まずコードを記述する文字列を送り、次にそのコードでデータを記述する文字列を送る。どの説明であれ、メッセージ長が最短になるものが最良である。許容されるコードの集合をコンピュータ・プログラムの空間とみなし、コード記述言語を万能マシンとみなせば、最小メッセージ長はソロモノフ帰納とほぼ同等になる。(ほぼ、というのは、すべてのプログラムについて和を取るのではなく、最短のプログラムを選ぶからである。)

これによって、0101010101という系列のパターンを「通りの先の女は魔女だ。彼女がやったのだ」で説明することの問題点が、はっきり見える。観測した系列を友人に説明するメッセージを送るなら、こう言わなければならない。「通りの先の女は魔女だ。彼女が系列を0101010101にした」。魔術だという非難を加えても、メッセージの残りを短くすることはできない。彼女の魔術が引き起こしたデータを、依然として細部まで余さず記述しなければならない。

魔術は、観測結果を質的に許容するという意味では、それに適合するかもしれない。しかしそれは、魔術が何でも許容するからであり、「フロギストン!」と言うのと同じである。したがって、「魔女」と言った後でも、観測されたデータを細部まで余さず記述しなければならない。魔術についてのメッセージを送っても、観測結果を記述するメッセージの全長を圧縮したことにはならない。ただ役に立たない前置きを加え、全長を増やしただけである。

本当の狡猾さは、「魔女がそれをやった」の「それ」に隠されていた。魔女が何をやったのか。

もちろん、後知恵バイアスアンカリング偽の説明偽の因果肯定的バイアス、そして動機づけられた認知のおかげで、女が魔女なら、コインを0101010101と出るようにするのは当然だと、あまりにも明白に思えるかもしれない。だが、その話にはもうじき取りかかる……