Version0.8.10出しました
ハイテイ牌を人間が暗槓、加槓できてしまうというバグがあることを、さるお方からメールにて画像付きで報告していただきました。ご連絡ありがとうございます。
修正したVersion0.8.10を出しました。
これは、以前あった類似バグの検査ミスです。
こんなしょうもないバグを出してしまい申し訳ないです。
| 固定リンク
| コメント (7)
| トラックバック (0)
ハイテイ牌を人間が暗槓、加槓できてしまうというバグがあることを、さるお方からメールにて画像付きで報告していただきました。ご連絡ありがとうございます。
修正したVersion0.8.10を出しました。
これは、以前あった類似バグの検査ミスです。
こんなしょうもないバグを出してしまい申し訳ないです。
| 固定リンク
| コメント (7)
| トラックバック (0)
点数状況判断の修正をしたくて脳内でいろいろ考えてるけれど、思ってた以上に厄介なことになりそう。
鳴き仕掛けの点数読みはやっぱ避けてとおれなさそうだ。
状況わけが多すぎて本当に面倒臭い。
| 固定リンク
| コメント (0)
| トラックバック (0)
次の版はオーラスと南3局の点数状況判断を修正して、ver0.8.10として出したい。
その後で(あるいは同時に)、ver0.9系列用にソースをかなり改造する予定。
そこで、GUI変更やログ採取、役判定アルゴリズムの高速化を入れ込みたい。
…って言うのは簡単だけど。さあ、どうやって作業を進めるべきか……
点数状況判断を修正するためにするべき作業として、
思いつくのは以下だけどドレも面倒だし難しいな。
- 立直判断、鳴き判断の修正のための元データ
- 期待値を点数ではなくて最終予測順位にする
- オーラス開始時の点数差と最終順位
- ダマテンパイの収支と立直をかけたときの差
- 鳴き仕掛けと和了速度
- ボロ負け時の無理やり大物手狙い
| 固定リンク
| コメント (0)
| トラックバック (0)
Version0.8.9を公開しました。修正内容は左サイドのとおり。
確実に強くはなっているものの、一年たってこれだけかよという気もする。
| 固定リンク
| コメント (2)
| トラックバック (0)
鳴き対策修正、修正後と修正前で打ち方が変わる局は平均750点程度の差が出てる。ただ、局面自体が、それほど多くないから、トータルの局収支レベルだと+15程度。
また、評価値はとてもじゃないが期待値と呼べるほどの精度が無い。
でも仕方ない、とりあえずこれ採用でいく。
あとは、補助評価関数とカンの条件を修正してからVer0.8.9として公開する予定。
| 固定リンク
| コメント (0)
| トラックバック (0)
鳴き対策を補正して動作させている。ちょっと攻めすぎなきもするけど、降りると判断したケースは割と自然な感じの降り方をするようになった。これなら少なくとも今より弱くなることはなさそう。もう少しデータとってみて問題無さそうなら、ver.0.8.9はこのアルゴリズムでいく。
| 固定リンク
| コメント (0)
| トラックバック (0)
現行のベイジアン風染め手読みアルゴリズムは染め手らしさを0~1の間の値で返すようにしている。
予測値を0.1間隔で区切って、実際の染め手の確率と比較するグラフを作ってみた。
これを見る限りだと、結構良い感じ。
各要素を無理やり独立とみなして、ベイジアンフィルタ風のアルゴリズムで役読みをする基本方針は、妥当であるように思える。
非完全情報な麻雀では染め手か染め手じゃないのかが白黒はっきりと判断つかないケースも当然あるので、確率で予測するしかない。ただ、見えている情報をできるだけ詳しく分析することで、あいまいな予測値ではなくて、可能な限り、白黒つけやすい評価値、すなわち、上のグラフで両サイドの棒をより高く、真ん中付近がより低くなるような、アルゴリズムを作ることは出来るのではないかと思う。
なお、今判定に使っている要素は実は3つだけ。
(1)フーローした面子種別とフーロー順序
(2)河の3順目までに捨てられている3から7の数牌の枚数
(3)河の6順目までに捨てられている字牌と染め手対象となる色の数牌の枚数
この要素を増やすことで、より精度が高くて、白黒はっきりした評価値が出せるのではないかと思っている。
観察している範囲だと、(3)の字牌については、初牌か合わせ打ちかで条件を分けてみるとよさそうな気がしている。
また、前半ではなく後半の捨てパイの傾向からも予測が付くと思う。
以下の要素を加えてみる予定。
(4)2鳴き後の手出し字牌、
(5)2鳴き後->染め手対象の数牌手出し後の手出し牌の種別
(6)手出しターツ、対子落とし
他になにか、いい要素が思いつけば随時加えるけど、今思いつくものは無い。
出来ればこういった要素をヒューリスティックにリストするのではなくて、機械的に求められると、格好良くて、しかも楽なんだけどな。
| 固定リンク
| コメント (0)
| トラックバック (0)
現行の染め手読みアルゴリズムの精度を測ってみた。
第2東風荘のログで、2面子以上さらしてテンパイした最初の局面について計測し、以降の手変わりは集計対象としなかった。
上記条件で、染め手読みアルゴリズムで染め手になっている確率と、実際に染め手でテンパイしていたかどうかの結果を比較した。
サンプル数 19124(染め手テンパイ率21.56%)
染め手読みアルゴリズム自体は非染め手らしさの値を0~1の間の値で出すようにしている。
0.5以上なら染め手、未満なら非染め手と読んだとみなして的中率を出してみると……
的中率 87.47%
非染め手テンパイを非染め手であると正しく読めた割合率 93.56%
染め手テンパイを染め手であると正しく読めた割合 65.3%
また、染め手読みアルゴリズムが出した値と実際の結果の
単相関係数は0.6532
-----
微妙ですな……
そもそも2副露以上でのテンパイ時の染め手率は21.56%なんだから、
ぶっちゃけ、全部染め手じゃないと読んでも的中率78.44%までは行くわけだし。
ただ、染め手と読んだけどはずれた場合は、染め手じゃなくても、
染め手だと読んだ色があたり牌になってることが多いんで、
この程度間違ってても結果オーライなのかもしれない。
いずれにせよ、いまのアルゴリズムは雑すぎるんで、
もう少し精度を上げられる方法を探す。
でも、せいぜい2~3%程度しか上がらないような気もするけど……
---
ちなみに、以前別のサンプルでとった2副露以上での和了時のデータでは
サンプル数 7315で、そのうちの染め手和了の割合は19.5%だった。
テンパイ数と和了数の比率で、染め手と非染め手のテンパイ後の
和了しやすさを単純計算で比較してみると、
1.14倍程度、非染め手のほうが上がりやすいということになる。
1.14倍というと案外小さいと思うかもしれないけれど、この差はそれなりに大きい。
| 固定リンク
| コメント (0)
| トラックバック (0)
ゲームジャパンで連載が始まった「小林剛の何切る解析」が良さげ。
麻雀の本ってなんかどうしてそう打った方が良いか説明が不足しているモノがおおいけど、この連載は比較的納得のいく説明になってた。3向聴の牌効率ってのは麻雀アルゴリズムの課題のひとつなんで参考になりそう。
ただ、1ページの連載のために雑誌買うのも多少ためらう。カードゲームとか、RPGとか興味ないからなあ……
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント