電脳麻将 の思考アルゴリズムを改善したときはプログラム同士を自動対戦させて効果を検証している。現在のアルゴリズムの場合、1000戦の試行に5時間くらいかかる*1のだが、麻雀には運の要素があるため同一のプログラム同士を対戦させても1000戦では平均順位に 2.45~2.55 ほどの幅が出てしまう。効果の高い改善であれば平均順位が 2.40 程度になりこの範囲を超えるのだが、このところ試している押し引きの改善では平均順位がこの幅の中に入ってしまい、効果があるのかないのか判然としない。
ならば1000戦分の牌山をあらかじめ作成しておき、同一の状況で対戦させればよいのではないか。リアル麻雀にはこのような試みがあり、「デュプリケート麻雀」と呼ぶらしい。
リアル麻雀でこれをやるのは相当大変そうだが、コンピューター麻雀なら簡単なはず。ということで実装してみた。
*1:最初期のアルゴリズムなら10分程度で1000戦できたのだが……