nkhrlab~

140字超の記事

8-9-12 Ruleはいつ使える? 1-checker modelによるバックギャモンの勝率

概要

ダブリングキューブを使用する現代のバックギャモンにおいてゲーム勝率の見積もりはプレイヤーの得点の期待値を,あるいはマッチ勝率を最大化するために重要である.レースでのキューブアクションはしばしばピップカウントによって決定される.本記事では,レースを単純化した1-checker modelを用いて,各プレイヤーのピップカウントによるゲーム勝率の変化を示し,レースにおけるキューブアクションのヒューリスティクスとして重要な8-9-12 Ruleの有効性について考察する.

8-9-12 Rule

バックギャモンにおける8-9-12 Rule*1とは,レースにおいて,ピップカウントに基づいて以下のようにキューブアクションを決定するヒューリスティクスである.もちろん,ポイントマッチの場合はスコアによってキューブアクションが変わることも多く,その有効性には限りがあるが,レースにおける基本的なキューブアクションの基準として広く知られている.

  • レースで自分が8%以上リード*2していれば,ダブルをすべきである.
  • レースで自分が9%以上リードしていれば,リダブルをすべきである.
  • レースで自分が12%以上リードしていれば,相手はパスすべきである.

8-9-12 Ruleが使えるレース序盤

実際に8-9-12 Ruleを用いてキューブアクションを決定する例を示そう.次の図における白のキューブアクションを考える.

f:id:nkhrlab:20200719021336p:plain
ピップカウントは白: 92, 黒: 102 (+10.8%).EPCは白: 99.5, 黒: 109.6 (+10.2%).

白はピップカウントで10.8%リードしているので,8-9-12 Ruleによればここでダブルをすべきである.また,相手はテイクをすべきである.このキューブアクションはeXtreme Gammon 2による解析結果と一致する.

8-9-12 Ruleが使えない最終盤

それでは,次の例ではどうだろうか.

f:id:nkhrlab:20200719023319p:plain
ピップカウントは白,黒ともに6.

この例では,ピップカウントは白,黒ともに6だが,白の勝率は81%もあるので,ダブルをすべきである.また,黒はパスすべきである.これは8-9-12 Ruleとは異なるキューブアクションである.

1-checker modelにおけるゲーム勝率

前節での例のように,8-9-12 Ruleはレースの序盤から中盤では役に立つが,最終盤では役に立たなくなることが多い.最終盤では単純なピップカウントよりもベアオフした枚数やEPCの重要性が高まり,先手であることの価値が高まるなど,レース中盤までとはキューブアクションの基準を変える必要がある.それでは,手軽なキューブアクションの基準である8-9-12 Ruleはレースのうちいつからいつまで使うことができるのだろうか.

本記事では,1-checker modelにおけるゲーム勝率を計算し,その変化を観察することで,8-9-12 Ruleの有効性について考察する.

1-checker modelとは,各プレイヤが各1枚のチェッカーを持ち,仮想的な非常に長い (もしかしたらインナーボードに数百ものポイントがあるような) ボードでレースを行うとする,レースを単純化したモデルである.実際のバックギャモンにおけるレースと異なり,駒が各1枚なのでチェッカープレイは常に1通りとなり,例えば動的計画法によって容易に勝率の計算ができる.

計算結果

ピップカウントによる勝率

1-checker modelにおける,各プレイヤーのピップカウントによる先手の勝率を次に示す.縦軸は先手のピップカウント,横軸は後手のピップカウントの値で,10ピップごとに勝率を示している.

1 \ 2    10      20      30      40      50      60      70      80      90     100     110     120     130     140     150     160     170     180     190     200
 10     .782    .947    .996    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00
 20     .203    .686    .911    .982    .997    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00
 30     .050    .275    .642    .872    .966    .992    .998    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00
 40     .006    .082    .313    .622    .841    .947    .986    .996    .999    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00
 50     .000    .017    .115    .335    .608    .816    .930    .978    .994    .998    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00
 60     .000    .003    .032    .142    .351    .598    .796    .913    .969    .990    .997    .999    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00
 70     .000    .000    .007    .048    .164    .363    .591    .779    .898    .960    .986    .995    .998    1.00    1.00    1.00    1.00    1.00    1.00    1.00
 80     .000    .000    .001    .013    .063    .183    .373    .585    .764    .885    .951    .981    .994    .998    1.00    1.00    1.00    1.00    1.00    1.00
 90     .000    .000    .000    .003    .020    .078    .199    .380    .580    .752    .872    .942    .976    .991    .997    .999    1.00    1.00    1.00    1.00
100     .000    .000    .000    .000    .005    .028    .091    .213    .387    .576    .741    .860    .933    .971    .989    .996    .998    1.00    1.00    1.00
110     .000    .000    .000    .000    .001    .008    .036    .104    .226    .392    .572    .732    .850    .925    .966    .986    .994    .998    .999    1.00
120     .000    .000    .000    .000    .000    .002    .012    .044    .116    .236    .397    .569    .723    .840    .917    .960    .983    .993    .997    .999
130     .000    .000    .000    .000    .000    .000    .003    .016    .052    .126    .246    .401    .566    .716    .831    .909    .955    .980    .991    .996
140     .000    .000    .000    .000    .000    .000    .001    .005    .021    .060    .136    .255    .405    .564    .709    .823    .901    .950    .976    .990
150     .000    .000    .000    .000    .000    .000    .000    .001    .007    .025    .068    .146    .262    .408    .562    .702    .815    .894    .944    .973
160     .000    .000    .000    .000    .000    .000    .000    .000    .002    .010    .030    .075    .155    .270    .411    .560    .697    .808    .887    .939
170     .000    .000    .000    .000    .000    .000    .000    .000    .000    .003    .012    .035    .083    .163    .276    .414    .558    .691    .801    .881
180     .000    .000    .000    .000    .000    .000    .000    .000    .000    .001    .004    .015    .040    .090    .170    .282    .416    .556    .687    .794
190     .000    .000    .000    .000    .000    .000    .000    .000    .000    .000    .001    .006    .018    .045    .096    .177    .288    .418    .555    .682
200     .000    .000    .000    .000    .000    .000    .000    .000    .000    .000    .000    .002    .007    .021    .050    .103    .184    .293    .420    .554

この表では情報量が多すぎるので,要約した表を用意して,それぞれについて結果を観察しよう.

先手であることの価値

次の表は,各プレイヤーのピップカウントが等しいときの先手の勝率を示したものである.ピップカウントが少ないほど先手であることの価値が高くなる点は直観通りである.

pips   winning chance
10      .782
20      .686
30      .642
40      .622
50      .608
60      .598
70      .591
80      .585
90      .580
100     .576
110     .572
120     .569
130     .566
140     .564
150     .562
160     .560
170     .558
180     .556
190     .555
200     .554
8%, 9%, 12%のリード

次の表は,先手のそれぞれのピップカウントの値(first)について,後手に対するリードが8%, 9%, 12%であるとき(後手のピップカウントの端数は切り上げ)の先手の勝率の値である.大雑把にみると50ピップから100ピップ程度のときにリードによる勝率の上昇幅がやや小さくなるが,120ピップ以上では再び大きくなっている.定性的には,ピップカウントが増加することで必要なロール数も増加し,その出目の平均値が確率上の期待値に収束しやすくなることで,8%, 9%, 12%のピップ差を後手が逆転することが難しくなるからであると考える.

first   8%      9%      12%
10      .825    .825    .869
20      .752    .752    .776
30      .731    .731    .756
40      .724    .724    .747
50      .703    .724    .764
60      .706    .726    .762
70      .711    .729    .763
80      .716    .733    .764
90      .721    .737    .766
100     .711    .741    .782
110     .717    .732    .784
120     .723    .737    .787
130     .729    .742    .789
140     .734    .747    .792
150     .728    .751    .805
160     .733    .756    .808
170     .739    .760    .810
180     .744    .765    .813
190     .749    .769    .815
200     .744    .773    .826
75%基準との比較

次の表は,先手のそれぞれのピップカウントの値(first)について,後手のピップカウントであって先手の勝率が60%, 65%, 70%, 75%, 80%, 85%, 90%を超える最小のものを示したものである.また,後手のピップカウントの値について,先手のリードの割合を括弧書きで付す.

75%基準*3に照らすと,先手のピップカウントが30ピップから80ピップのときに8-9-12 Ruleは当てはまりがよく,それ以上のピップカウントで75%基準と8-9-12 Ruleを対応させようとする場合は若干の補正が必要である.例えば,自分のピップカウントが84ピップ以上の場合に相手のピップカウントを1多くみなし,さらに自分のピップカウントが18ピップ増えるごとに1多くみなすとおおむね当てはまる.

first    60%    (rate)           65%    (rate)           70%    (rate)           75%    (rate)           80%    (rate)           85%    (rate)           90%    (rate)
10        8     (-20.0%)          9     (-10.0%)          9     (-10.0%)         10     (  0.0%)         11     ( 10.0%)         12     ( 20.0%)         14     ( 40.0%)
20       18     (-10.0%)         20     (  0.0%)         21     (  5.0%)         22     ( 10.0%)         24     ( 20.0%)         27     ( 35.0%)         30     ( 50.0%)
30       29     ( -3.3%)         31     (  3.3%)         32     (  6.7%)         34     ( 13.3%)         36     ( 20.0%)         39     ( 30.0%)         43     ( 43.3%)
40       40     (  0.0%)         42     (  5.0%)         43     (  7.5%)         46     ( 15.0%)         48     ( 20.0%)         51     ( 27.5%)         55     ( 37.5%)
50       50     (  0.0%)         52     (  4.0%)         54     (  8.0%)         57     ( 14.0%)         60     ( 20.0%)         63     ( 26.0%)         67     ( 34.0%)
60       61     (  1.7%)         63     (  5.0%)         65     (  8.3%)         68     ( 13.3%)         71     ( 18.3%)         74     ( 23.3%)         79     ( 31.7%)
70       71     (  1.4%)         73     (  4.3%)         76     (  8.6%)         79     ( 12.9%)         82     ( 17.1%)         86     ( 22.9%)         91     ( 30.0%)
80       81     (  1.2%)         84     (  5.0%)         87     (  8.8%)         90     ( 12.5%)         93     ( 16.2%)         97     ( 21.2%)        102     ( 27.5%)
90       92     (  2.2%)         94     (  4.4%)         97     (  7.8%)        100     ( 11.1%)        104     ( 15.6%)        108     ( 20.0%)        114     ( 26.7%)
100     102     (  2.0%)        105     (  5.0%)        108     (  8.0%)        111     ( 11.0%)        115     ( 15.0%)        119     ( 19.0%)        125     ( 25.0%)
110     112     (  1.8%)        115     (  4.5%)        118     (  7.3%)        122     ( 10.9%)        126     ( 14.5%)        130     ( 18.2%)        137     ( 24.5%)
120     122     (  1.7%)        125     (  4.2%)        129     (  7.5%)        132     ( 10.0%)        137     ( 14.2%)        142     ( 18.3%)        148     ( 23.3%)
130     133     (  2.3%)        136     (  4.6%)        139     (  6.9%)        143     ( 10.0%)        147     ( 13.1%)        153     ( 17.7%)        159     ( 22.3%)
140     143     (  2.1%)        146     (  4.3%)        150     (  7.1%)        154     ( 10.0%)        158     ( 12.9%)        163     ( 16.4%)        170     ( 21.4%)
150     153     (  2.0%)        157     (  4.7%)        160     (  6.7%)        164     (  9.3%)        169     ( 12.7%)        174     ( 16.0%)        181     ( 20.7%)
160     163     (  1.9%)        167     (  4.4%)        171     (  6.9%)        175     (  9.4%)        180     ( 12.5%)        185     ( 15.6%)        192     ( 20.0%)
170     173     (  1.8%)        177     (  4.1%)        181     (  6.5%)        185     (  8.8%)        190     ( 11.8%)        196     ( 15.3%)        204     ( 20.0%)
180     184     (  2.2%)        188     (  4.4%)        192     (  6.7%)        196     (  8.9%)        201     ( 11.7%)        207     ( 15.0%)        215     ( 19.4%)
190     194     (  2.1%)        198     (  4.2%)        202     (  6.3%)        207     (  8.9%)        212     ( 11.6%)        218     ( 14.7%)        226     ( 18.9%)
200     204     (  2.0%)        208     (  4.0%)        212     (  6.0%)        217     (  8.5%)        222     ( 11.0%)        229     ( 14.5%)        237     ( 18.5%)

まとめ

本記事では,レースを単純化した1-checker modelを用いて,8-9-12 Ruleと75%基準の対応について考察した.その結果,8-9-12 Ruleは自分のピップカウントが30ピップから80ピップのとき特に有効であることがわかった.これは1-checker modelによる考察なので,より正確にはEPCを見積もる必要があるが,一般的なレースを考えれば,補正のない8-9-12 Ruleだけでもレースのうちかなり広範囲で役に立つことがわかった.さらに補正をかければ,ゲーム開始早々互いに65を連発して実質的なレースが始まった,というような場合にも対応できそうだ.

*1:Tom Keith. Cube Handling In Noncontact Positions. https://bkgm.com/articles/CubeHandlingInRaces/, 2004

*2:例えばピップカウントの値が自分は80,相手は88である場合に,相手のピップカウントは自分のピップカウントより (88 - 80) / 80 = 10%多いことになる.このとき,「自分は10%リードしている」ということにする.

*3:自分の勝率が75%以上であれば相手はパスすべきであるとする,ゲームの得点を最大化しようとするキューブアクションの基準.レースのような,ギャモン勝ちやギャモン負けの可能性のないときによく機能する.