振りなおしを無視すると、Bluffの最善手は
理論上は次のようにして求まります。
1) 自分のツボの中を見る。
2) 他人のすべてのダイスの目がそれぞれ
いくつか仮定する。
3) その仮定が実現する確率を計算する。
4) その仮定のもとでの最大ビッドを調べる。
このとき、最善手が4)で調べた最大ビッドで
ある確率は3)で求めた確率に等しくなります。
このようにして最善手は自分のツボの中身に
依存する確率変数として表示されます。
実際にこれを利用するには次のようにします。
1) 自分のツボの中を見る。
2) 他人のダイスと同じ個数のダイスを別に
用意し、他人に見られないようにして振る。
3) 1)と2)で出た目の分布における
最大ビッドを調べる。
このとき、3)で求めた最大ビッドを自分の
ビッドにすればよいのです。
そこでさっそくプログラムを組みました。 走らせると、異常なハイビッドを くりかえします。原因は「どの目が」何個出て いるかを宣言しなければならないことです。 十分な個数のダイスを振れば、最もよく 出た目が何個出たか、という確率変数は ばらつかなくなります。30個振れば、星でない 目のうちのどれかは12個くらい出ます。 「最もよく出た目」なので、この数値が期待値 (10個)より大きいのは当然でしょう。 ところが、どの目が最もよく出るかは ダイスの個数には無関係です。ダイスの目は 6種類あるので、どの目が最もよく出るかを カンで予想すると、その予想が当たる確率より はずれる確率のほうが大きいです。この 思考ルーチンはまさにこのような予想を 行っているのです。