tenhou-python-bot
tenhou-python-bot copied to clipboard
When tile ukeire/ukeire2 is the same, choose the best one in regard with same-shanten improvements
Для тайлов с равным укеире/укеире2 можно оценивачать число улучшений, дающих то же число шантен, но при этом повышающих укеире.
Как считать хэнка:
- При сносе тайла X смотрим все заходы, при которых не меняется число шантен и при которых бот сносит не-цумогири (аналогично укеире2, только укеире2 смотрит заходы которые дают темпай).
- Для каждого такого захода смотрим какое укеире у лучшего сноса. Если укеире больше текущего, сохраняем тайл Y и сколько укеире он дает в список. (Было бы круто тут считать стоимость по укеире2, но это какой-то алгоритмический взрыв будет).
- Для тайла X вычисляем некоторый коэффициент. Например возьмем границу - улучшение укеире на 30%. И для каждого тайла Y из списка, если укеире при его заходе на 30% или выше больше текущего добавляем к коэффициенту += (новое укеире - старое укеире) * число живых тайлов Y. Это будет коэффициент качества хэнка.