読者です 読者をやめる 読者になる 読者になる

インフラSE日記

OSS、仮想化、金融工学、ゲーム、ときどきラーメン

200人の赤と青の幼女のお祭り

みなさん幼女問題ってご存知ですか?

幼女とは「幻の女」の略で、論理的思考にのみ従う悪魔(天使?)のことです。

ラプラスの悪魔みたいに、超越した存在のことを悪魔っていうことがありますね。

 

ブログを書く書く言っておきながら全く書いていなかったので幼女問題に挑戦してみました。

 

問題は以下の通り。

08.200人の赤と青の幼女のお祭り

ある村に住む200人の幼女は、この時期になると髪の毛の色が変わる。
赤か青になるのだが、自分では自分が何色に変わったか見ることができない。
赤も青も少なくとも一人は存在することが保証されている。

そしてこの時期になると、幼女たちは自分の色を知るためのお祭りを開催する。
お祭り期間中、幼女たちは広場に出かけて、交流をする。
このとき、髪の色について話題に出してはいけないが、他人の色を見ることは構わない。
そして、自分の色がわかったひとは次の日広場に出かけず、家にこもる。

つまり、祭り初日は200人の幼女が広場に来るが、数日後には自分の色がわかったひとが来なくなり、最終的には誰も来なくなる。
誰も来なくなったときに、祭りは終了する。

今年の幼女の髪の色は赤100人、青100人だった
このとき祭りが終了するのは何日後か?

 

 

以下、僕の回答。

100日後。

 

赤い髪の幼女がn人、青い髪の幼女がn人いると一般化して考える。
「赤も青も少なくとも一人は存在する」を☆で表す。
また、赤い髪の幼女から連番を振り、幼女1, 幼女2, ..., 幼女n+1, ... , 幼女2nとする。

(i)n=1のとき
赤い髪の幼女が「自分は青い髪である」と仮定すると
条件☆に矛盾するため、赤い髪の幼女は自分が赤い髪であるとわかる。
青い髪の幼女も同様であるため、1日後に2人とも来なくなり祭りは終了する。

(ii)n=2のとき
幼女1が「自分は青い髪である」と仮定すると、幼女2は「自分以外3人は全員髪が青い、条件☆から自分の髪は赤い」とわかるはずである。
すなわち、幼女1は翌日幼女2が来なければ自分の髪の毛は青い、翌日幼女2が来たら赤いと判断することができる。
同様に幼女2も考えるはずである。
幼女1, 2ともに髪が赤く翌日来るため、当日自分の髪は赤いとわかる。
幼女4, 5, 6も色が自分の髪の毛の色が青になっただけで考え方は同様である。
1日後全員が自分の髪の色がわかり、2日後に全員来なくなり祭りは終了する。

(iii)n=3のとき
幼女1が「自分は青い髪である」と仮定する。
さらに幼女2がこの仮定の下、「自分が青い髪である」と仮定すると、
幼女2は「自分以外3人は全員髪が青い、条件☆から自分の髪は赤い」とわかるはずである。
すなわち、幼女2は翌日幼女3が来なければ自分の髪の毛は青い、翌日幼女3が来たら赤いと判断することができるはずである。
翌日幼女3が来るため、幼女2は自分の髪の毛の色が青いとわかる。
幼女2が2日後も祭りに来た場合、幼女1の「自分は青い髪である」の仮定が間違っていたことになるため、幼女1は2日後に自分の髪の色が赤いとわかる。
同様に幼女2, 3も考えるはずである。
幼女4, 5, 6も髪の毛の色が青になっただけで考え方は同様である。
2日後に全員が自分の髪の色がわかり、3日後に全員来なくなり祭りは終了する。

(i)~(iii)からn日後に祭りが終了すると予想できる。

(iv)n=kのとき
幼女1が「自分が青い髪である」と仮定する。
さらに幼女2, ..., 幼女k-1がこの仮定の下、「自分が青い髪である」と仮定すると、
幼女kは「自分以外2k-1人は全員髪が青い、条件☆から自分の髪は赤い」とわかるはずである。
すなわち、幼女k-1は翌日幼女kが来なければ自分の髪の毛は青い、翌日幼女kが来たら赤いと判断することができるはずである。
k-1日後に幼女2, 3, ..., kが祭りに来た場合、幼女1の「自分は青い髪である」の仮定が間違っていたことになるため、
幼女1はk-1日後に自分の髪の色が赤いとわかる。
同様に幼女2, 3, ..., kも考えるはずである。
幼女k+1, ..., 幼女2kも髪の毛の色が青になっただけで考え方は同様である。
k-1日後に全員が自分の髪の色がわかり、k日後に全員来なくなり祭りは終了する。

 

以上から100日後に祭りが終了することがわかる。

 

 

 

補足

100%合っている保証はありませんので、ご了承ください。

にしても幼女だらけの村ってすごいですね。祭りといえば僕は何故か金田一少年の事件簿の「雷祭殺人事件」を思い出すんですが、僕だけですかね?

 

次は別の幼女問題に挑戦するか、ZabbixかOracleあたりのことを書きたいです。

せめて週1の更新にしよう。。

 

そんな感じです。