« 牌譜から平均立直和了点を求める時の罠 | トップページ | 天鳳の解析スクリプトのバグ? »

2011/05/12

牌譜データ解析とか

 というわけで、いずれ、牌譜のデータを取り直すことになりそう。

 最近似たようなデータ公開してくれている人は多くなってきたのだけれど、残念ながらそのまま流用はできない。麻雀ゲームの場合、ある程度、具体的な場況がわかっているので、もっと、条件分けをして集計する必要があるからだ。

 例えば、立直ロン和了の平均点数も、今このシーンで振り込んだ場合、一発や海底撈月がつく/つかないが判っているので、そういった条件分けをしたうえで集計する必要がある。一発/海底撈月以外にも、場に見えているドラの枚数などで平均和了点数は変わってくるので、そういった条件分けも必要となる。また、順位戦での点数状況判断のためには、平均点数だけをスカラーなデータで持つのではなく、各点数毎の確率分布をベクトルデータで持つようにする必要もある。

赤ナシデータの採取はそれほど大変ではない。既に東風荘用の解析ツールは作ってあるので、数時間程度の作業時間を割いて作業を進めればよいだけの話である。


ただ、赤ドラ対応用に天鳳用の解析ツールを別途作る必要があって、これが結構面倒くさそうな気がしている。

天鳳の牌譜の解析のやり方には、大きくは3通りのやり方が考えられる。

その1
Windowsの有償版天鳳ソフトについてくる牌譜解析ツールlogana.exeで動作するjavascriptで作る方法。

その2
天鳳の牌譜ファイル(mjlogファイル)を直接読み込むプログラムを作成する方法

その3
有償版Windowsの牌譜解析ツールで、天鳳の牌譜ファイルを東風荘ライクなテキスト形式のフォーマットに変換し、変換した牌譜ファイルを解析するプログラムを作成する方法。


 一番スジが良いのは1だと思う。logana.exeには、向聴チェックや、グラフ作成、牌画表示などをJavaScriptから利用できる機能もあるようだ。また、牌譜フォーマットの変更も、logana.exe本体が対応してくれるので、個別のプログラマが作成するJavaScriptで対応する手間が少ない。 開発者間でソースを流用したり、一般ユーザにアプリを公開するとしたら、この方法が一番楽だろう。つの氏もそうしてほしいと思って今のような仕組みの牌譜解析ツールを作ったのだろうと思う。(ただ、そうならば、有志作ったツールのURLを記録するためのブックマーク機能や、SDK的なドキュメントも欲しかった。)
 天鳳界隈のプログラマが皆logana.exeで動作するJavaScriptでツールを作っているならば、オープンソース的なコミュニティが出来て、いろいろ便利なのだけれど、残念ながら、現実的にはそういった方向で牌譜解析を作るような雰囲気になってないようだ。
 また、まったり麻雀の開発という意味では、赤あり/赤なしの両方のルールに対応するために、東風荘のデータ解析と天鳳用のデータ解析でまったく別々にツールを作る必要が出てきて、2倍の手間がかかってしまう問題もある。


 その2は作るのが一番面倒くさそう。天鳳のフォーマットは、XML的な面と、ビット操作的な面が混合したフォーマットで、東風荘と比較すると、可読性が悪くて、なにかと煩わしい。それに天鳳はフォーマットをコロコロ変えるのでいちいち対応する手間を取られそう。 ただ、これを作ってしまえば、別の天鳳ツールをつくるときに、色々と流用ができるメリットがあるのも事実。また、処理速度的にもこの方法が一番早いだろう。

 その3のやり方は、東風荘の牌譜解析ツールを既に作ってあるならば、それを少し改造して対応できそうなのがメリット。プログラム作成の手間自体は一番楽そうだけれど、一度牌譜を変換する手間をかける必要があるし、データ解析以外の別の天鳳ツールへの流用がやりにくいデメリットもある。また、一般公開も実質無理だろう。

単純にまったり麻雀の開発に必要なデータを取るツールを手間をかけずにつくるなら、その3が一番楽なのだろうけれど、まだどの方法でやるか決めかねている。

|

« 牌譜から平均立直和了点を求める時の罠 | トップページ | 天鳳の解析スクリプトのバグ? »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 牌譜データ解析とか:

« 牌譜から平均立直和了点を求める時の罠 | トップページ | 天鳳の解析スクリプトのバグ? »