聴牌している他家がある牌を待つ確率を以下の式で計算しグラフで出力する. なお, 使用するアルゴリズムは動的計画法である(モンテカルロ法ではない).
-
このリポジトリをクローンする.
$ git clone --recursive https://github.com/tomohxx/predictor-graph.git $ cd predictor-graph
-
wall_river.txtに他家の手牌の面子数と各牌の残り枚数, 振聴かどうかのフラグを入力する.
- 1行目に手牌の面子数を入力する(4は門前を意味する).
- 2行目以降に各牌の残り枚数と振聴かどうかのフラグを入力する. 例えば1mの残り枚数が3枚, 1mが捨てられている(あるいは立直後に通っている)場合は
1m
の行に1m 3 1
と入力する. また, 2mが自分から1枚も見えなければ2m
の行に2m 4 0
と入力する. 同様にして他のすべての牌について残り枚数と振聴かどうかのフラグを入力する.
4 1m 3 1 2m 4 0
-
以下のコマンドを実行する. example.pngのようなグラフが
output
に出力される.$ docker build . -t predictor $ docker run -v $PWD/output:/output -v $PWD/wall_river.txt:/wall_river.txt --rm predictor