プログラミング、ガジェット、趣味ネタを配信するブログ

雑記

乱数のメルセンヌ・ツイスタについて

投稿日:

乱数について勉強する機会がありそこでメルセンヌ・ツイスタを知りました。
こちらは覚えておいて損はないと思いましたので、忘却録としてまとめていこうと思います。

メルセンヌ・ツイスタとは

こちらを使用するメリットとしてはランダムの周期が長いということになります。

ランダムの周期が短いと、同じパターンが繰り返されることになる為、似たような値が繰り返し算出されてしまいますが
メルセンヌ・ツイスタをしようすることでそちらが解消できます。

C++サンプル

実際にメルセンヌ・ツイスタを使用したサンプルになります。

// メルセンヌ・ツイスタを使用するために必要なヘッダ

#include <random>

// メルセンヌ・ツイスタのテスト

// 0から99までの値をランダムで生成

void MersenneTwisterTest()

{
     // メルセンヌ・ツイスタ乱数のインスタンスを生成します。
     std::mt19937 mt;

    // 乱数のシード値を設定します。(最終的にはTick時間を設定するのがいいかと思います)
     mt.seed(100);

    // 範囲指定用の乱数生成関数を作成します。
     std::uniform_int_distribution<> rand100(0, 99);

    // 乱数の表示
     for (int i = 0; i < 20; ++i) {
         std::cout << rand100(mt) << "\n";
     }

}

-雑記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

【Jenkins】VisualStudioのビルドジョブの作成

シェルの設定 シェルの実行ファイルを設定します。 「コントロールパネル > プログラム > Windowsの機能の有効化または無効化」を選択します。 「Linux用Windowsサブシステ …

no image

長生き食材について

秋の長生き食品のテレビを見たのでメモメモ。 どうせ食べるなら、長生きする食材をとっていこうと思ったので参考に ランキング 1.   ヨーグルト(果物と一緒に食べると骨が強くなる。ヨーグルトにほとんど入 …

格安SIMで「Zenfone Go」を使ってみた感想

最近、格安SIM「mineo」に乗り換え、「Zenfone Go」を買いました。 使って少し時間が経ったのでレビューしようと思います。 ちなみに下記が「Zenfone Go」です。   ○  …

オーディオコーデック「MP3」のライセンスが切れて自由に使用可能に!

CDよりも高圧縮なオーディオコーデックとして、PCや音楽プレイヤーなどで利用され、デジタル音声フォーマットとして広く普及している「MP3」を開発した独Fraunhoferは、下記の2点を終了したようで …

no image

瞑想セミナーを受講した感想

最近、瞑想って集中力アップやストレス緩和などに効果があるとのことで、 気になり瞑想セミナーを受講してみました。 大体何をしたのかと感想をメモ書き程度に書いていこうと思います。 瞑想セミナーの流れ 瞑想 …

スポンサー 人気記事 最近の投稿