2008/11/27
テーマ: 開発 / 2008 / すべて
「統計データに基づいた知識を得て麻雀生活に役立てたい」的な。
麻雀の楽しいところは、運の要素が勝敗に少なからず絡んでくるため 素人とベテランが混じっても圧倒的大差にならずにいい勝負ができたりする所かなと思っています。
それでも、長期的には運の要素が相殺されるため、確率をより正しく推定できる人が強かったりします。
そこでひとつ、 こんな方法ではどんな勝率になるのかとか、 こういうときはこうなる可能性が高いとか、 そういった統計データに基づいた知識を見つけていこうかなといったところです。
例えば、中盤以降は全探索して得失点の期待値が最大になる捨て牌が計算できちゃうんじゃないかとか、 そのような打ち方を勉強して自分の推定精度を改善するとか、いろんなことができそうな気がして楽しみです。
かなり研究されてるみたいです。商用ゲームの AI とか、もっと進んでいたりするかもです。
まずはゲームの進行をシミュレートする基本的な部分。
今日の実装は
という、とりあえずみんなランダムに捨てていって流局というしょぼいものです。
いまのところコードは 130 行です。
↓序盤、プレイヤー「3」が中をツモって打3筒の図
=== Tumo 3 中
=== Da 3 ③
-- Board state --
Yama:
⑨⑥⑦九二七6③⑧七五7八3
⑤西南中③二⑧九⑦白白
三③67⑨四2七143九五⑦北北8
9發1白①6南二西⑥四5八⑨9三5
5一①8⑤三4八②東⑧四1⑤②④1
0 Hand: 二七①⑥⑦2346東白發發
1 Hand: 一四①④4799東東北中中
2 Hand: 一三六九②④⑨238南南發
3 Hand: 一五六六②⑧2578西西中
0 Kawa: ⑥八
1 Kawa: 北⑤
2 Kawa: 六④
3 Kawa: 五③
Cygwin のコンソールから
「二七①⑥⑦2346東白發發」
とか出てくると、ついニヤけてしまいます。
2008/11/27
テーマ: 開発 / 2008 / すべて