小人のパズル
ネタバレ注意。数学パズルを楽しみたい人は先に問題を読み、悩むこと。
おれも解けなかったので後出しじゃんけんだが。
なお、そのままズバリの回答は書いてませんが、ある種の人々にとってはかなりのヒントになってると思われます。
改行 改行 改行 改行 改行 改行 改行 改行
この問題、コメント欄の「99人助かっちゃうんですねこれが…」というのが実は大きなヒントになっている。列の最後尾から順番に自分の色を答えていくことにすれば、列のどの位置にいても自分の番が回ってきたときには(自分および最初の尊い犠牲者を除いた)他の98人の色を知っていることになる。その上で、最初の尊い犠牲者が何色を選んだのか?だけが重要になる。
このことに気づくと、この問題を変換することができる。
「広場に99人の小人がいて、すべての小人が赤・青・黄のうちどれか一色の帽子をかぶっている。他人の帽子の色はすべて見えているが、自分の帽子の色だけは分からない。この様子を塔の上から眺めているニンゲンがいる。ニンゲンはすべての小人の帽子の色を見ることができる。ニンゲンは赤・青・黄の3種類の旗を持っている。ここでニンゲンは一つの旗を選び、塔の上で振った。その様子を見ていた小人たちは、ニンゲンがどのようにして旗の色を選んだかを知っていたので、全員が自分の帽子の色を知ることができた。さて、ニンゲンが旗の色を選んだときのロジックは?」
さらに記号的に変換する。なお、3進数の1つの桁をTrと表記している。
「99Trの情報を送信する。Tr列の先頭にエラー訂正Trを追加し、全体で100Trにする。伝送路でノイズが乗り、エラー訂正Tr以外のどこかのTrが欠落する。ただし、どのTrが欠落したのかは分かる。このとき、受信側で欠落したTrを復元するには、エラー訂正Trはどのように生成すべきか。」
こんな問題だったら正解に気づいたかもしれない。おれは頭が固いなあ。
慶応SFC「情報リテラシー」の第1回課題も面白い!