記事一覧

段位変動シミュレータの再開発

 2日前の夜から1日前の朝にかけて、徹夜で段位変動シミュレータを作り直していた。
(ちなみに、1日前の昼はカンジキリンシャンオールマイティーセットなる謎セットに参加していた)

 以前、「天鳳の鳳南七段(鳳凰卓の東南戦で平均順位2.5をマークする者)でもたくさんの試合(例えば、1億試合)を打てば天鳳位にたどり着けるか」についてシミュレーションをやったことがある。
 しかし、このシミュレータは3年前に作ったこともあり、次のような欠点があった。

 特上卓から追い出されたらシミュレーションが打ち切りになってしまう、つまり、上級卓で打つことを想定していない
 ランダムの質が悪い(デフォルトのランダム関数を使っていた)
 試合開始時のそのプレーヤーの累積試合数が400試合以上となっていて、新キャラを作った直後のシミュレーションはできない。
 初めてn段で指す場合のその試合数が分からない(n段タッチの試合数が分からない)

 そのため、シミュレーションを一度作り直すことにした。
 従前のソースプログラムを見直し、とりあえず出来たもの動かしてみて解析ログや結果ログを見ておかしい計算結果を潰して、やり直しをすること約8時間・・・。
 なんとかシミュレータが完成した。


 今回の改良結果は次のとおりである。

 ランダム種についてはメルセンヌ・ツイスタを使うようにした。
 上級卓に落ちても、シミュレーションが続行できるようにした
 (課金していれば新人でも上級卓で打てるので、これで新人から十段までシミュレーションの実現が可能となった)。
 従前の開始段位は四段以上だったが、新人から十段までどれでも可能になった。
 レートの変動幅について、自分の(従前の)通算試合が400試合以上の場合と新キャラを作った瞬間の2種類指定できるようにした。
 シミュレーションにおける上級卓・特上卓・鳳凰卓における順位分布を特定できるようにした
(従前は鳳凰卓の平均順位を指定すれば、それにあうように特上卓や上級卓の平均順位・順位分布をあわせて計算していた、もっとも、従前の設定も可能である)
 その他、その段位に到達した試合数なども記録できるようにした。


 さて、シミュレータを作り直したので、「鳳南七段は1億試合打てば天鳳位に就任できるか」というのをシミュレーションをやり直してみた。
 なお、従前は開始時RATE2130、開始時段位七段(1400pt)としていたが、今回は開始時のRATEは1500、開始時の段位は新人とした。
 つまり、スタートの瞬間を「新キャラを作った瞬間」、とした。


 シミュレーション結果は次のとおり(過去ログ掲載)

,ループ,10000,試合数,100000000,初期段位,1,初期ポイント,0,初期rate,1500,他家Rate,106.344,他家Rate偏差,640.6
,最終段位平均,10.9985,最終段位偏差,0.07,最大段位平均,10.9996,最大段位偏差,0.01,最小段位平均,-9,最小段位偏差,0
,鳳凰安定段位平均,7.00147,鳳凰安定段位偏差,0.02539,特上安定段位平均,8.21727,特上安定段位偏差,0.05658,上級安定段位平均,11.8817,上級安定段位偏差,4.19577
,最終Rate平均,2346.96,最終Rate偏差,54.43,最大Rate平均,2374.45,最大Rate偏差,51.23,最小Rate平均,1488.52,最小Rate偏差,31.9
,安定Rate平均,2648.67,安定Rate偏差,528.47,鳳凰安定Rate平均,4661.71,鳳凰安定Rate偏差,809.01,特上安定Rate平均,3918.59,特上安定Rate偏差,1487.91,上卓安定Rate平均,2147.96,上卓安定Rate偏差,103.93
,最終距離平均,2.7075,最終距離偏差,135.7,最大距離平均,0.026,最大距離偏差,1.58,最小距離平均,11660,最小距離偏差,0
,鳳凰卓陥落率,100,R2000以下陥落率,92.83,六段陥落率,100
,特上卓陥落率,1.65,R1800以下陥落率,0.3,三段陥落率,1.42
,上級卓経験率,100,特上卓経験率,100,鳳凰卓経験率,100
,段位不変率,0,初段経験率100,二段経験率,100,三段経験率,100
,四段経験率,100,五段経験率100,六段経験率,100
,七段経験率,100,八段昇段率,100,九段昇段率,100十段昇段率,100,鳳凰位昇段率,99.96,鳳凰位昇段時平均試合数,1.32584e+07,


 このシミュレータは1億試合打つことを想定しておらず(せいぜい1万~10万試合程度)そのため、過去ログを見ると数値がオーバーフローを起こしているところがある(他家RATEや安定RATE関係の数値)。
 しかし、それ以外は大丈夫のようである。

 シミュレーション結果を見てみよう。
 上級卓に落ちたとしてもシミュレーションを打ち切らないとした場合、鳳凰卓の東南戦で平均順位2.5をマークできるものが新キャラを作って天鳳を1億試合打った場合、天鳳位の昇段率は99.96%となった。
 前回は97.5%程度であったがこれは上級卓に陥落してシミュレーション打ち切りみたいな条件が入っていたからである。
 前回に比べてさらに天鳳位への就任率が高まったといっていいだろう。

 さらに、そのときの平均試合数は約1325万試合となった。
 この辺りの数値は前回と同じである。

 あと、これは結果ログではなく解析ログ(1個1個のシミュレーションにおける結果を表示したログ)を見た結果ではあるが、新人から七段にかけあがるために必要な試合数の平均は約470試合となった。
 鳳凰卓で安定段位7.0あれば、新キャラを鳳凰卓にもっていくために必要な時間は約250時間(500試合)と言えそうである(1試合30分とする)。


 では、今回はこの辺で。
 このシミュレータを使って、「わざ降段の合理性」について調べてみたい。
スポンサーサイト

コメント

コメントの投稿

非公開コメント

プロフィール

Meanin Gless

Author:Meanin Gless
 初めてこのサイトを訪れた方へ(出来る限り御読みください)

1 このブログで記載する内容と程度 

 このサイトは麻雀に関する調査結果・研究結果を調査過程・研究過程を含めて厳格に記述するサイトです。
 原則として、このブログの文章に「(数学・プログラムについて相応の知識・技術を持った人が)ここに書かれた文章の内容を再現し、文章の内容が正しいことを確認するために必要なこと」は総て記載していく予定です。
 もちろん、牌譜分析をした結果をそのまま表示する場合、重複する場合、後で細かく書く場合、他に書かれていて書く必要がない場合、情報の速報性を重視する必要のある場合は別ですが、それはあくまで例外です。

 このブログの文章の第一のターゲットは、後世の麻雀研究者になっております。
 次が、巷に流れる麻雀戦術が正しいのかを知りたい人、理由付きで麻雀戦術を知りたい人になります。
 申し訳ありませんが、麻雀戦術が使えるようになりたい、麻雀戦術を分かりやすく知りたいと思われる方は、このサイトの99%は役に立たないと思います。
 麻雀戦術について詳細に記したサイト、分かりやすく記したサイトは、たくさんありますので、そちらを読まれた方がよいかと思います。


2 分かりやすさへの配慮について

 なお、理想論としては、私は、このブログの文章の内容を分かりやすく説明するところまでもっていきたいとは思っております。
 しかし、それだけの余力は現在ありません。
 そのため、「この記事を理解すれば役に立ちそうだから、このブログの解説記事を作ってほしい」と思われた方は、コメント欄にてリクエストをしてください。
 リクエストされた時の私の状況にもよりますが、出来る限り対応したいと思います。


3 当サイトの目標

 当サイトは「科学する麻雀」の理論を発展させることを目的としております。
 もちろん、発展の中には、「細かい修正」も入りますが、できれば、天鳳の赤アリ麻雀の牌譜を分析し、必要であれば、抜本的な理論の改変も目標にしたいと思います。
 また、「科学する麻雀」には秋刀魚に関する記述が乏しいため、秋刀魚に関する分析もしたいと思っております。
 その辺の研究が一通り終わりましたら、数理的裏付けの取れたある程度分かりやすい麻雀戦術記事を書きたいと思っておりますが、、、それは1年以上あとの話になるでしょうね。

4 引用について

 基本的に、ネット上のブログに引用する際には、

 ① 私がシミュレーション又は牌譜解析したこと
 ② このサイトのデータである旨

を書いた上で引用する限り、自由に引用していただいて構いません
(ただし、あたかも私が行った牌譜解析・シミュレーションを自分がやったかのように記載して転載するのはやめてください)。

 しかし、

 ① 営利目的使用
 ② 紙媒体に使用する場合

 は、コメントにて、私にご一報ください。
「① 私がシミュレーション又は牌譜解析したことの記載、②このサイトのデータである旨の記載」さえあれば、拒否することは致しませんが、私に再試の機会を与えていただきたいと思っているためです。

 引用について、このようなことを書くのもはばかられますが、某所でちょっとありましたので、このようなことを認めさせて頂きました。
 ご理解いただければ幸いです。


 では、よろしくお願いします。

カテゴリ

アクセス数