*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>>
一向聴塔子選択・1枚切れカンチャンVS0枚切れペンチャン
今回は塔子選択の話です。

塔子の強弱でカンチャン>ペンチャンというのは超初級クラスの知識ですが、
カンチャンが1枚切れになってる場合、その序列が覆るかという話です。

想定する牌姿は
4578889m24p12789s ドラ8m (3p1枚切れ、36mが残り7枚、以外は関連牌が切れてないものとする)
です。

○条件
・自分南家、他3人非リーチ面前
・24p残しの時、5p引き両面・6p引きリャンカン・45m24p縦引きの変化を考慮する。(2回変化(縦引き+両面変化等)は考慮しない。フリテン受けは考慮しない(そのまま切る)。)
・12s残しの時、45m12s縦引きの変化を考慮する。(2回変化(4s→5s引き等)は考慮しない。フリテン受けは考慮しない。打2pの直後に5pを引いて塔子を再び振り替えるのも考慮しない。)
・赤引き打点UPは考慮しない。(入れるの忘れてた。)
・どの聴牌になっても即リーチする。聴牌時切る牌はランダム。
・一向聴でも他家攻撃に全ツする。

↓シミュレーション結果がこちら。
170621-01.png
3枚ペンチャン・6巡目を基準にすると、
ダイレクトペン3sが1枚多いと+2.6%和了率UP、
ペンチャン→カンチャンで変化が2種類多いと、+1.1%和了率UP
というわけで、枚数差があるときはカンチャン>ペンチャンの序列は通用しない(見えてる枚数が正義)、ということになります。

ただ、和了率の増え方から見て、変化があることの影響が全くないということはないみたいで、もっと変化が多ければいい勝負になりそうです。
例えばピンズカンチャンが24567pの場合など。三面張変化1種と両面変化2種6枚とリャンカン変化1種と縦引き+1種類なので、単独カンチャンより変化の質は倍以上(このへんの表現はてきとうだが)なので、直接受けが1枚少なくてもピンズ残しという線はありだと思います。

または、2シャンテン以上の場合。いつものシミュレーションではできない(AIでは可能だが、今のところバグ直し中でできない。)ですが、
愚形残りの2シャンテンという時点で和了率そのものが低いので、1枚差で和了率が何%も動くとは考えにくく、
それなら上がりに近い段階の受け入れ優先でペンチャンを落とすということもありかと思います。
孤立字牌比較・1枚切れダブ東VS生牌三元牌
今日は序盤の孤立字牌の切り順についての話です。

東場の親で1枚切れのダブ東か、生牌の三元牌かどちらを先に切るべきかという問題です。

例のごとく牌譜解析によって各種数値を見ていきたいと思います。

○条件
・東場の親
・手牌に2枚見えダブ東が1枚と生牌三元牌が1枚ある(他の三元牌は持っていないものとする)。
・ダブ東を切った時と三元牌を切った場合で最終局結果(局収支・和了率・和了時平均点・和了時役牌刻子率)を見る。

↓結果がこちら。
170619-01.png
1巡目で該当するのはドラ表示牌が東(手持ち1枚と合わせて2枚見えになる)のケースなので、その部分は置いておいて、2巡目の数値で比較します。

明らかに差があるのは和了時役牌刻子率です。
ダブ東を残して刻子にして上がれる割合は3.0%なのに対し、
三元牌を残して刻子にして上がれる割合は4.6%となっています。
およそ1.5倍なので、役牌での和了重視なら三元牌を残した方がいいということでしょう。
それとも、打点重視なら役牌複合割合が3分の2になるが、その時の打点は2倍になるダブ東残しという使い分けだろうと思います。

その一方、局収支・和了率・和了時得点はあんまり芳しくない(そんなに差がない)です。
ふつうならダブ東残しの方が重なる確率低いのに和了率が上になっています。
おそらくこれは三元牌残しの方が相対的に悪い配牌である場合が多い(悪い配牌ほど、役牌の重なりを重視したい)ためだと思われます。
刻子にできてかつ上がれる確率は1%くらいしかないので、ダブ東か、三元牌かの選択という微々たる差はそういうサンプルの偏りとかそういうものの中に埋もれてしまうのであろうと。
麻雀AI開発その23・まだまだテストは続く
今日のAIのバグ情報。

(1)牌姿「1278889m12p12789s」を入力値として入れる
→どのペンチャン落としも似たようなもののはずなのに、なぜか打1mor打2mの和了率・局収支が他よりかなり悪い。

原因
再帰パートの処理の順番的にマンズの1mからのツモが先に処理される
→再帰処理の初っ端で4mのツモandツモ切りが連続してノーチャンス壁ができてペン3mの他家からの出上がり率が高いと勘違いしたものが記憶される
→それ以降ピンズソーズツモのときに同じペン3mの牌姿が出てきたときも不当に高いロン和了率の分がそのまま参照される。
というもの。

対処法
再帰パートではツモってきた牌を見えてる枚数+1カウントさせないよう変更。
→無事にどのペンチャン落としでもほぼ同じになってくれた。


(2)牌姿「1278889m24p12789s ドラ8m」を入力値として入れる
→なぜか打2p(カンチャン落としでペンチャン残し)が一番有利と言われる。

原因
残り手替わり回数1回でカン3pの聴牌のときにダマで手替わり待ちをしたがっているご様子。
殿、ご乱心なさいませぬよう。困ったちゃんですねぇ。

対処法?
再帰パートでは18巡目までツモれることが前提になっている。
なので、悠長に手替わりを待つようなダマテンの選択が有利になりやすくなっている。
今後、鳴き判断のことも考えると、途中の巡目で他家の和了が発生する事象まで考慮した方がいいか。
ただし、記憶情報を再利用するため(計算時間短縮のため)に途中の他家の状態変化までは考慮できない。
→何巡か前の状態だけ(現在巡目の状態は問わない)を参照して、現在巡目に他家和了が発生する確率というのをパラメータとして採取する必要がありそう。

これでダマテン病が治ればいいなぁ。
そして、なかなか次の段階に進めず、ストレスがたまる展開です。
愚形リーチVS1軒リーチと相手リーチの良形割合
今日はいつもと趣向を変えて、ふつうの追っかけリーチの話です。
自手が愚形聴牌に対して、シミュレーション等では相手良形割合は平均的な値(つまり60%くらい)ということを前提にしているわけなのですが、
面子によっては愚形のリーチをほとんどかけてこない相手というのもあり得る話です。

というわけで、相手の立直の良形割合が通常より上がると押し引きにどの程度の影響が出るのかを調べてみたいと思います。
そのためには、愚形立直VS良形立直と愚形立直VS愚形立直のそれぞれのデータが必要になるので、そこは牌譜解析から調べてみたいと思います。

○集計条件
・2軒目のリーチ者を自分として局結果を調べる。
・他二人は非リーチ面前
・1軒目のリーチが良形(三面張・両面・亜両面)か非良形(シャボ・カンペンチャン・単騎・その他)かで分類する。
・2軒目のリーチ(自分)はカンペンチャン待ち。(枚数・筋かどうかは問わない)
・2軒目のリーチは成立している(宣言牌がロンされなかった)

↓が牌譜解析結果
170620-02.png
対良形立直だと対愚形立直に比べて、9巡目で和了率5%減、放銃率7%増となります。
これを見て、相手の当たり牌の枚数が2倍弱は違う割には思ったよりは差が小さいなーと感じました。

では、具体的に自手が2600愚形聴牌(子VS子)だった場合、押し引きがどうなるかを見てみます。
初手切る牌の危険度は平均的な無筋2378の8%という数値を使います。
170620-03.png
降りた時の局収支が‐1400点あたりとするなら、たとえ相手リーチが100%良形だったとしてもまだ押しの方が有利ということになります。
他の降り有利になる要因が複数重なって最終的に降りることはあり得るかもしれませんが、少なくとも相手良形割合が高い、という1点だけなら降りる理由としては弱いのでしょう。
シャンテン数と一次有効牌枚数と局収支の関係
AI開発の課題の中で、4シャンテン以上だと枚数しか見てなくて、3シャンテンでも2択に絞り込むのに枚数だけを使っているという現状があって、
広さ(一次有効牌の多さ)と初手危険度の間を取り持つ指標が必要になるかと思ってこの2日くらい牌譜解析をやっていました。

他家の高打点仕掛けが入っているのに自手の都合(枚数)しかみないのはちょっと問題であろうと。
というわけで、シャンテン数と一次有効牌の枚数に対応する局収支を実測から取ってみて、そこから初手危険度指数(放銃率×放銃時失点の和)から差し引く…とかでなんとかうまいこといかないかなぁと。

それで牌譜解析をやったんですけど、毎順シャンテン計算と有効牌枚数計算をやるため、かなり時間がかかりました。
その結果がこちら。
左が巡目、上が一次有効牌枚数
集計条件は特になし(他家の挙動は無視)
170618-01.png
同じシャンテン数・巡目では一次有効牌枚数が多いほど局収支も高い傾向にあるようです。

ただ、取ってみたのはいいけれど、これを実際使えるかというとびみょうです。
この数値は何も条件を付けてないので、自手の手牌価値と等価になっていなくて、多くの場合は途中でベタオリに回ることが入っているためです。
ちょっと失敗でしたかね。(数値自体は無意味ではないかもしれませんが。)

そうすると4シャンテン以上と3シャンテンの手牌評価が手詰まり気味です。
初手危険度の評価と安牌(大体の場合、字牌)を手に残す場合の価値の評価とか。
うーん、どうしようか。

とりあえず今考えているのは、いったんこの問題は棚上げにして、前に進めて(再帰パート自分鳴き処理部分)、
AIを実際の牌譜にかけて、その結果をなにかしら頑張って分析して、打牌決定のアルゴリズムを決める、みたいな。
ものすごく行き当たりばったりでまるでできる気がしないなぁ。
分析するにしても方向性がないとどんな数値を出力すればいいのかわからないし。
牌譜の数も多いし、AIにかけるのも1試合当たりに時間が結構かかるから、無駄なことはできないし。

現状は少なくとも細かい押し引き判断(2シャンテン以下)についてはAIで実際の牌譜を計算させてディープラーニングっぽいことをやらせることは確定なので、それがうまいこといってからまた考えようか。(すごくてきとー。)
3シャンテン以上の押し引き、打牌候補選定だとディープラーニングっぽいのをやるのに再帰計算はかけないので、シャンテン計算と有効牌計算だけでまた2日くらい時間を食うんだろうけど、そこまででかいコストではないから試行錯誤でもなんとかならんかなぁ、と希望的観測。
プロフィール

nisi5028

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

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

この人とブロともになる

QRコード
QRコード