牌の危険度決定アルゴリズムを評価する(2)

牌の危険度決定アルゴリズムを評価する - koba::blog ではリーチの直後と終局直前のタイミングで牌の危険度決定アルゴリズムを評価しましたが、今回は「山読み」のアルゴリズムを評価する - koba::blog でやったように毎巡評価し、グラフ化してみました。

評価方法には KLダイバージェンス*1を追加しました。

評価に使用したプログラムはこちらです。

前回同様、2024年の天鳳 鳳凰卓 東南戦 184,426 戦における、フリテン・カラテン*2および国士無双のリーチを除く全ての「先制リーチ」*3についてリーチ者の下家目線*4でリーチの実際の待ちとの乖離で評価しましたが、今回は評価のタイミングを 毎巡 の自身のツモあるいは副露直後(つまり打牌直前)に広げました。リーチ後の見逃しによるフリテンが発生した場合は、その局での評価をそこで打ち切ります。

評価対象の 危険度決定アルゴリズム は前回と同じです。

評価結果

二乗平均平方根誤差

巡目推定なし コンボ
理論
電脳麻将
(旧方式)
電脳麻将
(現方式)
電脳麻将
(改良案)
1 0.14472 0.14472 0.14474 0.14470 0.14466
2 0.13789 0.13781 0.13778 0.13776 0.13768
3 0.13475 0.13451 0.13448 0.13446 0.13438
4 0.13305 0.13267 0.13265 0.13264 0.13254
5 0.13216 0.13166 0.13165 0.13164 0.13152
6 0.13154 0.13092 0.13093 0.13090 0.13078
7 0.13104 0.13033 0.13034 0.13030 0.13016
8 0.13059 0.12979 0.12980 0.12974 0.12960
9 0.13030 0.12940 0.12941 0.12933 0.12919
10 0.13005 0.12907 0.12907 0.12896 0.12881
11 0.12986 0.12878 0.12878 0.12862 0.12849
12 0.12972 0.12852 0.12853 0.12831 0.12819
13 0.12961 0.12830 0.12830 0.12801 0.12792
14 0.12953 0.12811 0.12811 0.12772 0.12767
15 0.12942 0.12786 0.12787 0.12736 0.12736
16 0.12925 0.12757 0.12758 0.12690 0.12701
17 0.12915 0.12733 0.12733 0.12646 0.12673
18 0.12910 0.12718 0.12716 0.12609 0.12653

交差エントロピー誤差

巡目推定なし コンボ
理論
電脳麻将
(旧方式)
電脳麻将
(現方式)
電脳麻将
(改良案)
1 4.47906 4.53684 4.50147 4.49473 4.49110
2 4.43371 4.46620 4.43360 4.43112 4.42529
3 4.39452 4.38763 4.36520 4.36303 4.35679
4 4.35596 4.31771 4.30443 4.30341 4.29590
5 4.31630 4.25475 4.24880 4.24775 4.23866
6 4.27464 4.19546 4.19510 4.19332 4.18300
7 4.23087 4.13960 4.14228 4.13915 4.12822
8 4.18463 4.08497 4.08920 4.08428 4.07339
9 4.13552 4.02852 4.03432 4.02720 4.01670
10 4.08330 3.97086 3.97792 3.96812 3.95838
11 4.02824 3.91128 3.91978 3.90659 3.89810
12 3.96976 3.84836 3.85872 3.84084 3.83421
13 3.90782 3.78420 3.79595 3.77290 3.76922
14 3.84273 3.71745 3.73033 3.70104 3.70174
15 3.77398 3.64599 3.66188 3.62512 3.63037
16 3.70250 3.57430 3.59117 3.54623 3.55904
17 3.62788 3.50063 3.51844 3.46442 3.48677
18 3.56686 3.43892 3.45821 3.39514 3.42640

KLダイバージェンス

ある牌の予測危険度を pi 、実際の危険度を yi とすると、KLダイバージェンス

  • Σi = 1〜34 yi log( yi / pi )

で求めます。ある牌が実際に待ちである場合は yi は 1、待ちでない場合は 0 としますが、両面待ちなど複数の牌が待ちになっている場合はその総和が 1 となるよう正規化します。例えば p3 p6 が待ちとなっているときは、そのそれぞれの危険度を 0.5 とします。

巡目推定なし コンボ
理論
電脳麻将
(旧方式)
電脳麻将
(現方式)
電脳麻将
(改良案)
1 3.16394 3.22131 3.18561 3.17913 3.17576
2 3.02812 3.06060 3.02789 3.02555 3.02006
3 2.94866 2.94251 2.91996 2.91790 2.91201
4 2.88919 2.85233 2.83888 2.83793 2.83080
5 2.84012 2.78052 2.77431 2.77332 2.76466
6 2.79306 2.71631 2.71561 2.71391 2.70405
7 2.74601 2.65755 2.65986 2.65685 2.64640
8 2.69757 2.60107 2.60495 2.60019 2.58978
9 2.64893 2.54542 2.55088 2.54401 2.53396
10 2.59835 2.48972 2.49645 2.48700 2.47768
11 2.54619 2.43339 2.44157 2.42885 2.42073
12 2.49192 2.37508 2.38510 2.36789 2.36154
13 2.43540 2.31669 2.32811 2.30596 2.30242
14 2.37701 2.25700 2.26960 2.24149 2.24211
15 2.31547 2.19322 2.20875 2.17358 2.17849
16 2.25134 2.12926 2.14581 2.10294 2.11497
17 2.18606 2.06531 2.08283 2.03149 2.05239
18 2.13364 2.01252 2.03158 1.97178 2.00088

考察

微差ではありますが、終盤を除き 電脳麻将(改良案)の精度がよい ようです。終盤の精度が電脳麻将(現方式)に劣るのは「終盤のワンチャンスは信用できない」ことに原因があると思われます。コンボ理論単独では残念ながらどの巡目でもこの2つのアルゴリズムを上回ることはありませんでした*5

*1:用語を合わせて「相対エントロピー誤差」としたかったのですが、この方法を「誤差」と呼ぶのは誤りのようです

*2:正確には単騎待ちしかありえない牌(多くの場合は字牌)が3枚切れのケース

*3:その局での最初のリーチの意味

*4:ドラ表示牌、4者の捨て牌と副露牌、下家自身の手牌が把握できる状態

*5:電脳麻将(改良案)はコンボ理論を利用していますので、適用方法次第ということと思いますが