高校時代の数学・・・追試の回数≒テストの回数だったケロ太っす・・・
まぁ、今回の話はまんま蛇足なので、偏頭痛持ちの方は、ここまででいいかと・・・;;;
前回、100面サイコロの話をしましたが、実はコンピューターってヤツはサイコロふれません。
計算機である以上、偶然があっては困るからです・・・いや、構造上無理って話です・・・
また、ゲームなんかでサイコロにあたる数字を乱数といいますが、これの定義は・・・
「規則性をもたず、再現性のある数字の列」なわけです。
つまり、循環する数列です。
このあたりから、今後のシャシャさんとの和解策を考えてみようかと・・・
まず、周期を持った偏りが見られます。
なんども何山も連続で魔花調合した人は気がついたと思いますが、うまくいくときは一山(≒20回)ほとんどノーミスです。
逆に、調子の悪い時は、半分くらい失敗します・・・
つまり、悪い波にのっかっちゃったら、続けるだけ無駄ってことですねぇ;;;;
しかし、この偏りの周期は結構短かったりします・・・1000回くらい連続調合すれば、恐らく見つかります。
・・・って、約50山かよ・・・;;;
もう一つは「数列」であること・・・間違いなく、繰り返す同じパターンが存在します。
ただ、周期は結構長いので、表にするのは無謀です;;;
でも、それならば毎回同じ順番で成功と失敗が来るのでは?と考えがちですが・・・
実は乱数に「種」と呼ばれる、最初の数字を与えてやることで、数列のどこから始めるかを指示し、受け取る側をけむに巻くってのが常套手段です。
んでもって・・・一般的に多く用いられる「種」の生成方法は・・・時間・・・
これもイロイロ考えられるよねぇ・・・
ログインした時間、シャシャに話しかけた時間、調合を始めた時間・・・
その時間ってのも、日付、時間、分、秒などだったり、サーバーの連続稼働時間だったり、さまざまです。
・・・実は、ミルって単純だから、分、秒くらいじゃないかなぁと睨んでる・・・
ってことで、オレの今後のテーマはこの辺です・・・しょうもないこと書いて申し訳ない;;;
以下、もっとどうでも良い話
コンピューターで計算をするためには、数式が必ず必要で、頭の良い人たちが日夜性能の良い乱数発生アルゴリズムを考えています。
乱数の性能・・・まぁ、もっとも重要なのは分布がなるべく一様であることでしょうねぇ・・・
んで、件のシャシャは・・・正直あんまりよろしくない(笑)
恐らく、計算コストの低い「線形代数法」を利用しているからで、こいつは大抵のプログラミング言語に標準実装されているものです。
分布もあんまり宜しくない上、周期も短い・・・でも、計算負荷がものすごく低いです。
詳しく知りたいって方は、ウィキペディアで調べて頭をウニウニにしてみましょう~~(>ω<b
・・・ちなみに、もっとも性能の良い乱数発生アルゴリズムと言われているのは「メルツェンヌ・ツイスター」ってやつです・・・
みんなで、ウニウニ(>ω<b
P.S.最後まで読む人いるのかね?;;;