アナデンから見る擬似乱数の偏り

排出確率操作どうこうについてはここでは取り扱いません 当該ツイートのみ見た結果、勘違いして「擬似乱数自体が悪いんだ」「コンピュータは乱数を作れない」ってなると歴史上の方々に申し訳なさすぎるので ================= 直前の目が1のサイコロを1回振る時、次の目が1である確率も1/6(真の乱数) プログラムがサイコロを振る時、擬似乱数列が「1,1,4,5,1,4,...」の時はその順で出る(擬似乱数) 続きを読む
0
東雲 @yukishinonome

専門的なことを言えば、コンピュータによるランダムって完全なランダムではなく、擬似乱数と言ってランダムっぽく再現してるだけなので条件によっては偏りが出る場合がある。今回の調整はその偏りを防ぐものであり、むしろユーザーが公平に引けるようにするものである。 #アナザーエデン

2018-09-19 16:24:59
東雲 @yukishinonome

したがって、星5を3体に制限する調整はむしろ記載された出現確率に近づけるための調整だと思われる。記載してなかったことがイコール詐欺だというわけではない 。運営はユーザーのことを考えて調整してるかもしれないのにそれを悪意のある調整だと決めつけるのは酷いと思う。 #アナザーエデン

2018-09-19 16:33:41
東雲 @yukishinonome

特定の誰かが星5を引きまくってて、自分は全然星5が出てないとしたら、運だと言われても不公平感が出てしまうもの。だから、その不公平感をなるべくなくすために星5制限をしたというのが運営の説明。 #アナザーエデン

2018-09-19 16:57:42
東雲 @yukishinonome

ただ、運営は説明不足なので、星5制限が出現確率を下げるものだと誤解されているが、出現確率を下げる調整なのかどうか僕のツイートを読んで考えてみてほしい。 #アナザーエデン twitter.com/yukishinonome_…

2018-09-19 17:00:03
東雲 @yukishinonome

そもそもランダム性のリアリティをより追求するなら、レア度別に確率設定しないし。10連なら全種類まとめてランダムに10枚選択する。レア度別に確率が設定されてる時点で調整されているのだ。

2018-09-19 21:28:59
ガッチャン @apps999

@yukishinonome_ 完全に的外れですね。 手を加えたのでは表記確率に収束しませんし ★5の排出を制限することにユーザーの事を考えた要素はありません。

2018-09-19 18:30:42
東雲 @yukishinonome

@apps999 そもそもコンピュータの仕組み上、表記確率は理論値でしかなく、調整してもしなくても完全に表記通りの確率になることはないんですよね。表記されてる確率はあくまで目安にすぎないのです。

2018-09-19 19:16:42
nitro @nitro_t

#アナザーエデン の運営をかばいたいのかもしれないけどこれは計算機科学の理解が足りない。まともな擬似乱数生成アルゴリズムを使えてるのであればガチャ結果程度の確率分布が真の乱数から乖離することはないし、仮に問題が擬似乱数にあると分かったなら結果をいじるのではなく乱数生成を見直すべきpic.twitter.com/5NMesWO62Y

2018-09-19 18:04:33
拡大
nitro @nitro_t

ガチャ結果を局所で見たところで、偏りが擬似乱数生成の不備(悪い)なのか、真の乱数でも起こりうる偏り(良い)なのか判断不能だろう。擬似乱数の不備だと明言できるくらいに理由が分かっているのなら擬似乱数生成の不備を直すべきだし、建前を言えば乱数分布を検定してからガチャに使うべき。

2018-09-19 18:08:26
nitro @nitro_t

擬似乱数生成に問題があると分かっていて、その対応として自然に見える結果が出るまでやり直す、というのは、例えるならコイントスで片面が10回連続で出たら結果を無効にしてやり直す、というようなもの。それが真の乱数では起こらないとなぜいえる?(反語)

2018-09-19 18:10:27
nitro @nitro_t

メルセンヌツイスターに/dev/randomのシードを渡すなどの方法で、真の乱数とみなしていいくらいの乱数列が得られる。不正と認識されるリスクのある「結果の操作」をする必要は全くない。擬似乱数は偏るから補正した運営は悪くない!などという擁護は数学/CS研究者やプログラマに失礼だろう。

2018-09-19 18:16:36
nitro @nitro_t

@yukishinonome_ 多くの言語の擬似乱数生成ライブラリに採用されているMTなど高品質のアルゴリズムなら、生成した擬似乱数列は真の乱数列に限りなく近いと思います。標準ライブラリで生成した擬似乱数がまずい場合のほとんどは、シードの生成に規則性がある(時刻やユーザIDを使ってしまう)場合がほとんどでは。

2018-09-19 21:27:58
nitro @nitro_t

@yukishinonome_ ご指摘の通り擬似乱数は計算で生成しているので、同じシードを与えれば同じ乱数列が生成されてしまいます。これを回避する方法は実務的にはほぼパターン化されていますし、メジャー言語なら普通に使うだけでライブラリがいい感じのシードを与えてくれると思います。アナデンがどうしてるかは謎ですが。

2018-09-19 21:31:50
nitro @nitro_t

@yukishinonome_ ツイート拝見しましたが、ご指摘の「局所で見た場合に確率分布に偏りが発生する問題」は仮に真の乱数を使うことができたとしても発生する問題で、その原因を擬似乱数に帰するのは的外れかと思いました。その上で、ユーザごとの偏りを告知無しで補正することへの評価は人それぞれでしょうね。長文失礼。

2018-09-19 21:37:01
東雲 @yukishinonome

@nitro_t まさしくその通りだと思います。擬似乱数自体は限りなくランダム性を再現できるようにできているはずなので。偏りに関してはかなり抽象的な表現だったので補足します。これはユーザーごとという意味ではなく、一部の結果を見たときにそれが偶然驚異的な結果だった場合に偏って見えてしまうという意味で

2018-09-19 22:09:44
東雲 @yukishinonome

@nitro_t 擬似乱数自体が問題だと言いたかったわけではないということです。運営の調整はその偶然をなくすことで不公平感の要因を1つ消したものだと思ってます。

2018-09-19 22:10:19
nitro @nitro_t

@yukishinonome_ 了解です、ご丁寧にありがとうございます。擬似乱数自体に問題があるので補正が必要、という趣旨がリツイートされているように見え、つい口を挟んでしまいました。伝わったのならよかったです。

2018-09-19 22:15:10
nitro @nitro_t

@yukishinonome_ #アナザーエデン の乱数が仮に真の乱数だとしても、個々のユーザの少ない試行回数では、かなり極端な出方をする可能性がゼロではありませんよね。ここに再試行や補正で介入することで、少ない試行でも表記確率からの乖離を無くそうという行為が是か非か、判断の分かれる面白い問題だと思います。

2018-09-19 22:23:30
nitro @nitro_t

@yukishinonome_ 私も開示、告知すべきだったと思いますし、公表された操作が全てだとすれば前者は問題ないと思っています。後者の星5の3回制限は、議論があると思いますが現時点で善悪の判断をしていません。面白い論点に気づけて有益でした、ありがとうございました。

2018-09-19 22:26:45
東雲 @yukishinonome

@nitro_t 文字数制限やなるべく専門知識がない方向けに表現を崩して書いたことで誤解を招く表現になってしまいすみません。僕にとってもとても勉強になりました。ありがとうございます。

2018-09-19 23:42:41
東雲 @yukishinonome

元のツイートについてですが、これは専門知識がない方にも出来るだけわかりやすく説明したいという思いで、だいぶ崩した説明であり、技術的に精密な説明ではありません。あと擬似乱数が悪いわけではなく、一部の結果に注目すると偏って見えるという風に解釈してください。 #アナザーエデン

2018-09-19 23:55:10
おる @oltweetz

まぁ真には乱数ではないし、申し訳の擬似ってつけてるものをわざわざこうやって解釈すると困ったもんです

2018-09-19 22:49:44