JP3534064B2 - 乱数発生方法 - Google Patents

乱数発生方法

Info

Publication number
JP3534064B2
JP3534064B2 JP2000343568A JP2000343568A JP3534064B2 JP 3534064 B2 JP3534064 B2 JP 3534064B2 JP 2000343568 A JP2000343568 A JP 2000343568A JP 2000343568 A JP2000343568 A JP 2000343568A JP 3534064 B2 JP3534064 B2 JP 3534064B2
Authority
JP
Japan
Prior art keywords
random number
probability
quadratic curve
value
time interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000343568A
Other languages
English (en)
Other versions
JP2002149398A (ja
Inventor
博康 山本
隆邦 清水
ビターナゲ アナンダ
美佐子 鯉渕
Original Assignee
いわき電子株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by いわき電子株式会社 filed Critical いわき電子株式会社
Priority to JP2000343568A priority Critical patent/JP3534064B2/ja
Publication of JP2002149398A publication Critical patent/JP2002149398A/ja
Application granted granted Critical
Publication of JP3534064B2 publication Critical patent/JP3534064B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、科学技術計算、暗
号等の情報セキュリティー、或いはギャンブルマシーン
やゲームマシーン等に利用して好適な、原子核の自然崩
壊やホワイトノイズ等の自然現象を利用して成される自
然乱数の発生方法に関するものである。
【0002】
【従来の技術】従来より、原子核の自然崩壊やホワイト
ノイズから得られるランダムパルス信号の時間間隔(パ
ルス発生頻度)は指数分布となることが知られており、
確率の生成にあたっては、この分布に従ってパルス時間
間隔の範囲を設定することにより行われる。ここで、上
記技術分野において極めて利用価値の高い一様な乱数を
得る(どの乱数も同じ出現率を持つようにする)には、
発生するパルス時間間隔の頻度が全て等確率となるよ
うな時間間隔の範囲(区分)を複数設定し、各区分毎に
数値(乱数)を割り振る方法、前記パルス時間間隔を
カウンタで計測し、そのカウント値の下位数ビットを乱
数として使用する方法等が知られている。
【0003】
【発明が解決しようとする課題】しかしながら、上記
の方法はパルス時間間隔を一定周期の基準クロックによ
って計測しているため、この基準クロックより細かく精
度の高い計測は困難であり、1クロック分の誤差は避け
られない。それ故、本方式は必ずしも任意の確率を設定
できる訳ではなかった。
【0004】また、上記の方法は、クロックの周期を
小さくした場合、近傍の数クロックについては確率値の
差が小さいため、これらを等確率と見なすことができる
が、上位ビットになるに連れて確率の差は顕著となるこ
とから使用可能なビット数も制限されることになり、こ
のため多くの乱数を発生させることは困難であった。
【0005】本発明は、上記した従来方式の欠点に鑑み
て成されたもので、乱数の出現確率の差異が少なく、且
つ、多ビットの一様な自然乱数の発生方法を提供するこ
とを目的としている。
【0006】
【課題を解決するための手段】すなわち、請求項1に記
載の本発明は、ランダムに発生するパルス信号の時間間
隔を計測し、当該時間間隔データに基づいて乱数を生成
する方法において、前記パルス信号の時間間隔を計測す
るカウンタを備え、前記各々の時間間隔データに対して
割り振る数値を並び換えることにより、乱数の出現率を
調整する際、前記各々の数値に対する確率値の高低差を
埋めるように前記カウンタの周期毎に数値の割り振り方
を変えることを特徴と特徴としている。これにより、乱
数の出現率を一様にすることが可能となる。
【0007】
【0008】
【0009】
【0010】また、請求項に記載の本発明は、前記各
々の数値に対する確率値の高低差が近似的に二次曲線を
描くように並び換えした場合は、当該近似二次曲線の最
低値に近似二次曲線の最高値を対応させて各々を足し合
わせることを特徴としている。
【0011】また、請求項に記載の本発明は、前記足
し合わせ操作を複数回行うことを特徴としている。さら
に、請求項に記載の本発明は、足し合わせの基本とな
る前記二次曲線の描く範囲の確率値がほぼ1/3となる
ように並び換えすることを特徴としている。
【0012】ここで、カウンタの下位ビットをそのまま
乱数として使用する従来方式では、確率分布が近似的に
二次曲線となるため各乱数の発生確率に差異が残るが、
請求項1〜4の発明では、この確率分布の二次曲線傾向
を更に一定値(フラット)に近づけることができる。特
に、請求項の発明のように、上記足し合わせ(合成)
操作を繰り返し実行することにより各乱数の発生確率の
誤差は格段に縮小する。合成回数を多くする場合、基本
二次曲線(図8に示す二次曲線Y(0))の描く範囲の
確率値をほぼ1/3(すなわち、基本二次曲線の描く範
囲を全体の確率容積のほぼ1/3)にすると良い。各乱
数の発生確率の差異が小さくできれば一度に発生させる
乱数の桁を大きくでき、よって、多ビット構成の一様乱
数の発生が実現できる。
【0013】
【発明の実施の形態】以下、図1〜図12に基づいて本
発明に係る自然乱数の生成に係る一実施形態を説明す
る。
【0014】図1は、例えば、 210Pbのような極微弱
な放射線源より放出される放射線(例えば、α線)を公
知の方法により検出して得られたパルス信号の時間間隔
の確率分布を示している。このパルス信号はランダムな
時間間隔を有しており、1秒間の平均パルス数Navを
係数とした指数分布を示す。この確率分布を図示のよう
に一定時間(t)で分割し(具体的には、パルス時間間
隔を計測するカウンタの周期)、複数の確率分布範囲S
nに区分している。尚、時間間隔がt1からt2の間で
パルスが発生する確率S1=S0(1−S0)である。
【0015】本第1実施形態では、図2に示すように、
ブロック化された各々確率分布範囲を乱数の種類の数m
(2進16ビットの場合m=216)に細分割し、ブロッ
クSn毎の確率値をna0 〜nam-1 とするが(本来は
これらの確率値に乱数が割り振られる)、この確率値n
0 〜nam-1 に対して割り振る数値(乱数源)の並び
換えを行うため、図3に示すように、確率値na0 〜n
m-1 を更に2分割して確率値をna0(0),na0(1)
nam-1(0),nam-1(1)とする。このようにして、確率
分布の各ブロックSn毎に2×m個の微細な確率値を生
成する。尚、各ブロックにおけるこの微細な確率値を全
て合計すると1(100%)となる。
【0016】ここで、上記した乱数源の並び換え操作に
ついて説明すれば、図3に示した確率分布の各ブロック
Sn毎の微細な確率値の下位(nak(0))と上位(na
m-k- 1(1))を合成する。即ち、下位の偶数番目の確率値
(図4の実線カーブ)と上位の奇数番目の確率値(図4
の破線カーブ)を順次入れ替えて足し合わせると、図
4、図5に示すようにnbk =nak(0)+nam-k-1(1)
のm個(16ビット)の微細な確率値の集合体が各ブロ
ックSn毎に形成される。
【0017】図6は確率分布nbk の全体構成を示し、
この確率分布nbk は図7のように近似的に二次曲線
(nFk )を描く。ここで、dnは各ブロックSnにお
ける確率分布の最大値、jnは最小値を示し、dn−j
nは最大偏差、これを最大値dnで割ると最大誤差比q
nが得られる。また、最大値dnを隣ブロックの最大値
dn−1で割ると最大値比unとなる。尚、最大誤差比
qnおよび最大値比unは平均パルス数Navが一定の
場合、ブロックSnに無関係に一定となる。
【0018】上記並び換え操作を行った場合、最大誤差
比qnは、略(m/2)(m−1)Nav2 ・tc2
度となる(Nav:平均パルス数、tc:カウンタのク
ロック周期、m:乱数の種類の数である)。これに対
し、上記のような並び替え操作を行わずにランダムパル
スの時間間隔の下位ビットをそのまま乱数として使用し
た従来方式では、最大誤差比qnは略m・Nav・tc
となる。従って、例えば、従来方式の最大誤差比が1/
10であるとすると、並び替え操作を行った場合は1/
100以下となるから、各乱数の出現確率の差異は大幅
に縮小されたことになる。
【0019】ところで、上記方法によれば最大誤差比を
縮小できるものの、既述のように並び換え操作により形
成された確率分布nbk が近似的に二次曲線を描くよう
な場合は、厳密には微細な確率値間にまだ若干の差異が
残ることになる。一様な乱数を得るには確率分布を極力
一定値にすることがより重要である。そこで、本第2実
施形態では、上記並び換え操作で形成した任意の二次曲
線同士を足し合わせることで、より理想的な確率分布が
得られる好適な方法を提案する。
【0020】例えば、図8に示すように、基本となる二
次曲線Y(0)=A×(X−m/2)2 +Bとこの二次
曲線Y(0)と同じ曲線を描き、その最高値が二次曲線
Y(0)の最低値に対応し、最低値が二次曲線Y(0)
の最高値に対応するように生成した二次曲線U(1)を
合成(加算)する。合成により新たな二次曲線Z(1)
が得られる。この時、最大誤差はA×(m/2)2 から
A×(m/2)2 /2と1/2に圧縮され、且つ、最大
誤差比は1/{1+B/[A×(m/2)2 ]}から
0.5/{1+2×B/[A×(m/2)2 ]}と約1
/4に圧縮されることになる。
【0021】図9は前記合成で生成した二次曲線Z
(1)に対して再度同様の合成を行った場合で、合成に
より得られた二次曲線Z(2)では、最大誤差が1/4
に、最大誤差比が約1/10に圧縮される。このよう
に、合成処理を繰返し実行することにより最大誤差、及
び最大誤差比は格段に向上する。合成回数を多くする場
合、基本二次曲線、すなわち、後述の図8に示す二次曲
線Y(0))の描く範囲の確率値をほぼ1/3(基本二
次曲線の描く範囲を全体の確率面積の1/3)にすると
良い。因みに、構成回数と次数による各容積比(全体で
100%)の例を示せば下表の通りである。合成回数を
多くするに従って0次容積は1/3に近づき、無限回の
合成(但し、現実的ではない)では理論上1/3とな
る。 合成 0次 1次 2次 3次 4次 5次 6次 7次 8次 回数 容積 容積 容積 容積 容積 容積 容積 容積 容積 2 0.4 0.4 0.2 4 0.3478 0.3478 0.1739 0.087 0.0435 8 0.3342 0.3342 0.1671 0.0836 0.0418 0.0209 0.0104 0.0052 0.0026
【0022】尚、図6に示したように、各ブロックSn
の値(容積)やその最大偏差は各ブロック毎に異なる値
を持っているため、上記合成を行う場合には、ブロック
同士をそのまま合成するのではなく、同じ最大偏差を有
するブロック同士を合成することが理想的である。各ブ
ロックの最大誤差dn−jnとSnの容積の比は常に一
定であるから、適当に各ブロックSnをそのままの形で
足し合わせることにより、所望の最大偏差を持つブロッ
クを生成することができる。従って、合成を行う際に
は、先ず、このように使うべきブロックの容積Snをブ
ロック同士の並び換えをしない単純な足し算によって調
整し、合成すべきブロック同士の最大偏差を揃えておく
ようにする。
【0023】図10〜図12は、上記合成において基本
となる二次曲線に合成すべき二次曲線の具体的な生成方
法を示している。ここでは、各ブロックSnにおいて確
率分布(nbk )を形成する微細な確率値(nak )を
合成の回数(次数)に応じた形に並び替えることにより
得られる。
【0024】即ち、一次の合成に必要な形を作るには、
例えば、図10に示すように、破線で示す基のブロック
を半分に区切って、その右部の微細な確率値を左に、左
部の微細な確率値を右に移し替えれば良い。また、二次
の合成に必要な形を作るには、図11のように、破線で
示す基のブロックの左側の微細な確率値を新たに作る二
つの山の右側の要素として交互に振り分け(図11のU
P(0)、UP(1))、基のブロックの右側の微細な
確率値を新たに作る二つの山の左側の要素として交互に
振り分けていく(図11のDow(0)、Dow
(1))。更に、三次の合成も二次の合成と同様で、図
12のように、基のブロックの左側を新しい四つの山の
右側に順次振り分け(図12のUP(0)〜UP
(3))、基のブロックの右側を新しい四つの山の左側
に順次振り分ければ良い(図12のDow(0)〜Do
w(3))。但し、上記方法は一例であって、二次曲線
の生成はこれに限定されるものではない。
【0025】
【発明の効果】以上、説明したように、本発明によれ
ば、ランダムパルス信号の時間間隔を計測するカウンタ
を備え、各々の数値に対する確率値の高低差を埋めるよ
うに各々の時間間隔データに割り振る数値を並び換える
ようにしたので、乱数の出現率の誤差を縮小した一様乱
数を得ることが可能となる。
【0026】例えば、Navを平均パルス数、tcをカ
ウンタのクロック周期、mを乱数の種類の数とすると、
カウンタの下位ビットをそのまま乱数とした従来方式の
場合、乱数の出現率の誤差が略m・Nav・tc程度で
あるのに対し、本発明の方式では略その自乗とすること
ができる。例えば、従来方式の誤差が1/100であれ
ば、本発明では1/10000程度となり、誤差は1/
100に縮小される。加えて、ブロックの合成操作を繰
り返えすことにより誤差は更にその1/{2r(3−1
/2r )}に縮小することができる。仮に合成回数r=
8とすれば、誤差は1/10000の更に1/768と
なる。このように、本発明では各乱数の発生確率の差異
を大幅に縮小できるので、一度に発生させる乱数の桁
(ビット構成数)を大きくでき、よって、多ビット構成
の一様乱数の生成が実現できる。これは、乱数の種類を
多数必要とする科学計算等において極めて有効である。
【0027】また、乱数の種類を制限すれば、一度に幾
つもの乱数を発生させることができる。例えば、16ビ
ットのカウンターを用い、各2ビットを乱数として使用
すれば、一度に8個の乱数を発生することができる。こ
れにより、自然乱数の欠点であった乱数の発生頻度の問
題が軽減される。
【0028】以上のように、本発明では、自然乱数発生
の性能において従来に比べて大幅な向上が図れるので、
科学技術計算、暗号等の情報セキュリティー、或いはギ
ャンブルマシーン等、乱数を必要とする広い分野におい
て極めて利用価値の高いものとなる。
【図面の簡単な説明】
【図1】ランダムパルス信号の時間間隔の確率分布を示
す図である。
【図2】確率分布の分割部を示す図である。
【図3】図2の確率分布の細分割を示す図である。
【図4】確率分布の分割部の合成を示す図である。
【図5】確率分布の分割部の合成結果を示す図である。
【図6】確率分布の分割部の合成結果の全体構成を示す
図である。
【図7】確率分布ブロックの合成関数を示す図である。
【図8】二次曲線の合成を示す図である。
【図9】図8とは別の二次曲線の合成を示す図である。
【図10】二次曲線の生成を示す図である。
【図11】図10とは別の二次曲線の生成を示す図であ
る。
【図12】図11とは別の二次曲線の生成を示す図であ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鯉渕 美佐子 東京都港区新橋5丁目36番11号 いわき 電子株式会社内 (56)参考文献 特開2000−305753(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/58

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ランダムに発生するパルス信号の時間間
    隔を計測し、当該時間間隔データに基づいて乱数を生成
    する方法において、 前記パルス信号の時間間隔を計測するカウンタを備え、
    前記各々の時間間隔データに対して割り振る数値を並び
    換えることにより、乱数の出現率を調整する際、前記各
    々の数値に対する確率値の高低差を埋めるように前記カ
    ウンタの周期毎に数値の割り振り方を変えることを特徴
    とする乱数発生方法。
  2. 【請求項2】 前記各々の数値に対する確率値の高低差
    が近似的に二次曲線を描くように並び換えした場合は、
    当該近似二次曲線の最低値に近似二次曲線の最高値を対
    応させて各々を足し合わせることを特徴とする請求項1
    に記載の乱数発生方法。
  3. 【請求項3】 前記足し合わせ操作を複数回行うことを
    特徴とする請求項に記載の乱数発生方法。
  4. 【請求項4】 足し合わせの基本となる前記二次曲線の
    描く範囲の確率値がほぼ1/3となるように並び換えす
    ことを特徴とする請求項または請求項に記載の乱
    数発生方法。
JP2000343568A 2000-11-10 2000-11-10 乱数発生方法 Expired - Fee Related JP3534064B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000343568A JP3534064B2 (ja) 2000-11-10 2000-11-10 乱数発生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000343568A JP3534064B2 (ja) 2000-11-10 2000-11-10 乱数発生方法

Publications (2)

Publication Number Publication Date
JP2002149398A JP2002149398A (ja) 2002-05-24
JP3534064B2 true JP3534064B2 (ja) 2004-06-07

Family

ID=18817915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000343568A Expired - Fee Related JP3534064B2 (ja) 2000-11-10 2000-11-10 乱数発生方法

Country Status (1)

Country Link
JP (1) JP3534064B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786445A (zh) * 2016-03-11 2016-07-20 山东钢铁股份有限公司 一种内存映像网随机数的消除方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI408903B (zh) 2004-06-30 2013-09-11 Noriyoshi Tsuyuzaki 隨機脈衝產生源及半導體裝置、使用該源產生隨機數及/或機率之方法與程式
JP4804815B2 (ja) * 2004-06-30 2011-11-02 典平 露崎 ランダムパルス発生源、これを用いた乱数及び/又は確率を発生するための方法、プログラム及び半導体デバイス

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786445A (zh) * 2016-03-11 2016-07-20 山东钢铁股份有限公司 一种内存映像网随机数的消除方法

Also Published As

Publication number Publication date
JP2002149398A (ja) 2002-05-24

Similar Documents

Publication Publication Date Title
Fischlin et al. Stronger security proofs for RSA and Rabin bits
US7451374B2 (en) Apparatus and method for channel coding in mobile communication system
CN109903212A (zh) 一种基于H几何分形和Hilbert曲线的图像加密方法
Cavenagh et al. On the number of transversals in Cayley tables of cyclic groups
Pless et al. All Z4Codes of Type II and Length 16 Are Known
JP3534064B2 (ja) 乱数発生方法
Rummukainen Multicanonical cluster algorithm and the two-dimensional 7-state Potts model
Koleske et al. Generation of pseudorandom sequences for use in cross‐correlation modulation
JP3515036B2 (ja) インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
US8130956B2 (en) Efficient and low power encrypting and decrypting of data
EP0130332B1 (en) Digital electronic musical instrument of pitch synchronous sampling type
Dubickas et al. Integer parts of powers of rational numbers
CN110753224B (zh) 一种用于随钻测量数据压缩的数据重排方法和系统
Krieg et al. Maximal discrete subgroups of 𝑆𝑂⁺(2, 𝑛+ 2)
US7082453B1 (en) Long-period counter without carries
US8032574B2 (en) Probability generating apparatus
Ellis et al. In situ, stable merging by way of the perfect shuffle
Dailly et al. Partition games are pure breaking games
JPS5846035B2 (ja) 電子楽器
JP3034516B1 (ja) 物理乱数発生装置
KR101804499B1 (ko) 이진수를 난수로 변환 또는 난수를 이진수로 변환하는 방법 및 그 장치
US6639435B2 (en) Adjustable frequency divider
Luck et al. A column of grains in the jamming limit: glassy dynamics in the compaction process
JP2000298577A (ja) 乱数生成装置
KR100640924B1 (ko) 레이트 매칭 방법 및 장치

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040301

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees