【連載】8×8にランダムに敷き詰められたオセロ盤の石を1つ裏返して1から64を表す方法(2)
昨日に続いて、YouTubeの「ナゾトキラボ【IQ & 謎解きチャンネル】」で公開されている、
●絶対に解けない数学問題!?世界一難しい論理クイズ
についての考察。
昨日も述べたように、この謎解きのポイントは、
- 8×8=64個のマス目に2進数表示で「000000」から「111111」という6桁(6ビット)の「番地」を割り付ける。
- それぞれのマス目において、白石がおかれている場合の番地を調べる。番地の6桁目、5桁目、...1桁目それぞれにおいて「1」がいくつあるか数える。例えば「100001」という番地に白石が置かれていた場合は、6桁目と1桁目で「1」が1回ずつカウントされる。
- 6桁目、5桁目、...1桁目それぞれにおいて、カウントされた「1」の数が偶数の時は0、奇数の時は1に置き換える。
- このようにして、64個のマス目の上に置かれた白黒の石が作る264通りのパターンを、2進数6桁(6ビット)で表記される64通りの数値に置き換えることができる。
- 1から64いずれかの数値が告げられた時、この数値を6桁の2進数に置き換える。但し64は「000000」とする。
- 4.で得られたオセロ盤の元々のパターンに対応する数値と、告げられた数値を照合し、「特殊な引き算」を行う。特殊な引き算というのは、各桁ごとに独立して行われる引き算であり、繰り上がりはしない。また、絶対値のみをとるものとする。例えば、オセロ盤のパターンが「011110」であり、告げられた数が「111100」であった場合の「特殊な引き算」の結果は「100010」となる。
- 6.で得られた結果に相当する「番地」の石をひっくり返すことで、オセロ盤のパターンに対応する数値を告げられた数値と同じ値にすることができる。
今回のYouTubeでは「告げられる数が1〜64、8×8のオセロ盤」という条件(6ビット条件)のもとで説明されていたが、実際には1ビット条件、2ビット条件、...nビット条件にも一般化できるはずである。
なお、
- あらかじめ数(有限個)が与えられる。但し、いくつなのかは事前に分からない。
- 新たに数が告げられる。
- 上記1.の数に何らかの演算をおこなって、2.の数を表現する。
という方略をめぐる問題としては、例えば次のようなクイズが可能である。但し、プレーヤーAとBは事前に相談することができ、協力して問題解決につとめるものとする。
- 部屋の机上には0〜9いずれかの数の書かれた1枚のカードXが置かれている。
- まずプレーヤーAがこの部屋に入り、0から9のうちのいずれかの数字が告げられる。
- さらにプレーヤーAには、0〜9が書かれたカードYが与えられる。プレーヤーAはそのうちの1枚を選ぶ。
- プレーヤーAが退室後、プレーヤーBが入室する。プレーヤーBには、カードXと、プレーヤーAが選んだカードYの合計の値のみが告げられる。
- プレーヤーBは、この合計値だけから、プレーヤーAに告げられた数字を言い当てることができるか。
次回に続く。
|