*All archives* |  *Admin*

<<05  2017/06  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  07>>
麻雀AI開発その19・こまごまとした修正
AI製作の続きです。(floodgate for mahjongで打つこと以外の主目的ができたので、通し番号そのままでタイトルを変えました。)

1試合通しで計算させたログ(1打1打ごとの評価値)を見ながら、こまごまとした修正をかけました。

・聴牌でリーチとダマの評価値が似たような数値になってる。
初手をダマにした場合も次順以降はリーチが有利と判断すれば上がり牌や変化できる牌以外を引いてもツモ切りリーチをするためと思われる。
なので、再帰パートでダマ聴牌状態からツモ切り(ツモ牌と切る牌が同一のとき)になるときは最適打計算からツモ切りリーチの場合を除外するように変更しました。

・ツモ番のない状態でもリーチをかける選択も計算している。
ほとんどのケースはリーチ棒を失う分、ツモ番のないリーチは有利にならないので、大勢に影響はないですが、
ルールに即してツモ番がない時は初手打牌選択、及び再帰パート内計算でリーチの選択を除外するように変更しました。

・残りスジ本数と放銃率
前の四麻計算機を参考にして今回AIを作っていますが、そのときに入ってなかった要素として、残りスジ本数と放銃率の関係があります。今のタイミングがちょうどいいので、その部分を新たに作ることにしました。
パラメータは前の研究で採取済みなので、それをいつも通り(元になる放銃率に対して係数を掛け算する方式)シミュレーションパートに組み込みます。
少し手間取ったけど、無事に入れることに成功。


まぁ、修正点が見つかるのはいいのですが、
1試合のログ(テキストファイルで15000行超)を1打1打自分の目でチェックするのが思いのほか重労働です。長時間ログを見てると集中力が散漫になりがちです。
この間の有効牌計算関数でたらめ事件があったので、少しでも説明がつかないような変な打牌があればその部分をピックアップして内部変数を調べる、みたいなことも必要なので、時間を食っています。

設計とかコーディングとかとは違って、単純なテスト作業はやった分だけ目に見える成果につながらないので、精神的にちょっとこたえます。
普通にコーディングする上ではバグは避けられないので、テストとバグ潰しも重要なんですが、いかんせんモチベーションを維持するのが大変な感じですね。

とまぁ、ブログを書いて気分転換もしたので、またログのチェック作業に戻りましょうか。
スポンサーサイト
プロフィール

nisi5028

Author:nisi5028
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード