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



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


クリックで全体表示。

 岡山では8月5日昼の12時00分〜12時50分頃、空が暗くなり、稲妻が光り、強い雨が降った。気象庁統計によると、12時〜13時までに51ミリの降水量を記録。10分ごとの詳細データでは、12時10分〜12時40分のあいだは、1時間当たりに直すと60〜100ミリにも達する強い雨であった。
 降水量51ミリは、この時間帯では全国の降水量ランキングでトップとなった。また、この影響で津山線は12時41分〜15時50分頃まで運転を見合わせた。

 なお、この日は最高気温が35.0℃の猛暑日であったが、大雨の影響で急降下し、12時44分にはこの日の最低気温23.9℃を記録した。

2022年8月6日(土)



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

 昨日に続いて、YouTubeの「ナゾトキラボ【IQ & 謎解きチャンネル】」で公開されている、

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

についての考察。

 昨日までのところで、オリジナルの8×8盤のほか、2×2盤や1×2盤でも、プレーヤーAに告げられた数をプレーヤーBに伝えることができることを示した。

 さて、元の問題が8×8のオセロ盤であったため、これまでの連載では縦横に二次元的に配置された石のパターンを中心に考察してきたが、そもそも、並べられる石のパターンが正方形や長方形である必要はない。石を置くマス目に二進数の番地を割り振るという方略が用いられていたので、マス目の番地自体、あるいは並べられた石のパターン自体は、8×8盤であっても、一列に並べられた64マスであっても解法には影響されない(マス目の縦横の情報は全く使われていない)。

 なので、今後は、横に並べたn個の石について考えていくこととしたい。またこれまでは、それぞれのマス目に対して、左側から順に、「000000番地」、「000001番地」、「000010番地」というように割り振ってきたが、2進数の桁が右端から1桁目、2桁目と数えることに合わせて、今後は、並べられたマスの右側から000000、000001、000010、...というように割り振ることとしたい。

 さて、この問題で、nが最小となるのはn=2の場合であった。それより小さいn=1というのは、プレーヤーAが入った部屋にオセロの石が1個だけ置かれている場合を意味する。この場合、ルール上、プレーヤーAは1つの石を必ずひっくり返さなければならないとなっているが、告げられる数も0ビット情報となるので、かならず「1です」と告げられることになる。プレーヤーBは白石であれ黒石であれ「答えは1です」と答えれば必ず正解となるので、これではゲームにならない。

 次に問題となるのは、n=3の場合である。この場合のゲームは以下のように記述できる。
  1. 部屋の机上にオセロの石が3個、一列に並べられている。白黒のパターンはランダム。
  2. まずプレーヤーAがこの部屋に入り、「1」、「2」、「3」のいずれかの数を告げられる。
  3. プレーヤーAは、3個のオセロの石のうち1個を裏返さなければならない。
  4. プレーヤーAが退室後、プレーヤーBが入室する。
  5. プレーヤーBは3個の石のパターンだけを頼りに、プレーヤーAに告げられた数を当てることができるか?
 この条件では3個の石が使われるので、白黒のパターンは23=8通り(3ビット)となる。よって、8通りのパターンを「0」から「2」に分類し(2ビット)、かつ、1つの石を裏返すだけで、そのパターンを告げられた数「1」から「3」に置き換えることができるか(但し「3」と告げられた場合は「0」とみなす)、という問題を解けばよいことになる。記述量が増えるが、すべての場合を尽くしてみよう。
 まず、今回からは上に記したように右側のマス目から番地を割り振ると、00番地、01番地、10番地となる。01番地と10番地における白石の数を数えて、1個ならば「1」、0個ならば「0」を与えると、各パターンと対応する数値は以下のようになる。
  • ●●●:00
  • ●●○:00
  • ●○●:01
  • ●○○:01
  • ○●●:10
  • ○●○:10
  • ○○●:11
  • ○○○:11
ここで留意していただきたいのは、上記の「パターン→数値対応」は、パターンの二進数表示とは異なっている点である。例えば「●○●」と「●○○」は、いずれも真ん中の「01」番地に白石が1個あるので「1」を表すことになる。右端は「00」という番地なのでカウントの対象にならない。左端の「10」番地には白石が無いので「0」を表すことになり、パターン全体で「01」となる。
 少々長くなるが、すべての場合を尽くすと、
  • 告げられた数が1の時は、特殊な引き算【各桁ごとに独立して引き算をおこない、マイナス1となった時は1とする】によって、
    • ●●●:00-01=01 よって●○● →「1」
    • ●●○:00-01=01 よって●○○ →「1」
    • ●○●:01-01=00 よって●○○ →「1」
    • ●○○:01-01=00 よって●○● →「1」
    • ○●●:10-01=11 変換不能
    • ○●○:10-01=11 変換不能
    • ○○●:11-01=10 よって●○● →「1」
    • ○○○:11-01=10 よって●○○ →「1」
  • 告げられた数が2の時は、特殊な引き算によって、
    • ●●●:00-10=10 よって○●● →「2」
    • ●●○:00-10=10 よって○●○ →「2」
    • ●○●:01-10=11 変換不能
    • ●○○:01-10=11 変換不能
    • ○●●:10-10=00 よって○●○ →「2」
    • ○●○:10-10=00 よって○●○ →「2」
    • ○○●:11-10=01 よって○●● →「2」
    • ○○○:11-10=01 よって○●○ →「2」
  • 告げられた数が3の時は、「0」を告げられたと置き換えて特殊な引き算によって、
    • ●●●:00-00=00 よって●●○ →「0」
    • ●●○:00-00=00 よって●●● →「0」
    • ●○●:01-00=01 よって●●● →「0」
    • ●○○:01-00=01 よって●●○ →「0」
    • ○●●:10-00=10 よって●●● →「0」
    • ○●○:10-00=10 よって●●○ →「0」
    • ○○●:11-00=11 変換不能
    • ○○○:11-00=11 変換不能
となる。上記で「変換不能」というのは、裏返す必要のあるマス目の番地が「11」に指定されたものの、実際には右端から順に「00」、「01」、「10」番地という3つのマス目しか存在しないため不可能という意味。じっさい、これらのケースは、
  • ○●●→●○●
  • ○●●→●○○
  • ○●○→●○●
  • ○●○→●○●
  • ●○●→○●●
  • ●○●→○●○
  • ●○○→○●●
  • ●○○→○●○
  • ○○●→●●○
  • ○○●→●●●
  • ○○○→●●○
  • ○○○→●●●
という裏返しを求めるものであるが、見ての通りで2枚以上の石を裏返さないと達成できない。
 ということで、オセロの石が3枚並べられており、「1〜3、いずれかの数を告げられる」という条件ではプレーヤーたちは正解を出せない場合がありうるようだ。
 上記に限らず、「1枚の石をひっくり返すだけで告げられた数を伝えられるようなパターンを作る」ためには、石の個数が2n個、告げられる数が1から2nとなること(nは自然数)が必要であるように思われる。【但し、今回と全く異なる方略を使えば可能になるかもしれない。】

 以上、高校卒業以後はまともに数学を勉強したことのない隠居人的視点から考察してきたが、今回のような謎解きは、おそらく、ブール代数として体系化されているものと思われる。ブール代数(論理代数)については、高校の頃に初心者向けの数学誌のコラムで耳にしたことがあったが、その時は何が面白いのかがサッパリ分からなかった。加齢とともにますます理解力が低下している私ではあるが、この領域について多少なりとも学ぶことができればと思っている。