ガチャの確率の偏りと擬似乱数

先日、TL上に流れてきた以下の記事を読みました。

フレポガチャを使って星5サーヴァント排出率2%を超える調整法

個人的にはありえない話だと言いたいのですが、ガチャのプログラムに問題があれば、当該記事のやり方で確率が上がるかもしれません。可能性は非常に低いと思いますが。

擬似乱数について

当該記事で展開されている理論の核としては、☆5鯖相当の確率(1%)を暫く引けていないとき、確率の偏りが発生しているので☆5鯖を引きやすい状態である、ということですが、これはいわゆるギャンブラーの誤謬というやつです。

カイジに学ぶ – ギャンブラーの誤謬

コイン投げやサイコロは独立事象であり、前回の結果によって次の確率が変わるということはありません。問題は、ガチャの結果が独立事象であるかということです。

コンピュータ上で、ランダムな事象を判定する場合には、擬似乱数を用います。擬似乱数というのは、文字が表す通り擬似的な乱数であり二つの重要な指標があります。「一様性」「独立性」です。一様性というのは、全ての乱数が均等に出現することで、独立性は直前に出た値とその後に出る値は関係がないというものです。ガチャの結果が独立事象になるためには、生成される擬似乱数の「独立性」が確保されていることが条件になります。

擬似乱数の生成をやらかしてしまうと、これらの性質が確保できません。実際に、やらかしてしまったゲームもあります。

カルドセプトサーガの乱数問題

擬似乱数の生成手法はいくつかありますが、有名なものは線形合同法メルセンヌツイスタでしょう。近年専ら使われるのはメルセンヌツイスタで、本手法で作られた擬似乱数は、「一様性」「独立性」を十分にクリアする、質の高い乱数になります。

一番最初にガチャプログラムに問題がある可能性が低いと述べたのは、多くのプログラミング言語でメルセンヌツイスタによる乱数生成が標準ライブラリとして実装されているからです。

ちなみに、擬似乱数を生成する時、乱数生成に必要なデータをシードとして与えます。このシード値が同じであれば、生成される乱数は同じになります。シード値は現在時間で初期化されることが多く、ゲームの乱数調整で起動後○秒とかが出てくるのは、シード値を合わせて、擬似乱数のパターンを再現しようという手法になります。

運営サイドの問題

現状、各社が提供しているガチャは、確率は載せていても本当にその確率で出現するかは保障されていません。ユーザーによってガチャ確率を変えているのでは?という話もたまに聞きますし、ここらへんはオープンにすべきじゃないですかね。

一番良いのは、ガチャプログラムをシード生成の部分を伏せた上で公開することだと思います。シード値がわからなければどのような順序で乱数が出てくるかわかりませんので、直前のガチャ結果からその後の結果を予測することは不可能です。

ネット麻雀サービスで著名な天鳳は、配牌プログラムを以下のように公開しています。

天鳳 – 牌山生成の公開方法

どうやってガチャの判定をしているかわからない以上、ガチャ結果が独立事象ではないと言われても否定はできません。つまり、オカルト的なガチャ調整法も効果があるかもしれません。

ただ、仮に自分がガチャプログラムを実装するならば、ガチャのリクエストが来るたびに、メルセンヌツイスタで生成された擬似乱数に応じて結果を決めるプログラムを作ります。膨大なお金が動くであろうガチャが、前回のガチャ結果から次のガチャ結果が予測できるような杜撰な実装であってほしくはないです。

参考

Algorithm with Python – 番外編:擬似乱数の検定

Wikipedia – 乱数列

Wikipedia – メルセンヌ・ツイスタ

あなたの使っている乱数、大丈夫?-危ない標準乱数と、メルセンヌ・ツイスター開発秘話-

グラブル最適編成計算機 今後について

しばらくグラブル自体、あまりモチベーションが無くて充電期間だったのですが、ちょっとモチベーションが戻ってきたのでぼちぼち復活してます。
計算機の更新については、未だに保留状態です。有志の方に更新していただいていますので、そちらをご利用いただければと思います。


計算機の更新については、いろいろ思うことがあるのですが、現状のグラブルの環境を考えると、最近の追加武器や、背水技巧二手三手スキル、キャラLBの存在、ソーン麻痺などなど、利用環境に応じて編成を変えるケースが増えていると思います。

それに伴って、’最適な’編成ってなんだろう?っていうのが大きくなっています。何処で使うのか、誰を想定敵にするのか、自分のバフ回しはどうなのか、奥義は打つのかなどなど…… 編成の最適化は行動の最適化とセットです。DPSに着眼するならアビリティの演出時間やリロード時間も考えなきゃいけないですし、さらに変数が増えてしまいます。

正直、いろいろ積まれすぎてお手上げ状態になってます。各属性、概ね理想的な編成はここらへんだろうというのは調べれば出てきますし、現在の状況で計算機を使う『手間』に対してのリターンは提供できないかなぁと。

あと、やっぱり自分の武器編成が固定化されてしまっているというのが大きいです。基本的に、今までは自分で使うことをモチベーションに作ってきたので、自分が使わないものを更新するというのはやる気が起きないのです。大変申し訳ないのですが。

また、Googleの仕様変更により、計算機の利用がかなり面倒になったというのも大きいです。こちらは、時間を置けば解消される問題かと思いますが、日本国内でのGoogle Apps Scriptのサポート状況は一概にもいいとは言えないので、時間はそれなりにかかるかもしれません。

GAS で「一部のスコープへのアクセス権限がありません」と怒られたときの対処法

計算機の更新は当面やりませんが、グラブルで面白いことがあれば検証系の記事は出すかもしれません。

それでは!

第30回 古戦場 振り返り

古戦場お疲れ様でした。

戦績

23回の古戦場(2016/08)からお世話になっていて、今まで全勝で来れていたのですが、とうとう土をつけられました。4勝1敗です。僕が入団してからは38連勝、団としての連勝記録も48でストップです。

いやー、しかし今回は相手平均Rank高めのマッチングが続いてきびしかった! 特に4日目の満漢全席との戦いは厳しかったです。

朝の時速は勝ててたのですが、こちらのアクティブが落ちてペースダウンしていく中、相手は貢献度時速が殆ど変わらなかったので高いアクティブ数を継続していたものと思われます。こんな相手初めてだよぉ……

こちらも動ける人は一致団結して粘っていたのですが、結局お昼を待たずして陥落。自分も、仕事中にサボって暇を見つけては殴ってといった形で可能な限りでのベストは尽くしたので、個人的には悔いはない敗戦でした。

結果として、満漢全席に16億まで積ませることになったので、カモメ団さんにいい感じにトスできたのではないかなと思います。覇空戦争とか日中戦争とかワールドカップとかみたいなお祭り騒ぎの流れになっていたので、当事者として関われたのはたのしかったです!

個人のほうは激戦に呑まれた影響もあり、余裕を持って20000位内ゴールでした。箱も20個空けることができたので、これで二王弓が前回とあわせて31本になりました。ソーン開放に向けた弓40本コースが次回の古戦場で終わりそうです。

武器編成

結局、基本はハデスハデスでやってました。ハデス持ってるフレンドがそれなりに確保できたので割りと安定して拾えたのが大きいです。今回の敵は背水調整がしやすい部類でしたので、背水の効果がハデスバハよりも強い点と、ケル銃が2枠に圧縮されることで武器編成に余裕ができる点の2点が両面ハデスの採用理由です。

フローレンは結局挿してます。基本的にはPT全体が減衰付近ダメージを叩いていたので、フローレンによる貢献度上昇>与ダメージ減少による貢献度低下と判断しました。ちゃんと計算はしてないですけど。

貢献度稼ぎ

90HELL

以前記事にも書いたので詳細はこちらで。

闇有利古戦場 90HELL ウォーロック編成

概ね1時間で 35体前後ペースだったので、時速は1000万前後ぐらいでした。結局編成は、以下のような形に。ナルメアのドラアサで75%トリガをスキップして、50%灼熱をマウント、25%トリガはオールポーションでで耐えるといった形で落ち着きました。

95HELL

75%トリガがDA/TAダウンになったため、クリアでは回復しきれないという状況になってしまい、マウントで防ぐのが最善かなって感じになりました。そのため、ヴィーラは必須で残り1枠をどうするか考えてPTを試行錯誤してましたね。

救援7:自発3ぐらいの割合でこなして時速1200万ぐらいでした。自発はカオスルーダーのアンプレグラビブラインドにヴィーラ+闇ゼタで防御下限を目指す感じでした。

闇カオスルーダーは武器で三手が積めるため、四天刃で無理に加速する必要が他属性に比べると薄いので、麒麟剣メイン編成やってる人もいました。麒麟剣の奥義があれば闇属性耐性DOWNが付与できるのでアンプレ+ヴィーラ1アビと併せて防御下限が目指せますし、被ダメージ抑えられる点もポイントですね。

救援はレスラーでヴィーラ+ナルメアとしてひたすらリロ殴りするのが結局一番早かったですね。割とすぐ溶けるので、叩いて蘇生薬飲んで叩いてでもいいかもしれません。

100HELL

基本的には95HELLと立ち回りはあんまり変わらないです。チャージターンが1伸びたけど、HPが倍以上になってるので75%がだいぶ遠くなりました。95HELLよりも討伐にかかるターン数が伸びたのもポイントです。

救援8:自発2ぐらいの割合で時速1700万ぐらいでした。100HELLの自発はヴィーラ+闇ゼタから、ジャンヌ+黒騎士に変更しました。100HELLでは75%を踏む前に特殊技を打たれかねないので、それを抑制したかったという理由です。ソロやってる人は水着ダヌアとか使ってるみたいですね。

救援PTはアプサラス採用しました。使ってみた感想ですが、火力・支援能力・安定性を高いレベルでバランスよく確保できる優良ジョブって感じでした。メイン武器がグラシになったので、セレ爪挿して火力増強するかディア弓挿してHP増やすかできます。新カリオストロはここでの採用です。1アビによる特殊技軽減+火力補助と、2アビによるダメージ底上げと継戦能力の向上は長期戦では頼りになりました。

アプサラスの強みですが、以前のブログでも書きましたが概ね以下の点です。特にブレキとデュアルによる味方支援はアプサラスだからこそできることですね。デュアルは自分だけでなく参戦者にも効果があるので、団としての貢献度時速への寄与もあると思ってます。

・槍装備時は連続攻撃確率がアップ
・水鳥の歌詠がクリティカル率アップと強力なバフ
・グラーシーザーの奥義効果が暗闇(ブラインドと相互上書き)
・雷光水明がブレイク時間延長
・デュアルインパルスによる味方支援が可能

おまけ

最後、余ったチャンク使って、90HELL回してました。なんとか1分切り討伐ができて嬉しかったので載せときます。フローレン無し+蘇生薬使用なんで、ちょっとインチキ感ありますけど。

次回に向けて

フローレンベルクが古戦場で効果がないように修正されることが判明しましたね。次回からは、フローレン抜きでの計算になりますので従来の編成がそのまま流用できるので楽ですね。ただ、武器が1本サボれなくなったので、属性によっては厳しくなりました。

まー、シュヴァ剣集めなきゃって感じです。3本は積みたい。

闇有利古戦場 90HELL ウォーロック編成

まだ、そこまで試行錯誤はしていないのですが、ウォーロック編成でいい感じに回せそうなものができました。周回の安定性がそこそこあって、討伐速度も十分でている感じです。まだ改良の余地はありそうですが、とりあえずこんな感じでGOです。

実運用

早速、実運用環境からどうぞ。動画はリロード無しですが、リロードすれば多分1分30秒ぐらいで回れるとは思ってます。

編成方針

討伐速度を上げるためには、やはりナルメアにチェイサードラアサを決めてもらうのが一番です。1T目にアビリティ使用から、2T目に最短でドラアサTAを決めれば、75%トリガはスキップできるみたいです。(60%ぐらいまで飛ばせばスキップできるか?)

75%トリガにはTA率ダウンという速度に影響を及ぼす効果が付いているため、これをスキップできるのならこれほど素晴らしいことはないです。

問題はその後の立ち回りになります。50%での全体ダメ+灼熱付与は背水でそのまま殴っていると壊滅しますので、クリアや回復手段は欲しいです。また、25%の全体ダメも相当痛いので、こちらも対策必須です。(蘇生薬飲む前提でないなら)

というわけで、カリオストロを採用しました。90HELLからいきなりの登壇です。50%特殊行動は2アビのリジェネと3アビの回復ブーストで緩和します。3アビの回復ブーストは、コンジャクションのHP吸収にも効果があるのが嬉しいです。25%の大ダメージは、オルポでカバーすればよいでしょう。一応カリオストロの1アビ使って、防御バフを乗せればいい感じに耐えてくれます。

デバフについて

ジータちゃんに他心/チェイサー/ブラックヘイズ。ここは恐らく揺るがないでしょう。このアビリティ構成を変えるのであれば、恐らく別ジョブを使ったほうがよいです。ブラックヘイズで、防御25%downは確保できてますが、残りの25%をどこまで埋めるかを考えていきます。

防御下限を狙うのならば、やはり筆頭にあがるのは闇ジャンヌです。命中率が高い片面防御30%は非常に使い勝手がよく、ヘイズと併せて下限は確定です。

ですが、90HELLは防御デバフ下限にそこまで拘らなくてもゴリ押しできるのではという結論に至りました。防御デバフは、ナルメア神楽2アビでなんとかしましょう。以下のグラフは、自分が使っている編成での、防御デバフ毎のナルメアのDMG推移グラフです。

  • 計算対象
    • ナルメア
  • 編成
    • 両面ハデス:四天刃/銃2/グラシ4/セレ爪2/麒麟弓
  • バフ
    • 属性炉(別枠10%)
    • スタックボーナス(別枠30%)
    • カリオストロ2アビ(属性25%)
  • デバフ
    • 25% ヘイズのみ
    • 39% ヘイズ+ナルメア神楽2アビ(◆1)
    • 46% ヘイズ+ナルメア神楽2アビ(◆2)
    • 50% 防御下限

2T目で50%トリガ踏むケースがあり、トリガ踏むとチャージターン0にもどっちゃうので、2T目の◆1で打っちゃうのが一番安定しそうです。最悪デバフ外しても、防御デバフ25%だけでHP30%でナルメアが上限叩けてるわけですし、そこまで問題ないように感じがします。

そのほか

AT時は速度がガクっと下がる編成です。奥義フルチェインの硬直どうにかしてほしい……。AT時はヴィーラ/闇ゼタにアビリティで奥義ゲージ消費させて、2チェイン – 2チェインで回す構成とかは編成候補に挙がってます。75%トリガはスキップできないでしょうが、マウントがあるため問題ないでしょう。

周回の安定性ですが、まだちゃんと周回できてないのでわからないです。チャンク勿体無いですし、どうせ後で嫌と言うほど走ることになるので。ナルメアのドラアサがDAに落ちて、75%トリガがスキップできなかった場合がちょっと面倒そうですが、ルーチンが崩れた時はオルポ/クリアハーブ/蘇生薬でゴリ押しすればいいと思います。

25%特殊行動対処にまだ課題が残ります。麒麟弓があるためにHPが下がってしまっていて、オルポでも回復が確保しきれないという問題はあるので、両面ハデス編成ではセレ爪をディア弓にするというのもありかもしれないなーとは思ってます。

闇有利古戦場直前 ジョブ・キャラ雑感

前回は武器編成の話だったので、今回はどんなジョブ使うかって話と、編成候補のキャラを軽く考えていきます。相も変わらず、自分の編成話なので、考慮してないキャラとかもいたりします。(闇は主要どころは大体持っていますが……)

グラブルはこんな感じに編成考えて、脳内シミュレートしてる時間が一番楽しい気がする!

続きを読む →

闇有利古戦場直前 ハデス編成の検討

闇有利の古戦場が近づいてきたので、ちょっと編成を考える上での思考整理をしようかなと。

闇有利古戦場における編成を整理しながら、新カリオストロをサプチケでとるべきかなーとかってところも考えてみます。いつものように、自分の環境下での編成話なので、その点はご了承ください。水編成以上に、再現性が低い記事になっていると思います。

(5/16:属性炉の計算を属性バフ枠から別枠へ変更し、再計算と記事内容を一部変更)

続きを読む →

二手三手/技巧の統計的な検証手法の話

最近、技巧の検証に手を出しているんですがこの検証ってすごく難しいですね。僕もたまにDA/TAの検証情報載せてたのですが、2000とか3000のサンプル数じゃぜんぜん足りなかったんじゃないかと思っています。ここらへんの記事ですね。

ハレゼナ 累積バフによるDA/TAの調査

それに対して、すごく良い検証をされてる方の参考記事を貼っておきます。最低でもこれぐらい試行数はやらないとって感じですね。この記事で8000サンプルぐらいでも±1.5%ブレる可能性あるって見ちゃうと今までの僕の検証結果はかなり怪しいですね。

ですので、今後自分でDA/TAとか技巧の確率を検証するに当たって、どのような目安でサンプル数を決定して、その結果がどのぐらい信頼できるかといったものを検討しましょうといった感じの記事です。間違っている点などありましたら、ご指摘いただければと思います。

今回はいつにもましてグラブル成分の薄い記事となっております。それでもよければ続きをどうぞ。

続きを読む →

古戦場EX+ 闇背水PT周回編成の備忘録

今日から古戦場始まりますね。リニューアル後は、HELLでの貢献度稼ぎがメインになったうえに、有利属性以外への耐性が付いたことで、必然的に有利属性で走ることになりました。

ですが、HELLを自発するためのトリガー集めのために、EX+を走る必要があります。こちらは有利属性以外への耐性がないため、好きな属性を使って走ることも可能です。僕は毎回闇で走ってます。

今回エリュシオンと麒麟琴が追加されたことでエリュシオン使えば編成ハードル下がったんじゃないかと思いましたので、ちょっと検討してみようかなといった感じです。あんまり参考にはなんないかもですが!!

続きを読む →

キャラLB(攻撃系) 振り方指南

昨日はキャラLBの追加更新でしたね。十天衆のキャラLBが開放されたり、シルヴァさんの奥義LBがバグってたり、背水のLBが不具合だったりといろいろ話題はありました。僕はカトル君のリミットボーナスが凄くいい感じだったので割りと満足しています。(本ブログではカトル君を推しています)

キャラLBですが、振り方によっていろいろな個性が出せますが、LBを貯めるのが少ししんどかったりとか、振れる数に限りがあったりとか、あからさまな強ボーナスがなかったりとかで、振り方に凄く悩んでしまいます。

回復性能とか敵対心系とか弱体成功系は、キャラのロール強化の側面があるのであまり迷わないと思うのですが、攻撃系はいろいろありますよね。攻撃力/クリティカル/属性攻撃/DA/TAなどなど…. といった感じです。全部振りたいけど、ポイントは到底足りないです。

そこで、各攻撃系のリミットボーナスがどんな感じに攻撃力に効いてくるか、そこらへんを纏めたいと思います。

続きを読む →