じぶん更新日記・隠居の日々
1997年5月6日開設
Copyright(C)長谷川芳典



08月のインデックスへ戻る
最新版へ戻る


クリックで全体表示。

 8月1日の岡山は最高気温が36.8℃まで上がった。腕時計の温度は、炎天下では42.4℃まで上がった【写真下】。空気は澄んでおり、半田山植物園の展望台からは四国の山々が見えていた(写真上)

2022年8月2日(火)



【連載】8×8にランダムに敷き詰められたオセロ盤の石を1つ裏返して1から64を表す方法(1)

 7月29日、YouTubeの「ナゾトキラボ【IQ & 謎解きチャンネル】」で、

絶対に解けない数学問題!?世界一難しい論理クイズ

という興味深い話題を取り上げていた。問題の概要は以下の通り。
  • 部屋に8×8のオセロ盤があり64個の石がランダムに敷き詰められている。
  • まずプレーヤーAがこの部屋に入り、1から64のうちのいずれかの数字が告げられる。
  • プレーヤーAは、オセロ盤の上の石を1つだけ反転させる(どの石でもよいが必ず1つ反転させなければならない)。
  • プレーヤーAが退室後、プレーヤーBが入室し、オセロ盤を手がかりにして、プレーヤーAに告げられた数字を言い当てる。どうすれば正解を出せるか?
なお、プレーヤーAとBは事前に相談することができるが、Aの入室後には一切連絡をとることができない。また、オセロ盤の向きは固定されている。

 この問題の興味深いところは、室内のオセロ盤の石がどのように配置されていたのか、またAがどれを動かしたのかという情報はBには全く伝えられないことである。にもかかわらず、BはどうやってAに告げられた数字を言い当てられるのか?という点である。
 この問題が「ゼッタイに解けない」とか「世界一難しい」と直観されるのは、8×8=64枡のオセロ盤は64通りの情報しか伝えられないと錯覚してしまうことにある。実は64通りの情報というのは6ビットであり6桁の二進数で表現できる。いっぽうオセロ盤の情報は64ビット以上の情報を含む(白黒の並びかただけであれば64ビットだが、例えば8×8のマス目と、4×16のマス目、64個の石を横に並べた形というように二次元的な情報を利用することになれば64ビットを上回る)。なので、この問題の解法のポイントは、室内のオセロ盤の石がどのように並んでいても、1つの石を反転させるだけで、AにもBにも解読できるようなパターンで1から64を表現することにあった。

 私が理解した範囲の解法は以下のようなものであった。
  1. 8×8の64個のマス目に、二進数表記で000000から111111(十進数の63)までの順番をつける。これを「番地」と名づける(←長谷川が独自に命名)。
  2. 与えられた配置(白黒のパターン)において、番地の6桁目、5桁目、4桁目、...1桁目それぞれが「1」と表記されているマス目の上に白石が何個あるか数える。例えば、6桁目が「1」となっているマス目というのはオセロ盤の下半分32マスなのでそこに何個の白石があるのかを数える。
  3. 白石が偶数個の時は0、奇数個の時は1とする。
  4. こうすることで、敷き詰められた石のあらゆるパターンは0から63のいずれかの数値に対応させることができる。【厳密には、漏れなく対応できていることを証明する必要あり?】
次に、プレーヤーAに告げられた数を6桁の二進数に置き換える。但し、64は7桁(1000000)になってしまうので、「64」と告げられた時は「0」と告げられたものとして置き換える。
 さて、もともとの配置から表現される0から63と、プレーヤーAに告げられた1から63をそれぞれ二進数6桁で表すと、ある桁では一致し、別の桁では不一致となる。例えば、もとの配置が「30」、プレーヤーAに告げられた数が60であったとすると、
  • 30:011110
  • 60:111100
というように6桁目と2桁目の0と1を逆にすれば、告げられた数に置き換えることができる。これは非常に手間がかかる作業であると直観されるが、実は、これは、変えたくない桁をゼロ、変えたい桁を1に置き換えた時の「100010」に相当するマス目の石をひっくり返すことで達成できる。【「ひっくり返す」というのは偶数個と奇数個の変換であり、個数の増減は問題にならない】。

 この方法で1つ問題となるのは、64個のパターンで表される数と、プレーヤーAに告げられた数が一致した場合である。ルール上、プレーヤーAはどれか1つの石を反転させなければならないので、そうすると別の数に置き換えられてしまう。しかし、幸い、「000000」という番地の石は白であっても黒であってもパターンを表す数には影響を与えないので、これを反転させることで問題は解消できた。

 次回に続く。