タグ

乱数に関するfrkw2004のブックマーク (4)

  • 十分大きな乱数をユニークな識別子として使うのがなぜ安全なのか|Rui Ueyama

    いろいろなソフトウェアで、大きいランダムな値をユニークな値とみなすということが行われている。例えばユニークな識別子としてよく使われるUUIDはただの122ビットの乱数だ。gitもSHA-1ハッシュ値が160ビットの乱数のように扱えることを期待して、それをユニークな識別子として使っていた。実際にはランダムな2つの値が同じになる確率はゼロではないのに、なぜこれが安全なやり方だと言えるのだろうか? それについてちょっと説明してみよう。 あるシステムが、乱数で生成された識別子の衝突のなさに依存しているとして、仮に衝突が発生した場合、相当悪い結果、例えば復旧不可能な形でデータベースが壊れてしまうとしよう。これはどれくらい危険なのだろうか? 数学の問題で、学校のクラスの中で同じ誕生日の人が1組以上いる可能性は思ったより高いという話を聞いたことがあると思う。あるランダムに生成された値が衝突する確率という

    十分大きな乱数をユニークな識別子として使うのがなぜ安全なのか|Rui Ueyama
    frkw2004
    frkw2004 2017/12/02
    スーパーコンピューター「京」が10PFLOPオーダーの計算力だから、1エクサバイトのデータを扱うのに1000秒(=数10分)のオーダーで間に合いそう。計算力はムーアの法則で向上してるから杞憂かどうかは判定できない。
  • totoBIGの件は何が問題なのか、なるべく分かりやすく説明してみる: 不倒城

    目次・記事一覧(1) レトロゲーム(185) 日記(767) 雑文(511) 書籍・漫画関連(55) 子育て・子どもたち観察(115) ゲームブック(12) フォルクローレ・ケーナ・演奏関連(86) FF14(40) レトロでもないゲーム(334) 始めたばっか(13) アナログゲームいろいろ(37) 人狼(48) ネットの話やブログ論(60) 三国志大戦(20) 無謀的世評(52) ゴーストライター(16) 大航海時代ONLINE(38) FF3(6) Civ4(18)

    frkw2004
    frkw2004 2017/02/21
    「シードが一致した」という見解が多いけど、違うと思う。乱数列の桁が足りないのが原因かと。たとえば10桁からなる乱数列から数値を1~2回選ぶならランダムだけど、11回以上選んだらあれ?となる。
  • いつからその方法で偏りのない乱数が得られると錯覚していた? - アスペ日記

    私はつい最近まで勘違いしていました。 ここのページに書いてあるような方法で、一様分布する整数が得られると。 int random(int n) { return (int)(( rand() / (RAND_MAX + 1.0) ) * n); } この方法、一見すると実に一様分布が得られそうに見えるんですよね。 どういう思考回路を通っているかというのを自己分析すると、次のような感じです。 1. rand() では 0〜RAND_MAX のランダムな整数が得られる。 2. それを RAND_MAX + 1 で割ると、[0, 1) に一様分布する実数が得られる。 3. [0, 1) の一様な実数を n 倍して小数点以下を切り捨てたら、0 から n-1 に一様分布する整数が得られる。 これの罠なところは、1 と(特に)3 が正しいというところだと思います。 ただ、2 がダウト。 思いっきりダウ

    いつからその方法で偏りのない乱数が得られると錯覚していた? - アスペ日記
    frkw2004
    frkw2004 2013/08/19
    0~Nまでの整数をランダムに発生させるときは、N+1の約数の場合なら一様な乱数になるのかな。普段のRND関数は0~1までの実数だけど、整数の場合RAND_MAXって指定できないのかしら?
  • random()とrandom()*random()はどっちがランダムか? | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

    frkw2004
    frkw2004 2011/06/03
    この検証は擬似乱数を使っているから、本物の乱数を使えば違う結果になる、と考えてしまう人がいるかも。
  • 1