押し引き表の牌姿は評価値何点?

電脳麻将 の押し引きの検討を開始した。押し引きの基準としてはいろいろな麻雀戦術書で引用されている「押し引き表」が有名である。

これをそのまま実装してもよいのだが、現在の牌姿が表中の「1向聴・完全・のみ手」といったパターンのどれに該当するのか判定するのが厄介だし、そもそも表中にすべてのパターンが網羅されている訳でもない。さらには押し引き表は離散値なので調整が面倒だ*1。電脳麻将では牌姿を 評価値 で表すことができるので、これを牌姿のパターンの代わりとすれば判断基準に使えるはずである。例えば「1向聴・完全・のみ手」の子の場合、評価値は 383.33 となる。

f:id:xlc:20201208205827p:plain:w600

押し引き表にあるすべての牌姿が評価値では何点に相当するのか計算させてみた結果は以下の通り。

パターン牌姿 評価値
(子) (親)
聴牌 良形 のみ手 m1m1m2m2m2p2p3p4p6p7p8s7s8 1333.332000.00
平和 m1m1m3m4m5p2p3p4p6p7p8s7s8 1800.002600.00
悪形 のみ手 m1m1m3m4m5p2p3p4p6p7p8s7s9 666.661000.00
+1翻 1333.332000.00
+2翻 2633.333900.00
1向聴完全 のみ手 m1m1m2m2m2p2p3p4p7p8p8s7s8 383.33 572.22
平和 m1m1m3m4m5p2p3p4p7p8p8s7s8 474.07 688.88
平和 +1翻 918.511377.77
平和 +2翻1479.622166.66
良良 のみ手 m1m1m2m2m2p2p3p4p7p8s7s8z1 296.29 444.44
平和 m1m1m3m4m5p2p3p4p7p8s7s8z1 400.00 577.77
平和 +1翻 770.371155.55
平和 +2翻1185.181777.77
良悪 のみ手 m1m1m2m2m2p2p3p4p7p8s5s7s9 222.22 333.33
平和 m1m1m3m4m5p2p3p4p7p8s5s7s9 274.07 400.00
平和 +1翻 533.33 800.00
平和 +2翻 885.181322.22
悪悪 のみ手 m1m1m2m2m2p2p3p4p6p8s5s7s9 111.11 166.66
+1翻 222.22 333.33
+2翻 438.88 650.00
+3翻 444.44 666.66
七対子 のみ手 m1m1m5m5p2p2p4p4p8s3s3s7s9 200.00 300.00
+1翻 250.00 375.00
+2翻 375.00 562.50
刻子1
ヘッドレス
のみ手 m1m1m1m2m2m2p2p3p4p7p8s7s8 596.29 877.77
平和 m1m1m1m3m4m5p2p3p4p7p8s7s8 622.22 911.11
平和 +1翻1214.811822.22
平和 +2翻2062.963077.77
普通
くっつき
のみ手 m1m1m2m2m2p2p3p4p7s3s7s8s9 565.50 845.13
平和 m1m1m3m4m5p2p3p4p7s3s7s8s9 664.12 974.30
平和 +1翻1275.921912.50
平和 +2翻2084.723115.27
4連形1
くっつき
のみ手 m1m1m2m2m2p3p4p5p6s3s7s8s9 783.561170.13
平和 m1m1m2m3m4p3p4p5p6s3s7s8s9 936.571372.22
平和 +1翻1779.162668.05
平和 +2翻2905.554341.66
4連形2
くっつき
のみ手 m1m1m2m2m2p3p4p5p6s4s5s6s7 982.871468.05
平和 m1m1m2m3m4p3p4p5p6s4s5s6s7 1190.271743.05
平和 +1翻2246.293369.44
平和 +2翻3672.225488.88

この結果からは、子 vs. 子 の場合、評価値が 800 以上であればスジくらいは押してもよさそうな感じである。具体的にこの閾値を変動させてAI同士を対戦させ、評価してみようと思う。

*1:おそらくは同様の形式の表をプログラムで準備する必要があるが、その初期設定や微調整が面倒すぎる