タグ

ブックマーク / andantesoft.hatenablog.com (1)

  • .NET System.Random の実装と欠陥について ~ 重箱の隅をつつきたおす ~ - 屋根裏工房改

    はじめに .NET (C#) には、組み込みの擬似乱数生成器 System.Random が用意されています。 ここでは、 System.Random の実装と性質・ひいては欠陥について、可能な限り深くまで調べて難癖をつけていきます。 結構いろいろあって内容が増えてしまったので、雰囲気をつかみたい方は目次をみてください。 はじめに 内部実装 内部実装の参照 new Random() .NET Framework: 同タイミングでの初期化でシードが重複する問題 .NET Core: シード重複問題の改善 余談: 同じアルゴリズムによる初期化について new Random(int Seed) 絶対値が同じ Seed は同じ乱数列を生成する 初期状態のパターン数が少ない 内部状態 _seedArray の無駄 余談: 初期化時の制約について int Next() 遷移関数の実装ミス (1) -

    .NET System.Random の実装と欠陥について ~ 重箱の隅をつつきたおす ~ - 屋根裏工房改
    dengan
    dengan 2024/06/19
  • 1