トップページイタリア語Windows CE茨木のお店リンク

Hit & Blow に関する考察と『必勝法?』


(1)ゲームスタート時

何もヒントのないゲームスタート時は、全ての数の並び方に等しい可能性がある。
0 から 9 までの十種類の数字から4つを取り出して並べる順列は

10×9×8×7 = 5040

ゆえ、最初の一回目で運良く当ててしまう確率は 1/5040 である。

(2)1回目の予想後

例えば「1234」に「1 Hit 1 Blow」(以降、「1H1B」などと簡略して表記する)という答えが返ってきたとしよう。
すると「1526」とか「2536」などが真の答えである可能性は等しく残っているが、「1235」とか「1567」などは絶対に答えではあり得ない。
つまり、もともと 5040 通りあった並べ方のうち、「1234」と比べると「1H1B」になるものは全て等しく正解である可能性を持っており、実はそれは 720 通りある。この 720 という数字は、最初の「1234」という予想の選び方によらず一定である。
同様にそのほかの答えに対しても、それぞれ可能性の残っている場合の数を調べると、次のようになる。

0H1B1440通り
0H2B1260通り
1H1B720通り
1H0B480通り
0H0B360通り
0H3B264通り
1H2B216通り
2H0B180通り
2H1B72通り
3H0B24通り
0H4B9通り
1H3B8通り
2H2B6通り
4H0B1通り

「4H0B」のとき残り1となるのは当然。「3H1B」というのはあり得ないことに注意。
またこの場合の数を全て加算したら、最初の状態での全ての並べ方の場合の数 5040 に一致するが、偶然ではなく必然。わからない場合は確率の要勉強である。
この表より、例えば「1H0B」という答えを得た場合、可能性の残っている 480 通りはそれぞれ等しく正解である確率を持っているので、その中から一つ選べば次回正解する確率は 1/480 ということになる。
ということは、至極当たり前の話だが、可能性の残っている数値の個数が少なければ少ないほど予想者にとっては有利となる。
つまりもっとも不利なのは「0H1B」、ついで「0H2B」「1H1B」「1H0B」「0H0B」となっている。
ということで「1H1B」よりも「1H0B」の方が有利、そして「0H1B」よりも「0H0B」の方が相当有利であることがこの表からわかる。つまりここで注意すべきは、「B」に関してはついていることが必ずしもヒントではなく、むしろ多くの場合より不利になるということだろう。

(3)2回目以降の予想

1回目の予想数はあてずっぽで選ぶしかないが、2回目以降もそうなのだろうか?

例えば「1234」という1回目の予想に「3H0B」という答えが返ってきた場合を考えよう(そんなに運がよいことはまずないが)。
すると上の表より、残る可能性は 24 通りということがわかる。実際、「3H0B」ということは「1234」のうちどれか一つが間違いで、567890 の6つの数字のどれかと入れ替わったものが正解だから、4桁×6数字=24通りだ。
繰り返しになるが念のためもう一度書くと、この24通りのうちどれでも一つを選んでドンピシャ正解する確率は 1/24 である。何を選んでもとにかく等しく 1/24 である。それではどれを選んでも同じではないか、と勘違いしてしまうのも非常にうなづける。
が、問題は「正解でなかった場合」なのである。

さて。
このときに「1235」を2回目の予想数としてあげたとする。この場合、返ってくる答としては次の4通りがあり得る。

2H0B15通り
3H0B5通り
2H1B3通り
4H0B1通り

その答が得られたときの残る可能性の場合の数も併記した。
「1235」は正解である可能性があるから、「4H0B」が帰ってくるかもしれないと期待したくなるが、その確率は何度も言うように 1/24 でしかない。
それより「2H0B」と答えられてしまう可能性の方が 15/24 と遙かに高い。このとき、残る可能性の場合の数は 15 通りと、残念ながらあまり減ってくれていない。

では「1235」と聞く代わりに「5678」と聞いてみたらどうだろう。言うまでもなかろうが、この数値が正解である可能性は0である。この場合にも返って来うる答えを下に並べてみる。

0H1B12通り
0H0B8通り
1H0B4通り

正解ではあり得ない数値を聞いただけあって、貧弱な答えばかりである。
が、注目して欲しいのは、一番残り可能性が多いものでも「0H1B」の 12 通りである点である。つまり「5678」と尋ねれば、最悪でも残り可能性は半分に減るのだ。
すなわち、「最悪の場合でもそこそこ悪くない状態に収まるのが良い手である」という考え方に基づけば、「1235」よりも「5678」の方が優れた予想数ということになる。
ちなみにこれをゲーム理論では「Min-Max」と呼ぶ。

また実際、残り可能性の期待値を計算してみても、次に見るように「5678」の方が小さい数値を叩き出している。

「1235」15×15/24+5×5/24+3×3/24+1×1/24 = 65/6 ≒ 10.8
「5678」12×12/24+8×8/24+4×4/24 = 28/3 ≒ 9.3

もっと良い期待値を出す予想数があるかもしれないが、それを探すことがここの眼目ではないので、省く。

では上のような理論的な裏付けがあるからといって、どんな場合にも「5678」を予想数として選択する方が適しているかというと、必ずしもそうは言えない。
次はおそらく当ててくる気配が対戦相手にあれば、次の次を見据えた悠長な手を打っている余裕はないのである。ここは一発逆転を狙って「5678」よりも「1235」を出すべき、いや、出さなくてはならないであろう。

要は、2つ目の予想数からは「どれを選んでも一緒」ではなく、すでに「より最適な選択」が存在する。Hit & Blow は「運が全てのゲーム」ではなく、実に「戦略的」なゲーム。ということである。

この考え方を押し進めていくことで、Hit&Blow の「全ゲームの木」を描いて、最高何回までで必ず当てられるという「必勝法」を得ることが出来るだろうが、それは今後の研究課題としたい。

なお、拙作の Hit & Blow for Waba(on WinCE) では、そこまで凝ったことはまだしていない。ただ単純に予想数に対する答えから可能性の残っているものに絞り込んだ後は、その中からランダムに一つ選んで次の予想数としているだけである。
これ以上単純にしようがないというこのアルゴリズムでも、だいたい6〜8回以内で当ててくるので、人間とはなかなかいい勝負になるようである。が、せっかくなのでもう少し強くしたいとは考えている。

(4)Hit&Blow の必勝法?

これから紹介するのは必勝法というより、「負ける可能性を少しでも減らす法」である。
Hit&Blow は二人のプレイヤーがお互いの数を当て合うゲームで、当てられてしまうと負けになるわけだ。ところでこれまでに述べてきたとおり、自分の正解に対する「残り可能性」が少なくなればなるほど不利になる。そして、(2)の表にあるとおり、「残り可能性」が最も多いのは「0H1B」だ。
そこで、

  1. 最初に自分の方の正解を用意しない。
  2. 相手の1つ目の予想数を聞いて、必ず「0H1B」と答える。
  3. 「0H1B」になる数を考えて、それを自分の正解とする。

とすると、少しでも負けにくくなるだろう。

早速ブーイングが聞こえ、石が飛んできそうだが、お察しの通り、これは実に「汚い」「アンフェアな」手である。ばれたら後ろ指を指されるくらいでは済むまい。
まあ、とにかくとにかく気に入らない奴がいて、どーーーーーーーーーーしてもそいつにだけは負けたくないという事情がある場合には応用してみてもらうのもよいかもしれない。もっとも、それほどまでに馬の合わない人間とほのぼの Hit&Blow に興じることなどありえないであろうが。