電脳麻将 の押し引きの検討を開始した。押し引きの基準としてはいろいろな麻雀戦術書で引用されている「押し引き表」が有名である。
これをそのまま実装してもよいのだが、現在の牌姿が表中の「1向聴・完全・のみ手」といったパターンのどれに該当するのか判定するのが厄介だし、そもそも表中にすべてのパターンが網羅されている訳でもない。さらには押し引き表は離散値なので調整が面倒だ*1。電脳麻将では牌姿を 評価値 で表すことができるので、これを牌姿のパターンの代わりとすれば判断基準に使えるはずである。例えば「1向聴・完全・のみ手」の子の場合、評価値は 383.33 となる。
押し引き表にあるすべての牌姿が評価値では何点に相当するのか計算させてみた結果は以下の通り。
パターン | 牌姿 | 評価値 | |||
---|---|---|---|---|---|
(子) | (親) | ||||
聴牌 | 良形 | のみ手 | 1333.33 | 2000.00 | |
平和 | 1800.00 | 2600.00 | |||
悪形 | のみ手 | 666.66 | 1000.00 | ||
+1翻 | 1333.33 | 2000.00 | |||
+2翻 | 2633.33 | 3900.00 | |||
1向聴 | 完全 | のみ手 | 383.33 | 572.22 | |
平和 | 474.07 | 688.88 | |||
平和 +1翻 | 918.51 | 1377.77 | |||
平和 +2翻 | 1479.62 | 2166.66 | |||
良良 | のみ手 | 296.29 | 444.44 | ||
平和 | 400.00 | 577.77 | |||
平和 +1翻 | 770.37 | 1155.55 | |||
平和 +2翻 | 1185.18 | 1777.77 | |||
良悪 | のみ手 | 222.22 | 333.33 | ||
平和 | 274.07 | 400.00 | |||
平和 +1翻 | 533.33 | 800.00 | |||
平和 +2翻 | 885.18 | 1322.22 | |||
悪悪 | のみ手 | 111.11 | 166.66 | ||
+1翻 | 222.22 | 333.33 | |||
+2翻 | 438.88 | 650.00 | |||
+3翻 | 444.44 | 666.66 | |||
七対子 | のみ手 | 200.00 | 300.00 | ||
+1翻 | 250.00 | 375.00 | |||
+2翻 | 375.00 | 562.50 | |||
刻子1 ヘッドレス | のみ手 | 596.29 | 877.77 | ||
平和 | 622.22 | 911.11 | |||
平和 +1翻 | 1214.81 | 1822.22 | |||
平和 +2翻 | 2062.96 | 3077.77 | |||
普通 くっつき | のみ手 | 565.50 | 845.13 | ||
平和 | 664.12 | 974.30 | |||
平和 +1翻 | 1275.92 | 1912.50 | |||
平和 +2翻 | 2084.72 | 3115.27 | |||
4連形1 くっつき | のみ手 | 783.56 | 1170.13 | ||
平和 | 936.57 | 1372.22 | |||
平和 +1翻 | 1779.16 | 2668.05 | |||
平和 +2翻 | 2905.55 | 4341.66 | |||
4連形2 くっつき | のみ手 | 982.87 | 1468.05 | ||
平和 | 1190.27 | 1743.05 | |||
平和 +1翻 | 2246.29 | 3369.44 | |||
平和 +2翻 | 3672.22 | 5488.88 |
この結果からは、子 vs. 子 の場合、評価値が 800 以上であればスジくらいは押してもよさそうな感じである。具体的にこの閾値を変動させてAI同士を対戦させ、評価してみようと思う。
*1:おそらくは同様の形式の表をプログラムで準備する必要があるが、その初期設定や微調整が面倒すぎる