電脳麻将 の 何切る解答機 で 麻雀 定石「何切る」301選 を解いてみた。
全301問中解答が一致したのは209問。正答率は69%。不一致の92問について検討し、可能であれば思考アルゴリズムの改善に役立てたいと思う。
打牌選択アルゴリズムは 麻雀の打牌選択アルゴリズム(4) - koba::blog 〜 麻雀の打牌選択アルゴリズム(9) - koba::blog で説明しているが、ここでもう一度おさらいしておく。
牌姿の評価値
1. 牌姿が和了形(向聴数 = -1)の場合 (手牌が14枚)
ツモ和了の和了打点を評価値とする。門前の場合は立直の1翻を加えるが、一発・裏ドラは考慮しない。また積み場、供託も打点には加えない。
[ 東場 南家 ]
の場合、20符3翻(立直、門前清自摸和、平和)で 2700点。
2. 牌姿が打牌後の場合 (手牌が13枚、テンパイもこの形)
向聴数の進む牌について
- ツモった牌姿の評価値 x 牌の枚数 / 向聴数ごとのマジックナンバー
- 聴牌
- 12
- 1向聴
- 72 (= 12 x 6)
- 2向聴
- 216 (= 12 x 6 x 3)
としている*3。
[ 東場 南家 ]
の場合、
- 摸 : 2700 x 4 / 12 (20符3翻: 立直、門前清自摸和、平和)
- 摸 : 5200 x 1 / 12 (20符4翻: 立直、門前清自摸和、平和、赤ドラ x 1)
- 摸 : 2700 x 3 / 12 (20符3翻: 立直、門前清自摸和、平和)
の総和で 2008.33点。
3. 牌姿が打牌可能な状態(ツモの後、副露のあと)の場合 (手牌が14枚)
向聴数が戻らない打牌を行った後の牌姿の評価値のうち最大のものを、その牌姿の評価値とする。
[ 東場 南家 ]
の場合、
- 打 : 2008.33
- 打 : 2666.66
となるので 2666.66点。
これを再帰的に繰り返せば任意の牌姿の評価値を計算できるが、3向聴以前の場合は計算時間がかかり過ぎるため評価値は使わず待ちの広さだけで打牌を選択している。
シャンテン戻し
多くの場合はシャンテン戻しとならない打牌についてのみ評価値を計算し、評価値最大となる打牌を選択すればよいのであるが、ときにはシャンテン戻しが有効な場合もある。
評価値は任意の牌姿で求めることができるので、シャンテン戻しの牌姿についても評価値を計算し比較すればよさそうに思われるが、それだと和了打点が高くならず待ちだけが広くなるケースを評価し過ぎてしまうことがわかっている*4。
そこでシャンテン戻しの牌姿については以下で評価を行っている。
- 評価値がシャンテン戻しを行う前の2倍以上とならないケースは評価しない
- シャンテン戻しの際に打った牌を引き戻したケースは評価しない
これにしたがうと、
[ 東場 東家 ]
の場合*5、
- 打 : 750.00 (聴牌)
- 打 : 1673.26 (1向聴)
となり、シャンテン戻しとなる が選択される。
鳴きの考慮
評価値計算の際には鳴きも考慮している。
[ 東場 東家 ]
の場合*6、評価値は門前の
有効牌 | 枚数 | 打牌 | 聴牌形 | 待ち | 枚数 | 打点 | 評価値 |
---|---|---|---|---|---|---|---|
1 | 4 | 11700 | 7800 | ||||
4 | 11700 | ||||||
3 | 4 | 6000 | 4000 | ||||
4 | 6000 | ||||||
1 | 4 | 6000 | 4000 | ||||
4 | 6000 | ||||||
4 | 1 | 11700 | 4975 | ||||
3 | 6000 | ||||||
1 | 6000 | ||||||
2 | 12000 | ||||||
2 | 1 | 12000 | 5600 | ||||
3 | 7800 | ||||||
1 | 7800 | ||||||
2 | 12000 | ||||||
4 | 1 | 11700 | 4975 | ||||
3 | 6000 | ||||||
1 | 6000 | ||||||
2 | 12000 | ||||||
2 | 4 | 12000 | 8000 | ||||
4 | 12000 |
に副露したケースの
有効牌 | 枚数 | 打牌 | 聴牌形 | 待ち | 枚数 | 打点 | 評価値 |
---|---|---|---|---|---|---|---|
1 x 1 | 2 | 0 | 2000 | ||||
2 | 12000 | ||||||
3 x 1 | 2 | 0 | 1300 | ||||
2 | 7800 | ||||||
1 x 2 | 2 | 0 | 1300 | ||||
2 | 7800 | ||||||
1 x 1 | 2 | 0 | 1300 | ||||
2 | 7800 | ||||||
4 x 1 | 1 | 0 | 1000 | ||||
3 | 0 | ||||||
1 | 0 | ||||||
2 | 6000 | ||||||
2 x 3 | 1 | 0 | 1300 | ||||
3 | 0 | ||||||
1 | 0 | ||||||
2 | 7800 | ||||||
4 x 1 | 1 | 0 | 1000 | ||||
3 | 0 | ||||||
1 | 0 | ||||||
2 | 6000 | ||||||
2 x 3 | 4 | 6000 | 4000 | ||||
4 | 6000 |
を加えた 1950.00点 となる。
孤立牌の評価値
牌姿の評価値が同点の場合は、孤立牌として優秀な牌を残すように打牌選択する。孤立牌の評価値は 麻雀の打牌選択アルゴリズム(9) - koba::blog のアルゴリズムで決定する。
[ 東場 東家 ]
の場合*7、打 と が同点で評価値最高となるが、孤立牌としての評価値が
- : 15点
- : 12点
となるため、打 を選択する。