クイックノート

ちょっとした発見・アイデアから知識の発掘を

悪魔の証明をベイズ的に考えてみる

悪魔の証明とは、ないものの証明は極めて困難であることを表した言葉です。

知ってる人にとっては当たり前のことですが、
意外とこのことを分かっていない人が多いようです。

冤罪などもいい例ですね。
やっていないことの証明は悪魔の証明になることが多いです。
原理的に困難である無実の証明を要求して、
それができないと有罪にされるという構造になります。

冤罪といえば、ニコラオスの嘲笑という漫画がオススメです。
1巻無料だったりするので是非お試しください。

悪魔の証明をちゃんと理解していないと、 冤罪のように、
時に誤った判断をしてしまう可能性があります。

この記事では、悪魔の証明が確率的にどういう現象なのかを考えてみましょう。

悪魔の証明とは

悪魔の証明とは、ないものをないと証明するのが難しいことを指したものです。

なぜ、「悪魔」なのかというと、
悪魔は「ないもの」の象徴だからです。

みなさんは悪魔はいないと思っていると思いますが、
実際にそれを証明しろと言われたらどうすればいいでしょうか?

仮に、悪魔がいるのであれば、悪魔がいることの証明は簡単です。
実際に悪魔を連れてきて、
「これが悪魔だ。ほらいただろう」
と言えばいいのですから。

では、悪魔がいないことはどのように証明すればいいのでしょう?
何を証拠にすればいいのでしょうか?

このように、ないものの証明は、
ないという証拠すら存在しないことが多いのです。

そのため、証明しろと言われても、
その方法がないという事態が起こります。

確率で考えてみる

今の悪魔の証明の話を確率で考えてみましょう。

悪魔が存在するということをEで、
悪魔が存在しないということをNで表しましょう。

ENのどちらかは正しく、どちらかは間違っているので、
それぞれが正しい確率P(E),P(N)は足して1になります。

 P(E) + P(N) = 1

何事も100%の証明は難しいので、
悪魔が存在する確率がある程度高いと言えたら、
証明完了ということにしましょう。

つまり、P(N) > pとなるような
証拠を提示することが最終的なゴールになります。

ベイズ確率

ある証拠xが提示されたときに、
Nが正しい確率は、

P(N|x)=\frac{P(N)P(N|x)}{Z}

で計算されます。

これはベイズの公式と呼ばれるもので、
P(N)は証拠が提示される前にNが正しいと考えられる確率、
P(x|N)Nが正しいとしたときに、証拠xを掴める確率です。

分母のZは、P(E|x)+P(N|x)=1となるために必要な項で、
それぞれの分子を足したもの
Z = P(E)P(E|x) + P(N)P(N|x)
となります。

確率の計算

とりあえず証拠としては使えるものは全て使うことにしましょう。
つまり、証拠として、その辺にあるものを適当に持ってくることにしましょう。

証拠xが本当に悪魔であることをx=eで、 悪魔ではないことをx=nで表すこととします。

悪魔を連れてこれなかった場合

まずは、連れてきたものが悪魔じゃないという、
あり得そうな場合を考えてみましょう。

P(x=n|E),P(x=n|Nは悪魔がいる場合と、悪魔がいない場合のそれぞれについて、
悪魔じゃないものを持ってくる確率を表します。

P(x=n|N)の方は、明らかに1です。
悪魔はいないのですから、何を持ってきても必ず悪魔ではありません。

一方で、P(x=n|E)の方は、悪魔がいたとしても、
悪魔じゃないものを持ってくることは十分あり得るので、
ゼロではありません。
仮にこの確率を0.9として計算してみましょう。

証拠がない段階ではどちらとも言えないので、P(E)=P(N)=0.5とすると、

P(E)P(x=n|E) = 0.45
P(N)P(x=n|N)=0.5 Z = 0.45 + 0.5 = 0.95

なので、ベイズの公式に値入れれば、

P(E|x=n) \fallingdotseq 0.47
P(N|x=n) \fallingdotseq 0.53

と計算できます。

悪魔じゃないものを連れてきたことで、
若干、悪魔が存在しないという確率が高まりましたが、
目標としている0.9には遠く及ばないので、
証拠として不十分です。

それでは、証拠を積み重ねればどうでしょうか?
今の設定で悪魔じゃない別のものをいくつも持ってきた場合を計算します。

下のグラフが計算結果で、横軸の数を増やすと、
縦軸の悪魔が存在しないという確率が高まっていきます。 だいたい20個くらい悪魔じゃないものを拾ってくると、
確率が90%近くなっています。

f:id:u874072e:20180427154411p:plain:w300

上の設定では、
P(x=n|E)=0.9 でしたが、
悪魔がいたとしても、 悪魔じゃないものを持ってくる確率は90%なんかで済まないはずです。

仮に99%として同じ計算をしてみると、
f:id:u874072e:20180427155059p:plain:w300
悪魔がいないと証明するために200以上のものを持ってこないといけなくなりました。

実際にはもっとP(x=n|E)は高いでしょうから、
もっと沢山の証拠を集めないといけないでしょう。
悪魔がいないことの証明が大変だということが、
そのために必要な証拠が膨大
だということから見えますね。

悪魔を連れてきた場合

では、仮に悪魔を連れてきてしまったらどうでしょう。

P(x=e|N)は当然0です。
いないはずのものは連れてこれません。

すると、自動的に、
P(E|x=e) = 1
P(N|x=e) = 0
となり、悪魔がいることが証明されます。

先ほどの悪魔がいないことの証明には沢山の証拠集めが必要になったのに対して、
悪魔がいることは1つの証拠だけで証明されてしまいました。

このように、証明したいことによって必要な証拠の数が違ってきます
しかも、それは、証明したいことが正しいかどうかに関係ないというのが重要です。
悪魔がいるなんて恐らく正しくないでしょうけど、証明に必要なのは一つの証拠だけでした。

これは、証明が難しいことが間違っていると考えることの危険性を示唆しています。
証明できないから正しくないは、禁句とも言えます。

まとめ

悪魔の証明について、視点を変えて考えてみました。

ベイズの観点から考えると、
証明の大変さは集める証拠の多さに対応して考えることができました。

そして、証明の難しさは、事柄の正しさには関係ないことも見ることができました。

知ってる人は知っている悪魔の証明ですが、
例え知っていても、どうしても私たちは、
証明が難しい=正しくないと考えてしまいがちです。

例えば科学者であっても、その論法を使うことがあります。
有名な「P=NP問題」というものがありますが、
「P=NP」という命題が証明できないから、
多くの科学者は「P=NP」ではないと考えています。
こちらは「ある」ことを証明すればいいという形なので、
悪魔の証明とは違う可能性もありますが、
いずれにしても、
証明の難しさだけで物事の正しさを判断するのは危険ですね。

「P=NP問題」については、下の書籍が分かりやすくてオススメです。

プライバシーポリシー