*All archives* |  *Admin*

<<01  2018/02  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  03>>
23の単純両面か、23345の両面かどちらが上がりやすい?
タイトルの通り、23の単純両面か、23345の両面かどちらが上がりやすい?という問題。
元ネタはこちら↓
http://fukuchi.cocolog-nifty.com/blog/2018/02/post-b1d8.html

牌譜解析で調べてみました。
集計条件
・準先制リーチ(副露者の有無は問わない一人目のリーチ)
・1牌4牌の捨て牌の枚数は問わない

180215-01.png

結果として、4~5%くらい単純両面の方がいいということに。けっこうな差です。
23345のどこがいいのかは私にはよくわからない(普通に単純枚数とリーチ後ワンチャンスのなりやすさでふつうの23の方がいい気がする)ですが、なんか根拠はあるんでしょうね。
もしくは集計条件がけしからん(捨て牌枚数不問の部分が特に)、とか。
スポンサーサイト
麻雀AI開発その81・染め手パラメータその1
ここ何日かは染め手関連のパラメータを取るためにせこせこ牌譜解析しています。
その中で面白そうなデータがあったので1個紹介しておきます。

染め手聴牌に対してある牌が当たりになってる確率です。(一部抜粋)

180112-01.png

生牌(1枚持ち1枚見え)役牌の当たり率について。
場風や三元牌より(染め手者にとっての)自風の当たり率が2~3%くらい高くなっています。

おそらく場風や三元牌は染め者以外にとってもやや使いやすいので、絞られているケースが多くあって染め者以外が手牌に持ってる確率が上がって染め者が持ってる率が下がる、
一方、自風(染め者以外にとってはオタ風)は染め者以外にとっては使いづらい牌なので、先に切られることが多いが、
それがまだ場に出てないということは染め者が持ってる確率が上がる、
ということかなーと推測されます。

なお、この傾向は通常副露のケースにも当てはまるようです。(特に19オタ風仕掛けについては役牌の当たり率の絶対値がでかいので、影響も大きい。)
新年のあいさつとメモ
ちょっと遅いですが、あけましておめでとうございます。
今年もよろしくお願いします。

ここのところやる気とその他の都合で研究がご無沙汰だったのですが、
まぁ年も明けたし、重い腰を上げてAI作りを再開するかーと思っています。

やる気を出すために科学的に言われてることを実践してみようかと。
・とりあえずなんでもいいから始めてみる。
・目標を小分けにする。

次のでかい目標は染め手をAIで考慮できるようにすることです。
これができれば、いつもの何切る問題でわざわざ染め手関連を避けなくてもすむので、かなり作問の幅が広がってよりよくなるでしょう。
染め手のうち自手染め手狙いはいったん置いておいて他家染め手のケースを考えます。
踏むべきステップのうち、
①染め模様者が実際に染めに向かっている確率と聴牌率予測
についてはすでにできています。
一方、
②染め者の挙動を牌譜解析でパラメータとして取る
③パラメータをシミュレーションに織り込む
がまだできてないところです。

「とりあえずなんでもいいから始めてみる」、ということでまずは必要になりそうなパラメータの種類の書き出しからやってみます。
全体像の把握からしないとどうにもならないので。

・染め者聴牌時ある牌が当たり牌である確率
・染め者からある牌が切られる確率(リーチ者有無別・聴牌不聴別)
・染め者がいるときに別の他家からある牌が切られる確率
・染め者が牌を切った時に聴牌化する確率、聴牌を崩す確率(リーチ者有無別)
・染め者がある牌に対して鳴きを入れる確率
・染め者が鳴きを入れた後、ある牌が切られる確率
・染め者が鳴きを入れたときに聴牌化する確率
・染め者が和了した時の打点分布
 基本打点分布(役牌・ドラ・赤・清一色を除いたハン数符数)
 役牌暗刻数(副露数別、それぞれの役牌の場に見え方別)
 ドラ含有枚数(ドラ種類別)
 赤含み率
 清一色率(副露数別)

思わず、うへぇとため息が漏れますが、嘆いてばかりいても仕方ないので1個ずつ牌譜解析をこつこつやってくしかないですね。
HI&LOWギャンブル
麻雀とはぜんぜん関係ないですが、ここ数日とあるスマホゲームにはまってました。
タイトルは「うちの魔王さま - さすゆう2 - タップRPG -」というゲームです。

よくあるキャラを育成する系のゲームです。
敵を倒す→金が入るので、それでキャラを強化→より深い階層の敵を倒してより多くの金・強化を行う
という流れです。

それでミニゲームとして、HI&LOWのギャンブルゲームがついているのですが、これを今回研究してみました。

HI&LOW仕様
・持ち金のうちn%(nはプレイヤー側で任意に設定可能)をベットする。
・トランプで敵のカードを見て自分のカードが伏せられてる状態で、自分のカードが敵カードよりHI(高い)かLOW(低い)かを当てる。(ただし、同数字でのDRAWは起こらない。)
・HI&LOWを当てられたらベットした金額の倍がプールされる。外したらベットした金額を失って1ゲーム終了。
・当てた場合はプールした金額を再度ベットして再度HI&LOWギャンブル(前ゲームとは用いるカードは独立)をするダブルアップをするか、ダブルアップしないかを選択できる。
・ダブルアップをしなければプールされた金額を利確できる。
・ダブルアップ回数に制限なし。

また、ゲーム本体の仕様として、
・HI&LOWゲームをやるためには専用チケットが必要。
・チケットは階層ボスを倒したときに一定確率で得られる。

1回の挑戦で倒せるボスは階層数と比例するので、敵が強くて一定以上深い階層にもぐれないならチケット枚数は有限なので、HI&LOWが有限回数しかできない中でいかに多くの金を手に入れられるかがカギになります。

まずはダブルアップなしで1回のHI&LOWの勝率から調べます。
171226-02.png
敵カードが4ならHIを宣言して、自分のカードが2,3なら負けで、5,6,7,8,9,10,J,Q,K,Aなら勝ちなので、勝率12分の10。
敵カードの分布は等確率(つまりすべて13分の1)とすると、1ゲームの勝率が76.9%になります。

なので、76.9%の確率で掛け金が倍になり、23.1%の確率で掛け金を失うゲームなので、かなり割りのいいゲームであることがわかります。
よって、獲得金額の期待値だけなら全額をベットするのが正着になりますが、全額ベットして負けてしまったら種銭が尽きて敗走…ということになってしまいます。
全額ベットみたいな極端な例は考えないにしても、あまりに多くの金額を賭けてしまうと、負けた場合に次回以降の種銭がなくて、十分に稼げない、ということも往々にして起こりえます。
また、種銭がなくなるのを恐れて少額をベットしても割のいいギャンブルを活かせず、あまり金を増やせないままチケットを使い切るということもあります。
なので、より確実により多くの金額を稼げるベット金額(持ち金に対する割合)とダブルアップ回数を探ることになります。

今回はベット割合とダブルアップ回数を固定にしたときに、有限回(今回は50回とする)後の持ち金がどうなるか(現在持ち金を1としたときに何倍に増えたか)をシミュレーションしてみます。(ゲーム自体は超単純なので、シミュレーションとはいっても大したものではないです。)
モンテカルロシミュレーションに繰り返し回数は10000回です。
171226-03c.png

先ほど述べたように1回のゲーム自体は期待値プラスの割のいいゲームなので、より多くベットして、ダブルアップもたくさんする方が平均獲得金額は大きいです。
ただ、より「確実に」稼ぐという観点だと、中央値(平均的な勝ち負けパターンでいくら残るか)もしくは下位5%分位点(負けが込んで悪い結果だった場合でも最低限稼げる金額)の方が重要になります。

↑の表の中の中央値と下位5%の点を見る限り、持ち金の20%~40%を毎回ベットして、3回ダブルアップする、という戦略がバランスがよさそうです。
ベット割合30%、ダブルアップ3回だと、平均的な勝ち負けパターンで50ゲーム後に1315万倍に持ち金が増える、悪いパターンを引いても1743倍にはなってくれる、という感じです。
チケット枚数が限られている中で、割のいいギャンブルをたくさんするためにダブルアップ回数は増やすけれども、その代わりベット金額を落としてバランスをとるような感じです。

というわけで、ベット割合30%、ダブルアップ3回で実際にゲームしてみたのがこちら。
171226-01.jpg
左上が持ち金で1→1,000(K)→1,000,000(M)→1,000,000,000(B)→1,000,000,000,000(T)→以下1000倍ごとに(AA)→(BB)→…→(ZZ)→(AAA)→(BBB)→…で、現在(MMM)まで増えた。

通常プレーでは600階層あたりで通常ドロップ金額が頭打ちになり、キャラの強化効率が悪くなって敵を倒せず撤退、という感じだったのが、
序盤から積極的に最適プレーのHI&LOWで持ち金を倍々に増やしていったところ、キャラの強化スピードが敵の強くなるスピードを上回るという現象が発生。より深い階層に潜れた分、使えるチケットが増えてより金を増やせるという好循環になりました。
もはや育成ゲームよりもHI&LOWの方がメインになってしまいました。

これで、このゲームは攻略できたことにしておこう。

それにしても、ゲームの攻略までできるモンテカルロシミュレーションとかExcel VBA先生は素晴らしいですな。
統計とかプログラミングとかを勉強した甲斐があったもんです。
対親リー愚形のみ手追っかけVS取りダマ
雀ゴロK本3でおそらく一番議論になるだろう、愚形リーチのみで親リーにつっこむか問題。

本のグラフに載ってるのは局収支のグラフだけだったので、シミュレーションの生データを載せておきます。気になる方はこれで議論してみてください。
171216-01.png
私見的には、どっちかというと取りダマ派です。
取りダマの仮定は(次順以降危険度5%以上の牌を引いたらオリ、両面に変わったらリーチに切り替える)ですが、
今回の条件に合ってないもしくはシミュレーションで考慮できていない条件のうち、取りダマ側が有利になりやすいものが多いと考えられるからです。
・両面変化でピンフがつく場合。
・ドラ引き赤引きで高くなるANDドラでの放銃回避
・面子スライドで危険牌切り回避
・面子スライドで役あり(主にタンヤオ)へ移行
・聴牌崩しからの回し打ち
・(上級者的には)読みによってこの後繊細な押し引き判断で選択権が持てる。
・(天鳳ルール的には)即リーチはトップ率ラス率が高くなりやすいのがトータルでマイナスになりそう。

こんな感じです。

以下、どうでもよい雑談。

先日、パソコンが壊れて量販店の延長保証に入ってたらしかったので、それで修理してもらうと持っていったら
年末で混んでるっぽくて「もしかしたら引き取れるの年明けになるかも」みたいに言われて、さすがにそれでは支障がありすぎるし、壊れたパソコンも5年弱使ってるからもうそろそろ潮時かと思って、修理に出してそのまま新しいのを買うことにしました。
麻雀研究関連も含めたデータを復旧させるのに手間取ったりしました。(最終的に無事だったからよかったけど、「ファイル履歴」の機能が意外にやっかいだった。前のバックアップが見つからないとか出たりとか、前のバックアップと新しいパソコン側のファイル履歴でバッティングというか、どこいったかわからなくなったりとか。外付けHDDのパーテーションまで持ち出して無理くり解決した。)
次にソフトの再インストール。いつものプログラミングソフトをVisualStudio2010や2013から2017に乗り換えました。これが大当たり。アウトライン機能がパワーアップしていてif文とかfor文が勝手に折りたたまれてくれてました。これははかどります。

それで喜び勇んでシミュレータとかの動作確認をしてたら、なんか前のパソコンより明らか遅くなってました。ハードディスクをSSDに変えたのになんでや…、と思ってたらどうやらCPUのスペックの問題らしかった。前がcorei5で新しいのがAMD A12というやつ。調べたらIntelで言うとcorei3相当のスペックらしい。ふにゃーん。下調べせずにその場でなんか値段的によさげと思ったやつで即決したのがあだになりました。しょうがないからしばらくはこれで我慢して、前のパソコン戻ってきたらまた現役に復帰させることにしましょう。(牌譜解析とかAI自己対戦とか時間かかる系の処理用に。)

あとは画面解像度の問題に悩まされました。フルHDディスプレイというやつで、解像度が上がったのがいいんですが、なんかシミュレータやword,excelなどの画面がぼけて見えるという問題です。拡大率を推奨の125%から100%に変えたら治るんですが、それだと字が小さすぎて見づらいという。これについてはなんとかWin8.1のように見せる的なフリーソフトが紹介されていたので、それでやったらうまいことはっきり見えるようになりました。
これで一件落着。
プロフィール

nisi5028

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

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

この人とブロともになる

QRコード
QRコード