浮気をした夫が殺される村

久々にふたばにあった問題

50組の夫婦がいる村があります。その村の夫は全員不貞を働いています。村の女は自分の夫以外の男が不貞を働けば、即座にそれが分かります。しかし、自分の夫が不貞を働いても、それを知ることができません。
村にある姦通に関する掟により、自分の夫が不貞を働いていたことを証明できる女は、その夫をその日のうちに殺さなければなりません。
ある日、決して過ちを犯さないことで知られている女王がこの村を訪れ、少なくとも一人の夫が不貞を働いていると宣言します。
この村には何が起こるのでしょうか?
ただし、女たちは、非常に論理的であり、他の女が自分と同じ状況にあることも知っています。

昼休みに問題を見たときに「夜もう一回見たら答えが出て終わっちゃってるんだろな」と思ってたけど、夜9時現在でまだ問題の解釈でもめてた。


論理パズルとして見た場合この問題の論点は(少なくとも僕には)明らかで、

  • 女達は望むと望まざるとに関わらず、ある一定の条件下では夫の浮気を論理的思考の結果として知ることになる
  • その条件のトリガーの1つは、その日のうちに殺さなければなりませんという条件から、日をまたいだときの前日までの状況を知ることである

だと思う。
また、論理パズルが好きな人ならほんのちょっと考えると

  • 対称性から50人の男は全員一斉に殺されるかまったく殺されないかのいずれかになる。ある特定の日にだれかが殺されて誰かが生き残ることは無い
  • 他の女達の行動を見届けてから出ないと判断が出来ないので、初日にはなにも起こらない

ということも容易に推測がつく。
また、最終的に何も起こらないのではパズルとしてなにも面白くないので、答えとしては「50日目(あるいは49日目か51日目あたり。初日付近の条件をくわしく分析していないので)に全ての男が殺される。」というのあ妥当な線だろうとあたりをつける。(ズル)
そうすると問題の構造からほぼ必然的にこの問題は数学的帰納法で考えるべきだということになる。
じゃあ実際に考えてみよう。


まず数学的帰納法の定石どおり、不貞を働いている男が一人だけという状況を考える。
この状況で女王がやってきて宣言を行ったらなにが起きるだろう。

  • 浮気しているのが1人だけの場合 不貞を働いている男の妻は自分の夫の不貞を知らない。また他の男は不貞を働いていないので、この女は不貞を働いている男を一人も知らないことになる。自分の夫以外のだれかが不貞を働いた場合それは自分の耳にも入っているはずである。したがってこの女は論理的帰結として「不貞を働いている少なくとも一人」の男が自分の夫であることを知る。したがってこの男は妻にその日の内に殺される。

これは明らかだろう。


じゃあ具体的なイメージが湧くように、不貞を働いている男が2人いる場合を。

  • 浮気しているのが2人の場合 さきほどの考察から、不貞を働いている男が一人しかいない場合その男は初日に殺されているはずである。ところが初日が終わっても誰も殺されない。つまり夫に浮気されている女は二日目に入って不貞を働いている男が少なくとも2人いることを論理的思考の帰結として知るところとなる。しかし自分が知っている「不貞を働いている男」は1人しかいない。したがってもう1人が自分の夫であることは明らかである。以上の理由によりこの2人の男の妻は2日目にそれぞれ自分の夫を殺す。

これも一見問題が無いように思われる。
具体的に文章に書き下すのは省略するが、以上のケースを一般化していくと

  • n日目までに誰も殺されないときは、少なくともn+1人の男が不貞を働いていることが分かる

ということになり、不貞を働いている男の数と等しい日数が訪れたときに全ての浮気している男は殺されることになる。
つまりこの問題の答えは、50人の男全てが50日目に殺されるということになる。


この流れは一見もっともらしく思えるけど、実はちょっと納得の行っていない部分がある。
具体的にはもうちょっと検証してみるけど、もし類似の問題で条件が少し違っているものを知っている人がいたら教えてもらえると大変ありがたい。
実は同じ(ような)問題をちょっと前に見た記憶があるのだけれど、その時は上記のような論理を組み立てて納得してしまった記憶がある。
今回納得が行かないのは前に見たときにあんまり深く考えなかったからなのか今回の問題の条件が少し違っているからなのかちょっと自信が無いのです。