アリーナやMOでの無作為化に関してのお話
2019年6月11日 Magic: The GatheringDNを引用しての記事なので今回ばかりはこちらで。
向こう側のブログにはリンク残しておきます。
元ネタというかきっかけはクローイさんの下記記事
https://kagetun.diarynote.jp/201906110433535274/
アリーナやMOに限らず土地事故とかをプログラムの乱数生成のバグのせいだというお話を僕もよく耳にします(MtGに限った話ではなく各所で聞きます)。
※そういうネタかもですが、今回の主旨ではないので無視します
さて、プログラム上の無作為化について、あまり詳しくはないですがお話してみます。
ゲーム業界の人間でも乱数を日常的に扱う人間でもないので間違ったことを言っている場合はすみません。
まず最初に完全なランダムを作る(乱数を生成する)プログラムは不可能です。
じゃあ、どうやってプログラムは乱数を作ってるの?という話になりますがこちらはいろいろあります。
・線形合同法
・メルセンヌ・ツイスタ
などですね。
これらを使って疑似的な乱数を作り出しています。
各手法によって精度は違いますが、どれくらいランダム性があるかというと厳密には偏りとかはあるけど人間の目じゃほとんどわからないくらいランダムというくらいです。
ちなみに、プログラミングにおいてこれらの手法を使って乱数を作り出す場合は大抵の場合みんな共通の部品(ライブラリと呼んだりします)を使っていて1から乱数を生成するプログラムを作ることはほぼないです。
では、最初の話に戻って「アリーナでこんな事故が続いた!シャッフラーのバグやろ!」という意見に対してですが、ほぼバグじゃないと言えると思います。
もちろんバグが絶対に存在しないプログラムなんて存在しないのでバグという可能性もありますが、まぁ十分な母数の検証or理論的な説明もなくバグだ!という意見よりかはちゃんとテストしているだろうという信頼の方が勝ります。
ちなみに、同じ手法で乱数を生成しているものはごまんとあると考えられているため、少ない母数でわかるくらいのバグがあるなら大問題ですw
なぜ紙のほうが事故らないという感覚になるかについてはクローイさんが説明してくださってるのでそちらをご覧ください。
またはMTG Wikiでも可。
http://mtgwiki.com/wiki/%E5%9C%9F%E5%9C%B0%E4%BA%8B%E6%95%85
結論だけ言うと、同じデッキ構成なのに紙のほうが全然事故らないという方は自分の手で行うシャッフルが足りてないほうを疑うべきという話です。
とまぁグダグダ言いましたが
・プログラミングの乱数生成には各ゲームオリジナルじゃなくて昔から色々な手法があってそれを使ってるんだよ(今も研究者の方が新しい手法を開発してると思うけど)
・乱数の生成なんて少ない母数の検証でバグがあるなんてわからないよ
・紙と違うというなら紙のシャッフルが甘いことを考えよう
ということです。
以上です。
向こう側のブログにはリンク残しておきます。
元ネタというかきっかけはクローイさんの下記記事
https://kagetun.diarynote.jp/201906110433535274/
アリーナやMOに限らず土地事故とかをプログラムの乱数生成のバグのせいだというお話を僕もよく耳にします(MtGに限った話ではなく各所で聞きます)。
※そういうネタかもですが、今回の主旨ではないので無視します
さて、プログラム上の無作為化について、あまり詳しくはないですがお話してみます。
ゲーム業界の人間でも乱数を日常的に扱う人間でもないので間違ったことを言っている場合はすみません。
まず最初に完全なランダムを作る(乱数を生成する)プログラムは不可能です。
じゃあ、どうやってプログラムは乱数を作ってるの?という話になりますがこちらはいろいろあります。
・線形合同法
・メルセンヌ・ツイスタ
などですね。
これらを使って疑似的な乱数を作り出しています。
各手法によって精度は違いますが、どれくらいランダム性があるかというと厳密には偏りとかはあるけど人間の目じゃほとんどわからないくらいランダムというくらいです。
ちなみに、プログラミングにおいてこれらの手法を使って乱数を作り出す場合は大抵の場合みんな共通の部品(ライブラリと呼んだりします)を使っていて1から乱数を生成するプログラムを作ることはほぼないです。
では、最初の話に戻って「アリーナでこんな事故が続いた!シャッフラーのバグやろ!」という意見に対してですが、ほぼバグじゃないと言えると思います。
もちろんバグが絶対に存在しないプログラムなんて存在しないのでバグという可能性もありますが、まぁ十分な母数の検証or理論的な説明もなくバグだ!という意見よりかはちゃんとテストしているだろうという信頼の方が勝ります。
ちなみに、同じ手法で乱数を生成しているものはごまんとあると考えられているため、少ない母数でわかるくらいのバグがあるなら大問題ですw
なぜ紙のほうが事故らないという感覚になるかについてはクローイさんが説明してくださってるのでそちらをご覧ください。
またはMTG Wikiでも可。
http://mtgwiki.com/wiki/%E5%9C%9F%E5%9C%B0%E4%BA%8B%E6%95%85
結論だけ言うと、同じデッキ構成なのに紙のほうが全然事故らないという方は自分の手で行うシャッフルが足りてないほうを疑うべきという話です。
とまぁグダグダ言いましたが
・プログラミングの乱数生成には各ゲームオリジナルじゃなくて昔から色々な手法があってそれを使ってるんだよ(今も研究者の方が新しい手法を開発してると思うけど)
・乱数の生成なんて少ない母数の検証でバグがあるなんてわからないよ
・紙と違うというなら紙のシャッフルが甘いことを考えよう
ということです。
以上です。
コメント