擬似乱数単語

ギジランスウ

擬似乱数とは、「乱数列(乱数)のように見えるが、実際には確定的な計算によってめている数列に含まれる数」(Wikipediaより)。狭義(あるいはニコニコ的な意味)では、コンピュータで生成する乱数のようなもののこと。

概要

コンピュータによるシミュレーションや、ゲームを作る際にランダムな数が欲しくなる時がある。そんな時に使うのが擬似乱数である。けど、場合によっては乱数はほしいけど後で同じ結果を再現したいとかいう場合がある。よって、とりあえず擬似乱数にほしい性質は以下の2つ。

  1. できるだけランダムであること。
  2. 内部の初期値(これをseed/種という)が分かればあとで同じ乱数の列を作ることができる。

ちなみに、このseed値の設定にはいろいろな手法があるが、一番よく使われているのは現在の時刻から決める手法であろう。

擬似乱数生成アルゴリズム

擬似乱数を作る方法のこと。Wikipediaの記述は詳しいが少々冗長であるため、特徴を述べるにとどめておく。

  1. 方採中法(middle-square method)
    かのフォン・ノイマン博士が提唱した最初の乱数生成アルゴリズムで、2乗(方)した値のん中を乱数値として取ることからこの名がついた。もうカビが生えたような歴史の教科書レベルアルゴリズムである。
  2. 線形合同法(linear congruential generators)
    C言語rand関数(stdlib.h)にも採用されている、記憶容量に最も優れるアルゴリズムで、これまで長く使われてきた。周期が短いとか、設定を誤ると偶数ばっかりだったり奇数ばっかりだったり偶数奇数が交互に出るとかいう欠点がある。性も向上してきた今、他のアルゴリズムを使うべきだと思う。
    カルドセプトサーガ?お前は何を言っているんだ
  3. メルセンヌ・ツイスタ(Mersenne Twister)
    松本教授(当時は広島大学在籍、現在東京大学)らが20世紀末に発表したアルゴリズム219937-1のすごく長い周期を持つ(余談だが219937-1≒4.315*106001で、いわゆるメルセンヌ素数の一つ)。また較的高速で、線形合同法のように偶数奇数が規則正しく出ることはない。
  4. Xorshift
    名前の通り、排他的論理和(XOR:演算対の2つのビットが同じなら0、違うなら1)とビットシフト演算(ビットを左や右にずらす演算)しか使わない擬似乱数生成アルゴリズム2128-1の周期で、かなり速い。ちょっとしたゲームに使うくらいならこれで十分だろう。

ニコニコ動画と擬似乱数

なんといっても乱数調整なしにこのセクションはれまい。というか乱数調整の記事のほうがこの手の話に詳しいのでそちらを参照されたい。ファイアーエムブレムシリーズにおける"ファルコン法"やポケモンの乱数調整が特に有名である。特に、TASる上で擬似乱数の乱数調整は欠かせないものとなっている。

しかしながら乱数調整制作者の意図した仕様の範疇外だったり、ゲーム性を破壊することから否定的な意見も少なくない。

関連商品

関連項目

【スポンサーリンク】

スマホ版URL:
https://dic.nicovideo.jp/t/a/%E6%93%AC%E4%BC%BC%E4%B9%B1%E6%95%B0

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

擬似乱数

1 ななしのよっしん
2012/02/09(木) 23:26:16 ID: GQFppvC436
メルセンヌツイスタはよく使う乱数
一つのライブラリみたいになってるからとても使いやすい
いっそのこと標準ライブラリにすればいいと思う
2 ななしのよっしん
2012/03/06(火) 03:17:20 ID: S+5EuVvKTL
ピコカキコ@7が擬似乱数FC長周期ノイズ)なのでそれ使って遊んでみた。
前半(0〜10sec)が拡散なし、後半(11〜21sec)が拡散あり。

タイトル:直接スペクトラム拡散

twitterで紹介する

3 ななしのよっしん
2013/07/17(水) 07:47:15 ID: P0ueBmtpnQ
なんだモールス信号
4 ななしのよっしん
2015/09/12(土) 23:15:39 ID: Hgptcw0gNP
「四則演算で乱数を作り出そうという者は、言うまでもなくに背いているのである」フォン・ノイマン
5 ななしのよっしん
2018/01/30(火) 20:16:06 ID: hzXNcT8uOD
いわゆる電源パターンというわけか。
ドルアーガの塔のフロア配置も、一枚ずつあるなしのデータでやると膨大になるところを、1フロアごとの生成疑似乱数シードにすることで乱数60パターンで抑えたという。

急上昇ワード

2019/08/22(木)06時更新