Equim-chan / Mortal

🚀🀄️ A fast and strong AI for riichi mahjong, powered by Rust and deep reinforcement learning.
https://mortal.ekyu.moe
GNU Affero General Public License v3.0
895 stars 118 forks source link

Mortal declares really bad ankan being in riichi #72

Open alexeydergunov opened 1 month ago

alexeydergunov commented 1 month ago

/6 log:

{"title":["",""],"name":["","","",""],"rule":{"aka":1},"log":[[[0,0,0],[25000,25000,25000,25000],[15],[46],[11,11,11,12,12,12,13,13,13,21,21,37,39],[44,11],["r44",60],[14,15,16,17,18,19,21,22,23,24,25,26,27],[42,38],[60,38],[28,29,31,32,33,34,35,36,37,38,39,14,16],[42],[60],[17,18,19,21,22,23,24,25,26,27,28,29,31],[42],[60],["和了",[19000,-18000,0,0],[0,1,0,"跳満18000点"]]]]}

Hand: 111222333m11p79s, we do double riichi, then draw 1m, and Mortal declares kan.

It decreases value of the hand so much: Without kan: Double riichi, Junchan, Iipeikou (6 han) (we can read sets as 123m, 123m, 123m) With kan: Double riichi, Sanankou (4 han)

Such kans change sets interpretation, but for simplicity they are allowed online. That doesn't mean they are always good.

This case is very tricky and could have been missed. It may seem that having sanankou is always optimal, but it's not.

Equim-chan commented 1 month ago

Mortal is not good at such corner case.