| トップページ | イタリア語 | Windows CE | 茨木のお店 | リンク |
さて、Hit&Blow に関する考察を続けてみよう。前回の話は半分冗談半分本気の結論で終わらせてしまったが、今回のテーマは「1手目 1234、2手目 5678 はどの程度良い手なのか」という至って実戦的なものである。
Hit&Blow は2名のプレイヤーが互いに決めた秘密の4桁の数(以降「秘密数」)を当て合うゲームだ。その際、予想した数(以降「予想数」)に対して、桁も数字もあっていれば「Hit」、数字はあっているが桁が異なっていれば「Blow」で答える。
例えば、秘密数が「2739」であるとき、予想数「1234」に対する答えは「1 Hit 1 Blow」(以降「1H1B」)となる。
このルールにより、自然と秘密数も予想数もどちらも各数字を高々1回しか使えないという制限が生じる。
さて、ここでは単純化のため、本来2名で当て合うものを、予想者Aが回答者Bの秘密数を一方的に当てるものとしよう。
Bの秘密数の選び方は 0 から 9 までの十種類の数字から4つを取り出して並べる順列に等しく、その場合の数は
10×9×8×7 = 5040
である。一方、Aの1手目の予想数の選び方も全く同じ 5040 通りだ。
したがって、最初の一回目で運良く当ててしまう確率は 1/5040 である。
ただしBが人間である場合には、「秘密数としてまず選ぶ可能性のない数」(例えば 1234、5678、2468 など)があるので、そのあたりのウェイトをつけて考える必要が本当はあるのだが、単純化のために省く。Bは 1234 も 2649 も同じ割合で秘密数に選ぶ可能性があるとしよう。
すると、1手目は 5040 通りの数のうちどれを選んでも全く同じということになる。そこで 1234 を選んだものとしよう。他の数を選んだ場合は、あらかじめ数字を交換しておくことで以降の話を全く同じように続けることが出来るし、またそもそも実戦において1手目を「1234」にする人は非常に多いであろう。
さてそれでは2手目も何を選んでもあんまり変わりがないかというと、実はそうではないということが前回の内容であった。今回は、では何を選ぶべきかというところに一歩踏み込んでいく。
1手目の予想数 1234 に対する答えが 2H2B であったとしよう。すると、秘密数は 1243, 1324, 1432, 2134, 3214, 4231 のいずれかであり、これら以外ではないことがわかる。これを『答え 2H2B に対する「残り可能性」が6通りである』と言う事にしよう。
他の全ての答えそれぞれに対してもその残り可能性を算出すると、前回も掲載した以下の表のようになる。
| 答え | 残り可能性 |
|---|---|
| 0H1B | 1440通り |
| 0H2B | 1260通り |
| 1H1B | 720通り |
| 1H0B | 480通り |
| 0H0B | 360通り |
| 0H3B | 264通り |
| 1H2B | 216通り |
| 2H0B | 180通り |
| 2H1B | 72通り |
| 3H0B | 24通り |
| 0H4B | 9通り |
| 1H3B | 8通り |
| 2H2B | 6通り |
| 4H0B | 1通り |
この「残り可能性」はそのまま「その答えが返ってくる確率」をも示していることに注意しよう。
例えば 0H1B は残り可能性 1440 通りだが、これは 5040 ある母集団のうち、その 1440 通りの数値をBが選んでおけば、答えは 0H1B だったということになる。つまりその確率は 1440/5040 = 29%、およそ3割という事だ。
続いて残り可能性の多い 0H2B、1H1B までを合計すると、実に 3420 通り、確率は 68% にも及ぶ。
0H1B とか 0H2B、1H1B って答え多いよなあと感じられていた人も多いと思われるが、それもそのはず。相手が単純なコンピュータだとしても、3回に2回はそのどれかが返ってくるのだから。さらに人間相手となれば、先ほどのウェイト、要するに「当てられまい」として数字を選ぶ行為により、さらにその確率は高まるはずである。
さて上の表より、1手目の答えとして最も嬉しくないのは「0H1B」である。
残り可能性が 1440 通りと一番多いという事は、これから絞り込んでいくのがまだまだ大変であるという事を示すと同時に、その答えが返ってくる確率が最も高いということも示唆している。
つまり、「1手目の答え 0H1B」を攻略することが、Hit&Blow 必勝のために絶対に避けては通れないということがわかるだろう。
この場合に限らず、全ての手において「最も嬉しくない答えの返ってくる確率が一番高い」ことは容易に想像できると思う。これは Hit&Blow というゲームの最大の特徴と言えよう。
「でも 0H1B じゃあ、秘密数なんてまだなんともわかるはずないから、2手目にどれを聞いても一緒じゃあないの? むしろ 5678 ならもっとも多くの数字をカバーできるから、この場合の最適な予想数のような感じがするなあ」
という声が聞こえてきそうである。ではその命題を検証してみよう。
1手目の予想数 1234 の答えが 0H1B であった場合、残る可能性は 0156, 0157, ……, 9873 の 1440 通りだ。
そこに2手目の予想数 5678 をぶつけると、返ってくる答えとそれぞれの残り可能性は次の通りである。
| 答え | 残り可能性 | |
|---|---|---|
| 0H2B | 504 通り | 0156, 0157, …… |
| 1H1B | 288 通り | 0175, 0176, …… |
| 0H1B | 216 通り | 0159, 0169, …… |
| 0H3B | 132 通り | 2567, 2586, …… |
| 1H2B | 108 通り | 2568, 2576, …… |
| 1H0B | 72 通り | 0179, 0198, …… |
| 2H0B | 72 通り | 0178, 0278, …… |
| 2H1B | 36 通り | 2578, 2658, …… |
| 3H0B | 12 通り | 2678, 3678, …… |
最も嬉しくない答え(そして最も起こる確率が高い)は 0H2B で、その場合の残り可能性は実に 504 通りもある。これでは2手目の予想数を出す前の 1440 通りのおよそ3分の1にしか絞り込めていない。
ところで、試しに他の予想数、例えば 0156 だとどうなるだろう。このときの返ってくる答えとそれぞれの残り可能性も同じように見てみる。
| 答え | 残り可能性 | |
|---|---|---|
| 0H1B | 378 通り | 2078, 2079, …… |
| 0H2B | 369 通り | 2057, 2058, …… |
| 1H1B | 222 通り | 0267, 0268, …… |
| 1H0B | 126 通り | 0278, 0279, …… |
| 0H3B | 91 通り | 2015, 2061, …… |
| 1H2B | 83 通り | 0517, 0518, …… |
| 2H0B | 57 通り | 0178, 0179, …… |
| 0H0B | 54 通り | 2789, 2790, …… |
| 2H1B | 31 通り | 0167, 0168, …… |
| 3H0B | 11 通り | 0157, 0158, …… |
| 0H4B | 6 通り | 5061, 5601, 5610, 6015, 6501, 6510 |
| 1H3B | 6 通り | 0561, 0615, 5160, 6105, 6051, 5016 |
| 2H2B | 5 通り | 0165, 0561, 0651, 5106, 6105 |
| 4H0B | 1 通り | 0156 |
なんと!
最も嬉しくない答えでも、残り可能性は 378 まで減らせるのだ。これだけ違えば、あとの展開もかなり変わってくることだろう。
さらに残り可能性の期待値(平均値)もそれぞれ計算してみると、
5678 のときの残り可能性期待値 = 294.8
0156 のときの残り可能性期待値 = 254.7
のようになり、0156 のほうが大きく勝っている。
さて、これを聞き知っても、まだ2手目の予想数に 5678 を上げる気になれるだろうか?
この「最も嬉しくない答えのときの残り可能性」を最も少なくできる手が、2手目の最有力候補として考えられるが(ただしあくまで「候補」であり、本当に最適解であるかどうかはまだ議論の余地有り)、実はそれこそが 0156 とその「同類項」であることがわかっている。「同類項」は 0156 も含めて 1440 通りあることも計算済みだ。
ん? 1440 通り? どこかで見た数だと思ったら、「予想数 1234 への答えが 0H1B だったときに、可能性の残っている 1440 通りの数」、つまり「1234 のどれか一つの数字を取って別の桁に移動、残り3桁を 567890 から選んだ数」達と集合としてそっくり一致しているのだ。
可能性の残っている数から選んだ予想数は、当然 4H0B の返ってくる目も残っているので、比較的悪い手にはならないという傾向はあるが、「最も嬉しくない答えのときの残り可能性」を最小にするとは限らない。現に、1手目の答えが 1H1B の場合などはそうでない例に属する。
また「最も嬉しくない答えのときの残り可能性」を最小にするからといって、期待値も最小になるかというと、こちらも偽だ。例えば、1手目の答え 0H1B のときですら、0156 に対する残り可能性の期待値は 254.7 だったが、0325 に対するそれは 254.4 とわずかながら上回っているのだ(ただし「最悪の時の残り可能性」は 408 通りと、0156 よりもかなり大きくなってしまう)。
ともあれ、今回の結論として 0156 とその同類項は、1234-0H1B に応える2手目の予想数として「現段階では最も良い手」と言えることは間違いあるまい。
また逆に、自分の秘密数を決める際、相手が「1234」「5678」と一つ覚えに聞いてくる場合などは、それぞれ「0H1B」「0H2B」という答えが返るように自分の数を決めれば、当てられにくいということになる。
1手目の答えが 0H1B でなかった場合や、3手目以降については記事を改めてまた研究していこうと思う。