(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2021-89460(P2021-89460A)
(43)【公開日】2021年6月10日
(54)【発明の名称】擬似乱数生成装置,方法およびプログラム
(51)【国際特許分類】
G06F 7/58 20060101AFI20210514BHJP
G09C 1/00 20060101ALI20210514BHJP
【FI】
G06F7/58 620
G09C1/00 650B
【審査請求】有
【請求項の数】16
【出願形態】OL
【全頁数】27
(21)【出願番号】特願2019-217864(P2019-217864)
(22)【出願日】2019年12月2日
(11)【特許番号】特許第6782347号(P6782347)
(45)【特許公報発行日】2020年11月11日
(71)【出願人】
【識別番号】591042894
【氏名又は名称】有田 清三郎
(74)【代理人】
【識別番号】110001830
【氏名又は名称】東京UIT国際特許業務法人
(72)【発明者】
【氏名】有田 清三郎
(57)【要約】
【課題】できるだけ高い独立性をもつ擬似乱数を作成する。
【解決手段】擬似乱数生成装置は,ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして生成されたサンプル数列をメモリに格納する。この装置はさらに,生成されるサンプル数列において相前後する数値の増加と減少の変化態様の出現数を調べ,その変化態様の種類ごとの出現数が統計的許容範囲内にあるかどうかを検査する独立性検査手段を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成するカオス数列生成手段,
前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成するサンプル数列生成手段,および
前記サンプル数列生成手段によって生成されたサンプル数列を格納する格納手段,
を備える擬似乱数生成装置。
【請求項2】
前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差が零であるかどうかをチェックする停止点判定手段,をさらに備える請求項1に記載の擬似乱数生成装置。
【請求項3】
前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の増加と減少の変化態様の出現数を調べ,その変化態様の種類ごとの出現数が統計的許容範囲内にあるかどうかを検査する独立性検査手段,
をさらに備える請求項1または2に記載の擬似乱数生成装置。
【請求項4】
前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差を算出する差算出手段,および
前記差算出手段によって算出される差の数列において前後する1組の差の一方をX軸にとり,他方をY軸にとった散布図を作成する散布図作成手段,
を備える請求項1から3のいずれか一項に記載の擬似乱数生成装置。
【請求項5】
前記サンプル数列生成手段によって生成されるサンプル数列によって表わされる分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算する分位点算出手段,および
前記サンプル数列を形成する各数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換する置換手段,
を含む分布一様化処理手段をさらに備える,請求項1から4のいずれか一項に記載の擬似数列生成装置。
【請求項6】
所与の擬似乱数列において,前後する数値を比較し,増加(+)か減少(−)かの符号付けを行う符号付け手段,
前記符号付け手段によって形成された符号の列において前後する符号の変化態様(+,+),(+,−),(−,+),(−,−)の出現数をそれぞれ計数する出現数計数手段,および
出現数計数手段によって計数された変化の態様ごとの出現数が統計的許容範囲内で独立性の確率条件に合うかどうかを検査する検査手段,
を備える擬似乱数の独立性検証装置。
【請求項7】
任意の分布をもつ擬人乱数列を一様分布の擬似乱数列に変換する装置であり,
所与の擬似乱数列の分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算する分位点算出手段,および
前記擬似乱数列を形成する数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換する置換手段,
を備える一様分布化装置。
【請求項8】
所望桁の擬似乱数列を作成する装置であり,
少なくとも第1の桁の第1の擬似乱数列と第2の桁の第2の擬似乱数列をそれぞれ格納する格納手段,および
第1の擬似乱数列から第1の桁の数値を重複することなく取出して所望桁の乱数列の上位桁とし,第2の擬似乱数列から第2の桁の数値を重複することなく取出して所望桁の乱数列の下位桁として配置する配置手段,
を備える所望桁の擬似乱数列作成装置。
【請求項9】
カオス数列生成手段が,ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
サンプル数列生成手段が,前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
前記サンプル数列生成手段によって生成されたサンプル数列を格納手段に格納する,
擬似乱数生成方法。
【請求項10】
停止点判定手段が前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差が零であるかどうかをチェックする,請求項9に記載の擬似乱数生成方法。
【請求項11】
差算出手段が,前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差を算出し,そして
散布図作成手段が,前記差算出手段によって算出される差の数列において前後する1組の差の一方をX軸にとり,他方をY軸にとった散布図を作成する,
請求項9または10に記載の擬似乱数生成方法。
【請求項12】
符号付け手段が,所与の擬似乱数列において,前後する数値を比較し,増加(+)か減少(−)かの符号付けを行い,
出現数計数手段が,前記符号付け手段によって形成された符号の列において前後する符号の変化態様(+,+),(+,−),(−,+),(−,−)の出現数をそれぞれ計数し,そして
検査手段が,出現数計数手段によって計数された変化の態様ごとの出現数が統計的許容範囲内で独立性の確率条件に合うかどうかを検査する,
擬似乱数の独立性検証方法。
【請求項13】
任意の分布をもつ擬似乱数列を一様分布の擬似乱数列に変換する方法であり,
分位点算出手段が,所与の擬似乱数列の分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算し,そして
置換手段が,前記擬似乱数列を形成する各数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換する,
一様分布化方法。
【請求項14】
所望桁の擬似乱数列を作成する方法であり,
格納手段が少なくとも第1の桁の第1の擬似乱数列と第2の桁の第2の擬似乱数列をそれぞれ格納し,そして
配置手段が,第1の擬似乱数列から第1の桁の数値を重複することなく取出して所望桁の乱数列の上位桁とし,第2の擬似乱数列から第2の桁の数値を重複することなく取出して所望桁の乱数列の下位桁として配置する,
所望桁の擬似乱数列作成方法。
【請求項15】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
生成されたサンプル数列を格納するようにコンピュータを制御する,
擬似乱数生成プログラム。
【請求項16】
前記生成されるサンプル数列において前後する数値の差が零であるかどうかをチェックするようにコンピュータを制御する,
請求項15に記載の擬似乱数生成プログラム。
【請求項17】
前記生成されるサンプル数列において前後する数値の差を算出し,そして
算出される差の数列において前後する1組の差の一方をX軸にとり,他方をY軸にとった散布図を作成するようにコンピュータを制御する,
請求項15または16に記載の擬似乱数生成プログラム。
【請求項18】
所与の擬似乱数列において,前後する数値を比較し,増加(+)か減少(−)かの符号付けを行い,
前記符号付けによって形成された符号の列において前後する符号の変化態様(+,+),(+,−),(−,+),(−,−)の出現数をそれぞれ計数し,そして
前記計数された変化の態様ごとの出現数が統計的許容範囲内で独立性の確率条件に合うかどうかを検査するようにコンピュータを制御する,
擬似乱数の独立性検証プログラム。
【請求項19】
任意の分布をもつ擬似乱数列を一様分布の擬似乱数列に変換するプログラムであり,
所与の擬似乱数列の分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算し,そして
前記擬似乱数列を形成する数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換するようコンピュータを制御する,
一様分布化プログラム。
【請求項20】
所望桁の擬似乱数列を作成するプログラムであり,
少なくとも第1の桁の第1の擬似乱数列と第2の桁の第2の擬似乱数列をそれぞれメモリに格納し,そして
第1の擬似乱数列から第1の桁の数値を重複することなく取出して所望桁の乱数列の上位桁とし,第2の擬似乱数列から第2の桁の数値を重複することなく取出して所望桁の乱数列の下位桁として配置するようにコンピュータを制御する,
所望桁の擬似乱数列作成プログラム。
【請求項21】
請求項15から20のいずれか一項に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は,ロジスティック写像の漸化式(以下,「ロジスティックカオス方程式」という)に基づいて作成されるロジスティックカオス数列(単に,「カオス数列」ともいう)を利用した擬似乱数生成装置,方法およびプログラムに関する。
【背景技術】
【0002】
ロジスティック写像は離散型ロジスティックカオス方程式に与える初期パラメータを変えることによりさまざまに変化し,カオスと呼ばれる複雑な振る舞いを示す。そのためロジスティックカオス数列は擬似乱数の生成に用いられ,多くの文献がある。たとえば,特許文献1にはカオス写像に基づく擬似乱数生成の数多くの提案がまとめて示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018−97438号公報
【0004】
もともと乱数列は代表的にはサイコロを振ったときに現われる目の数を時系列に並べたものである。サイコロの目に基づく乱数列には次の2つの性質がある。
【0005】
1.独立性(前の事象(目の数)に関係なく,すなわち独立に次の事象(目の数)が出現すること,さらに言えば,数列のどの部分を切り取っても,他の部分との関連性がないこと,予測不可能性ともいわれる)
2.乱数列の数(サイコロの目の数)は等確率で出現する(一様分布)
【0006】
既に提案されているロジスティックカオス方程式を用いた擬似乱数列の生成においては,必ずしも充分に上記1.の独立性が吟味されているとはいいえない。また,ロジスティックカオス方程式由来の擬似乱数は宿命的にU字型分布の出現確率をもつので応用範囲が制限されるという問題がある。
【発明の概要】
【0007】
この発明は,生成する擬似乱数についてできるだけ高い独立性を担保できる擬似乱数生成装置,方法およびプログラムを提供することを目的とする。
【0008】
この発明はまた,生成した擬似乱数の独立性を検証できるようにするものである。
【0009】
この発明はさらに,できるだけ一様な出現確率(頻度)を持つ擬似乱数を生成できる装置,方法およびプログラムを提供するものである。
【0010】
この発明による擬似乱数生成装置は,ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成するカオス数列生成手段,前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成するサンプル数列生成手段,および前記サンプル数列生成手段によって生成されたサンプル数列を格納する格納手段を備えるものである。
【0011】
カオス数列から1以上の間隔,好ましくは5以上,望ましくは10以上の間隔(サンプリング間隔)をあけて数値を抽出し(サンプリングし),抽出した数値をカオス数列における順序を保って配列してサンプル数列を生成する。サンプリング間隔を大きくすればするほど,生成されたサンプル数列の独立性(ランダム性)が高まり,かつ複雑化する。このようにして,独立性が担保された擬似乱数列が得られる。
【0012】
サンプル数列において,同じ数値が連続して出現することは乱数の性質上好ましいことではない。そこで,この発明による擬似乱数生成装置の好ましい実施態様では停止判定手段を備える。この停止判定手段は,前記サンプル数列生成手段によって生成されるサンプル数列において(相)前後する数値の差が零であるかどうかをチェックするものである。
【0013】
サンプル数列において,連続して同じ数値が出現した場合には(停止判定),ロジスティックカオス方程式のパラメータを変えて再度カオス数列の生成から繰返せばよい。パラメータには,ロジスティックカオス方程式に与える初期値,サンプリング間隔などがある。ロジスティックカオス方程式が2種以上用意されている場合には,ロジスティックカオス方程式そのものを変更してもよい。装置があらかじめ設定されたプログラムにしたがって自動的にパラメータを変更してもよい。
【0014】
この発明による擬似乱数生成装置は,望ましい実施態様は,独立性検査手段を備えている。独立性検査手段は,前記サンプル数列生成手段によって生成されるサンプル数列において相前後する数値の増加と減少の変化態様の出現数を調べ,その変化態様の種類ごとの出現数が統計的許容範囲内にあるかどうかを検査するものである。この検査の一例としてはカイ(χ)2乗検定がある。生成されたサンプル数列が独立性を備えているかどうかが検証される。独立性に不満があれば操作者(ユーザ)はパラメータを変更してサンプル数列の生成からやり直すことができる。装置が自動的にパラメータを変更して処理をやり直してもよい。
【0015】
この発明は擬似乱数の独立性の検証(検査,検定)装置も提供している。この発明による擬似乱数の独立性の検証装置は,所与の擬似乱数列において,相前後する数値を比較し,増加(+)か減少(−)かの符号付けを行う符号付け手段,前記符号付け手段によって形成された符号の列において相前後する符号の変化態様(+,+),(+,−),(−,+),(−,−)の出現数をそれぞれ計数する出現数計数手段,および出現数計数手段によって計数された変化の態様ごとの出現数が統計的許容範囲内で独立性の確率条件に合うかどうかを検査する検査手段を備えるものである。
【0016】
乱数(たとえばサイコロの目)の確率条件(統計学的期待値)は,上記の符号の観点から,確率[(+,+),(+,−),(−,+),(−,−)]=(1/6,1/3,1/3,1/6)である。所与の擬似乱数列において相前後する符号の変化態様の出現数が上記の統計学的期待値と有意差があるかどうかが検査される。有意差がなければ,所与の擬似乱数列は乱数の独立性を備えているといえる。独立性の高い擬似乱数列の用途は広がる。
【0017】
この発明による擬似乱数生成装置は,一実施態様では,散布図作成装置を備えている。この散布図作成装置は,前記サンプル数列生成手段によって生成されるサンプル数列において相前後する数値の差を算出する差算出手段,および前記差算出手段によって算出される差の数列において相前後する1組の差の一方をX軸にとり,他方をY軸にとった散布図を作成する散布図作成手段を備えるものである。
【0018】
散布図は擬似乱数の複雑さを表わす。生成したサンプル数列の散布図が出力(たとえば表示)されることにより,操作者(ユーザ)は,散布図をみて作成したサンプル数列が所望の複雑さを備えているかどうかを目視で判断できる。表示された散布図に満足すればその旨を装置に入力すると,作成されたサンプル数列が最終的なものとして装置のメモリに格納される。操作者が満足しない場合には,ロジスティックカオス方程式のパラメータを変更して再度,カオス数列の生成からやり直すことができる。NGの旨の入力があると装置が自動的にパラメータを変更して最初からやり直すようにプログラムしておいてもよい。
【0019】
ロジスティックカオス方程式に基づいて作成されたカオス数列,カオス数列に基づいて作成されたサンプル数列は,分布関数がU字型をしているU字型分布をもつものである。この発明による擬似乱数生成装置は,U字型分布のサンプル数列を,一定の確率をもつ一様分布に変換する一様化処理手段(装置)をさらに備えている。
【0020】
この一様化処理手段は,前記サンプル数列生成手段によって生成されるサンプル数列によって表わされる分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算する分位点算出手段,および前記サンプル数列を形成する各数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換する置換手段を備えるものである。サンプル数列によって表わされる分布関数とは,サンプル数列に含まれる数値を大きさの順に並べて横軸にとり,縦軸にその確率密度(離散的に表現して横軸を微少区間に分けた場合には度数)をとったものである。
【0021】
この一様化処理手段により,一様の確率分布の数列が得られるので,擬似乱数の応用範囲が広がる。
【0022】
この発明はさらに任意の分布をもつ擬似乱数列を一様分布の擬似乱数列に変換する一様分布化装置を提供している。この装置は,所与の擬似乱数列の分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算する分位点算出手段,および前記擬似乱数列を形成する各数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換する置換手段を備えるものである。
【0023】
一様分布化装置により,任意の分布をもつ擬似乱数列が確率一定の一様分布をもつ擬似乱数列に変換される。
【0024】
この発明は,所望桁の擬似乱数列を作成する装置も提供している。この装置は,少なくとも第1の桁の第1の擬似乱数列と第2の桁の第2の擬似乱数列をそれぞれ格納する格納手段,および第1の擬似乱数列から第1の桁の数値を重複することなく取出して所望桁の乱数列の上位桁とし,第2の擬似乱数列から第2の桁の数値を重複することなく取出して所望桁の乱数列の下位桁として配置する配置手段を備えるものである。これにより,第1の桁と第2の桁との和によって表わされる桁数をもつ擬似乱数列が作成される。重複することなくとは,既に使用した(取出した)数値を再び使用することなくの意味である。
【0025】
上述したU字型分布をもつ擬似乱数列,一様分布をもつ擬似乱数列,その他の擬似乱数列を複数個用意しておけば任意の桁数をもつ擬似乱数列を作成することができる。3つ以上の擬似乱数列から任意桁の擬似乱数列をつくることができるのはいうまでもない。
【0026】
この発明は上記の各種装置によって実行される方法,ならびに上記各種装置(コンピュータ)を動作させるためのコンピュータプログラムおよび同プログラムを格納した記録媒体も提供している。
【図面の簡単な説明】
【0027】
【
図1】擬似乱数生成装置のハードウェア構成を示すブロック図である。
【
図2】擬似乱数生成処理の流れの前半を示すフローチャートである。
【
図3】擬似乱数生成処理の流れの後半を示すフローチャートである。
【
図4】記憶部に記憶される初期入力情報の一例を示す。
【
図5】記憶部に記憶される演算処理結果の一例を示す。
【
図6】カオス数列からサンプリングによりサンプル数列を作成する様子を示す。
【
図7】サンプル数列と,その変化分,その増減の符号および隣接する2つの符号の組を示す。
【
図9】カオス数列とサンプル数列(k=1〜5の場合)の散布図の例を示す。
【
図11】U字型分布を拡大しかつ離散型にして示すものである。
【
図12】U字型分布から一様分布への変換のための分位点を示す。
【
図13】桁数の小さい乱数を作成する様子を示すもので,(a)は1桁の,(b)は2桁の,(c)は3桁の乱数をそれぞれ生成する様子を示す。
【
図14】桁数の大きい乱数を作成する様子を示すもので(a)は8桁の,(b)は12桁の,(c)は10桁の乱数をそれぞれ作成する様子を示す。
【実施例】
【0028】
(1) システム構成
図1は擬似乱数生成装置のハードウェア構成の概要を示すものである。
【0029】
擬似乱数生成装置10は典型的にはコンピュータ・システムによって実現される。コンピュータ・システムには,いわゆるパーソナル・コンピュータ(PC),モバイル端末装置等により実現されるシステムのみならず,ネットワーク・コンピューティング,クラウド・コンピューティング等によって実現されるシステムも含む。
【0030】
擬似乱数生成装置10は,基本的には演算部(または制御演算部,制御部)11,入力部12,出力部13,記憶部14および表示部15を含む。演算部11はコンピュータの本体であり,後述する
図2,
図3のフローチャートにしたがう擬似乱数列生成処理を実行する。
【0031】
入力部12は,キーボードで代表される入力装置,表示部15の表示画面の表示内容を指示または選択するマウスを含み表示装置と共働して入力操作を行うもの,表示装置の表示画面に配置されるタッチパネル,マイクと音声認識部を含む音声入力部,ネットワーク等に接続され,送信されてくる信号を受信する通信部,CD,USBメモリ等の記録媒体からデータを読込むデータ読込装置,その他の演算部11へのデータ,情報の入力手段を含む。出力部13は,表示装置,プリンタ等の外に,音声出力部,ネットワーク等を通してデータ等を外部に送信する通信部(入力部の通信部と兼用される場合を含む),記録媒体にデータを書込むデータ書込装置,その他のデータ,情報を演算部11から外部に出力する手段を含む。
【0032】
記憶部14は後述する入力初期情報(
図4)等の入力データ,各種の演算処理結果データ(
図5),その他のデータを格納するもので,演算部11内の内部メモリでもよいし,外部メモリ(クラウド・コンピューティング・システムのサーバのメモリも含む)でもよい。記憶部14には,
図2,
図3に示す擬似乱数生成処理をコンピュータに実行させるためのプログラムも格納される。
【0033】
表示部15は入力部12や出力部13の表示装置ともちろん兼用することができるが,特に取出してここに図示してあると理解されたい。
【0034】
以下,
図2,
図3に示すフローチャートにしたがって擬似乱数生成処理について説明する。
【0035】
(2) サンプル数列の生成
まず,入力部12を通して初期値(初期入力情報)が入力され,記憶部14に記憶される(初期処理,初期設定)(
図2,ステップS1)。初期入力情報には
図4に示すように,ロジスティックカオス方程式の選定結果,ロジスティックカオス方程式の初期値(x
1 ),サンプリング間隔(飛ばし間隔)(k個飛ばし),生成する(したい)擬似乱数の桁数,擬似乱数列のサンプル数(M)(最終的に生成される擬似乱数列における数値の個数)等がある。
【0036】
ロジスティックカオス方程式(単に,カオスの式という)として次の2種類を採用し,これらをタイプ1,タイプ2と呼ぶ,nは順次増加する正の整数(n=1,2,3,‥‥)。
【0037】
タイプ1 x
n+1=4x
n(1−x
n) 式(1)
タイプ2 x
n+1=1−4x
n(1−x
n) 式(2)
【0038】
タイプ1,タイプ2のいずれか一方がユーザ(操作者)によって選択,入力され,選択されたタイプが記憶部14に記憶される。
【0039】
カオスの式の初期値x
1 は0<x
1 <1の間で設定される。たとえば,小数点第3位までの値(例として,x
1 =0.234 )(擬似乱数の桁数と異なる桁数でもよい)が初期値としてキーボードから入力される。
【0040】
サンプリング間隔kは原則的には1以上であればよいが,より好ましくは5以上,実際的には10以上30までの間程度がよい。キーボードから入力させてもよいが,プルダウンリスト等に選択可能な数kを表示し,その中から選択させてもよい。
【0041】
生成したい擬似乱数の桁数に制限はないが,実際的には1〜20程度が好ましい。擬似乱数のサンプル数(抽出数)Mとは,生成したい擬似乱数の個数(総数)であり,もちろん任意の数でよいが,実際的には 1000〜100万程度であろう。擬似乱数は後述するようにサンプリング処理を経て生成されるので,サンプル数という用語が用いられる。擬似乱数の桁数,サンプル数もキーボード(テンキー)を用いて入力することができるが,プルダウンリストの中から選択させてもよい。
【0042】
初期処理で選定されたタイプ1またはタイプ2のカオスの式に,設定された初期値x
1 を代入してx
2を求め,このx
2を用いて次のx
3を算出するというように,nの値を順次インクレメントしながら初期設定された桁数の数値(数データ)の列(カオス数列)を求める(
図2,ステップS2)(カオス数列生成手段)。得られたカオス数列の一例(x
1 ,x
2,x
3,‥‥)を
図6に示す。x
nの値をどこまで計算するかはサンプリング間隔kとサンプル数Mとの積に依存する(下記式(5)参照)。
【0043】
このカオス数列から,初期設定されたサンプリング間隔の間隔で数値(数)(数データ)を抽出(サンプリング)して,サンプル数列をつくる(
図2,ステップS3)(サンプル数列生成手段)。サンプル数列は,サンプリングにより得られた(抽出された)数値(数)(数データ)の列の意味である。
【0044】
分りやすくするために,サンプリング間隔kが2の場合(2個飛ばし)のサンプリング(サンプル数列)の例が
図6のカオス数列に対して示されている。サンプル数列をy
m (m=1,2,3,‥‥)で表わす。
【0045】
サンプル数列のm番目の数値(数データ)y
mは,最初のyの値であるy
1の値をカオス数列の最初の値x
1と等しい値としたとき,次式で与えられる。
【0046】
y
m=x
N 式(3)
N=(k+1)(m−1)+1 式(4)
【0047】
最終的に初期設定されたM個の擬似乱数を得る場合には,次式(式(5) )で与えられるN個の数データをもつカオス数列がS2で生成される。もっとも,サンプル数列の最初の数値(数データ)y
1をカオス数列の初期値x
1と同じにする必要は必ずしもなく,カオス数列の2番目の数値x
2や3番目の数値x
3などをサンプル数列の最初の値y
1とすることもできるし,カオス数列の最初からx
1を含めてk個飛ばしたのちのx
k+1 をサンプル数列の最初の値y
1とするなど,サンプル数列の最初の値y
1はどこをとってもよい。その場合には,式(5) で与えられる数Nはy
1の値のとり方に応じて修正されよう。
【0048】
N=(k+1)(M−1)+C 式(5)
Cは1,2,3,4,‥‥または1,k+1,2k+1,‥‥など任意の値とすることができる。
【0049】
このようにして得られたサンプル数列が,入力,設定された初期条件(初期入力情報)によって規定される擬似乱数の数列であり,記憶部14に一時的に格納される(
図5参照)。そして,後述する停止点でないこと,擬似乱数の性質の検討ないしは評価を経た後に,
図5に示すように記憶部14の演算処理結果データ・エリアに最終的に記憶される(
図3,ステップS13)。
【0050】
上記においてカオス数列の生成(ステップS2)とサンプル数列の生成(ステップS3)とは別個の処理として記述されているが,これらの処理を並行して実行することもできる。たとえば,カオス数列の作成しながら,k個飛ばして数値をサンプリングしていく,カオス数列のk個飛ばしの数列を一挙に計算する漸化式を作成し,この漸化式にしたがってサンプル数列を生成するなどである。
【0051】
(3) 停止点の判定
カオス数列またはそれに基づいて作成されるサンプル数列は,設定された初期条件によっては,nまたはmをインクレメントしても演算結果x
nまたはy
mが変化しないことがある。これを停止点という。
【0052】
以下に,サンプル数列について,停止点の判定とその対策について述べる。
【0053】
サンプル数列の数値の変化分Δy
mを次式(式(6))にしたがって算出し(
図2,ステップS4)(相前後する数値の差の算出手段),記憶部14に記憶する(
図5参照)。
【0054】
Δy
m=y
m+1−y
m 式(6)
【0055】
そして算出した変化分Δy
mが0かどうかを判定する(式(7) )(
図2,ステップS5)(停止点判定手段)。
【0056】
Δy
m=0 式(7)
【0057】
式(7) を満たすy
mがあれば,サンプル数列の(m+1)番目を停止点と判定する。
【0058】
停止点の存在が判定された場合には(ステップS5でY:YES ),ステップS1で設定したカオスの初期値x
1 を変更する(
図2,ステップS6)。初期値の変更は現在の初期値の値を変更してもよいし,全く新しい初期値を設定しなおしてもよい。たとえば,現在の初期値x
1に0.001を加算した値を新たな初期値とすることができる。この新たな初期値はもちろん記憶部(
図4)に格納させる。初期値の変更はコンピュータの内部処理で自動的に行なってもよいし(たとえば上記の+0.001 などの演算),ユーザに入力,設定し直しさせてもよい。初期値を自動変更した旨や,初期値の変更が必要である旨の表示を表示部15に行うことが好ましい。初期値変更ののち,カオス数列の生成(ステップS2)からやり直すことになる。
【0059】
(4) 擬似乱数の性質の検討または評価
サンプル数列の数値の変化分Δy
m が0になることなく(ステップS5でN:NO),生成されたサンプル数が初期設定されたM個に達した場合には,生成されたサンプル数列が望ましい擬似乱数の性質を備えているかどうかを検査(検討,チェック)ないしは評価する。この検討は独立性と複雑性の観点から行う。
【0060】
この検討のために,サンプル数列の数値の変化分Δy
m の符号を判定する(
図2,ステップS7)(符号付け手段)。Δy
m>0のときそのΔy
mに上昇または増加(+)の符号を付し,Δy
m<0のときそのΔy
mに下降または減少(−)の符号を付け,記憶部14に記憶する(
図5参照)。
【0061】
(5) 独立性の検討
サイコロの目を振ったときに現われる目の数を時系列に並べたものが典型的な乱数列である。この乱数列における数値の変化分が正の場合に(+)の符号を付し,負の場合に(−)の符号を付す。この符号の列において,隣接する2つの符号を一組として,(+,+),(+,−),(−,+),(−,−)の組に分類すると,その出現確率は順に1/6,1/3,1/3,1/6となる。すなわち
確率[(+,+),(+,−),(−,+),(−,−)]
=(1/6,1/3,1/3,1/6) 式(8)
が成り立つ,これを乱数列のための確率条件と呼ぶことにする。この確率条件は乱数列の独立性を表わしている。
【0062】
独立性の検討では,
図2,ステップS3で得られたM個のサンプル数値をもつサンプル数列について,上記の確立条件を用いて統計学的有意差検定を行う。この実施例ではカイ2乗検定が用いられる。
【0063】
まず,
図2,ステップS7で得られた変化分Δy
m の符号の列において,
図7に示すように,順次隣接する2つの符号の組を4つの種類((+,+),(+,−),(−,+),(−,−))に分類し,それぞれの符号の組の個数を計算する(
図2,ステップS8)(変化態様の種類ごとの出現数計数手段)。これらの個数の合計は(M−2)となる。
【0064】
カイ2乗検定のカイ2乗値(χ
2)は次式で与えられる。
【0065】
χ
2=Σ[(計数値)−(期待値)]
2/(期待値) 式(9)
【0066】
計数値はステップS8で計算した各符号組の個数である。期待値は1/6,1/3,1/3,1/6に,初期設定したサンプル数Mから2を引いた値(M−2)をそれぞれ乗じた値である。
【0067】
式(9) の計算を行い,計算結果のχ
2 値を適当な棄却限界値で弁別して有意差の有無を判定する。棄却限界値としては,たとえば有意水準1%のχ
2値である6.635を用いる。
【0068】
計算したχ
2 の値が棄却限界値未満であれば有意差なしと判定し,生成されたサンプル数列は乱数の独立性を満たすとする(
図2,ステップS10で合(合格))(独立性検査手段)。計算したχ
2 の値が棄却限界値以上の場合には,有意差有と判定し,乱数の独立性を満たさないとする(
図2,ステップS10で不(不合格))。
【0069】
図2,ステップS10で不合格の場合には,初期入力情報を変更する(
図2,ステップS6)。たとえば,サンプリング間隔kの値に1を加えた値(k+1)を新たなサンプリング間隔とする。カオスの式の初期値を変更してもよい。これらの初期情報の変更は,コンピュータが自動的に行い,その結果を表示しても,統計検定に不合格の旨を表示し,ユーザに初期入力情報を変更させてもよい。いずれにしても,初期情報の変更ののち,ステップS2に戻り,ステップS2からの処理を繰返す。
【0070】
表1は,カオス数列(
図2,ステップS2)とサンプル数列(
図2,ステップS3)について,そしてサンプル数列に関してはサンプリング間隔がk=1,2,3,4,5の場合について,符号の組ごとに,その出現数(計数値)と全体に対するパーセントを示すものである。表1に示すデータを得るのに用いた初期条件は,カオスの式がタイプ1,カオスの式の初期値は0.200 ,擬似乱数の桁数は12である。符号組の総数(合計)はいずれも5000である。サンプリング間隔kが大きくなれば(多くなれば)なるほど,出現確率が1/6,1/3,1/3,1/6に近づいているのが分る。カオス数列をサンプリングすることにより,得られるサンプル数列の独立性が現われ(乱数性または乱数である程度が高くなり),サンプリング間隔を大きくすれば独立性が一層高まっていることが分る。
【0071】
【表1】
【0072】
(6) 複雑性の検討
複雑性の検討は,散布図を表示部15に表示し,ユーザが表示された散布図を目視し,視覚的に複雑性の程度を評価,判断して,合否結果を入力部12から入力することにより実現される。
【0073】
散布図とは,
図8に示すように,横軸にΔy
mの値をとり,縦軸にΔy
m+1をとり,
図2,ステップS4で算出した変化分の値を用いて,(Δy
m,Δy
m+1)の点を多数表わしたものである。
【0074】
散布図の一例が
図9に示されている。これは表1の符号組を生じさせたサンプル数列(Δy
mとΔy
m+1組合せ)を基に作成したものである。カオス数列においては,(Δy
m,Δy
m+1)の点(黒い点)は曲線状に狭い範囲に集中しているが,サンプル数列(k=1,2,3,4,5の散布図)においては,サンプリング間隔kが増大するにつれて点はより広い範囲にしだいに分散し,複雑化していくことが分る。これらの散布図のそれぞれにおいて,点の数は,上述した合計の5000である。
【0075】
図2,ステップS11の処理では,初期設定されたサンプリング間隔kのサンプル数列の散布図を作成し,表示部15に表示する(散布図作成手段,散布図表示手段)。ユーザはサンプル数列の散布図をみて,OK(合格)の旨のボタンを押せば(
図2,ステップS12でY),そのときのサンプル数列が完成されたものとして記憶部14に最終的に格納される(
図3,ステップS13)(格納手段)(
図5参照)。ユーザがNO(不合格)の旨の入力をすると,ステップS6で初期情報を変更し,ステップS2からの処理を繰返す。初期情報の変更には,たとえばサンプリング間隔kを1つ増加させるなどの処理をすればよい。これはコンピュータが自動的に行なっても,ユーザが入力してもどちらでもよい。もっとも,ユーザは初期設定で入力したkの値にかかわらず,kの値を変化させてそのkの値に応じた散布図を表示させ,所望の散布図が得られたときに,そのサンプリング間隔kでOKの旨を入力させるようにしてもよい。
【0076】
(7) U字型分布から一様分布への変換
カオス数列はU字型分布をもつといわれている。カオス数列からk個飛ばしでサンプリングにより作成したサンプル数列もまたU字型分布をもつ。
【0077】
U字型分布とは,
図10に示すように,サンプル数列を構成する各数値を,0〜1の間に,数値の大きさ順(昇順または降順)に並べて(ソートし)これを横軸にとり,縦軸には各数値の確率密度をとったときに,確率密度が,横軸上で0または1に近づくにつれて大きくなり,中央(0.5 )にいくほど小さくなる形(U字型)となる分布を示すものである。
【0078】
これを拡大しかつ離散型で表現したものが
図11である。サンプル数列y
n が存在する横軸の区間0〜1の間を等間隔の微少区間に分け,各区間内に存在するy
n の個数(度数)を縦軸にとったものである。微少区間の度数を滑らかな曲線で結べば
図10のようなU字形を示す。
【0079】
図12は分りやすくするために横軸を引き延ばし,かつ滑らかなU字型分布(U字型分布関数)の形でサンプル数列の分布を示すものである。U字型分布を確率1/qの一様分布に変化するために,U字型分布をq分位数で分割する(qは正の整数)。すなわち上述したように,サンプル数列を構成する数値は分布関数図(
図10,
図11,
図12)上では横軸で大きさの順序に並んでいる(ソートされている)。この大きさの順序に並び換えられているサンプル数列の数値y
m を,等しい間隔(個数)でq個に分割する。最も小さい0から最も大きい1に向っていくとして,最初の1/q個の数値と2番目の1/q個の数値との区切りを第1分位点(a
1)とし,同じように,1/q個ずつ区切る点を第j分位点(a
j)とする(分位点算出手段)。a
0=0,a
q=1。また,このようにして区切られた区間に存在する数値の集まり(集合)を第0群,第1群,第2群,‥‥,第j群とする(各群に含まれる数値の数は零の場合もありうる)。群を表わす数字j(群に割り当てられた数値)は零(0)または正の整数,すなわち0,1,2,3,‥‥,(q−1)である。
【0080】
図3,ステップS14(分布一様化処理手段)の一様化処理は,まず,所与の分位数qを用いて,各分位点a
1 〜a
q-1を計算する。これは既存のパーセンタイル計算ソフトウェアを用いて行うことができる。分位数qは初期情報としてあらかじめ設定しておいてもよいし,ユーザに入力させてもよい。次に,記憶部14に記憶されているサンプル数列の数値(ソートされる前のもの)をその並びの順番に1つずつ取出して,区切り点(分位点)a
j と比較し,その数値がどの群に属するかを判定し,判定された群に割り当てられた数字jで置換する(置換手段)。この操作(処理)をサンプル数列に含まれるすべての数値についてその並びの順に繰返し,置換操作の順に並べておく。一様化処理された数列(これを一様化された擬似乱数列と呼ぶ)は,この段階では記憶部14に一時的に格納する。
【0081】
上記の置換処理を数式で表わすと次のようになる。
【0082】
a
j≦y
m<a
j+1 → r
m=j 式(10)
【0083】
ここでa
j はサンプル数列を大きさの順に等間隔(等個数)でq個に分割した分位点(区切り点)の数値(分位数)である。r
m は一様化された擬似乱数列に含まれる数値である。式(10)は,分位点a
jとa
j+1との間に存在するサンプル数列の数値y
mを,その群を表わす数字jで置きかえ,これを一様化数列の数値r
mとすることを表わす。y
mとr
mの順番を表わす添字mは同じである。分割数qは擬似乱数のサンプル数Mより小さいことが好ましいが,大きくてもよい。
【0084】
一例として,分りやすくするためにq=10の場合について具体例を挙げる。表2はサンプル数列の一例を示す。このサンプル数列は,初期条件として,カオスの式をタイプ1,カオスの式の初期値を 0.2,サンプリング関隔k=20,擬似乱数の桁数9として作成したものである。このサンプル数列の分布において,q=10として分位点を計算した結果が表3に示されている。サンプル数列の数M=5,000 。k=20であるから元のカオス数列の数は100,000である。
【0085】
【表2】
【0086】
【表3】
【0087】
サンプル数列の最初の数値0.585420539は,表3を参照してa
5 とa
6 の間にあるので,j=5であり,一様化された擬似乱数列の数値は5になる(5に置換される)。同様に2番目の数値0.14783656はa
2とa
3との間にあるのでj=2であり,2に置換される。このようにして,表2に示す一様化された擬似乱数列が生成される。この一様化された擬似乱数列の確率は1/qすなわち1/10=0.1である。
【0088】
(8) 一様分布の停止点の判定と評価
上記のようにして生成された一様分布をもつ擬似乱数においても,同じ値の数値が連続して出現するのは好ましくないので,そのチェックを行う。すなわち,
Δr
m=r
m+1−r
m 式(11)
を算出し,この算出したΔr
mが0かどうかを判断する(
図3,ステップS16)(停止点判定手段)。もしΔr
m=0であれば,同じ値のいずれか一方,たとえばr
m+1を削除する(ステップS17)。すべての一様分布擬似乱数列の数値についてステップS16,S17の処理が終れば(ステップS16でN),続いて擬似乱数列の性質(独立性)の検討の処理に進む。Δr
m=0のときに一様分布擬似乱数列の数値を削除しているが,削除する数値の数が極端に多くなければ(たとえば30%以下),特に問題としない。削除する数値の数が極端に多い場合には,初期入力情報を変更して,最初S2から処理をやり直す。
【0089】
擬似乱数の独立性の検討の処理(
図3,ステップS18〜S21)は,先に説明したサンプル数列についての独立性の検討(
図2,ステップS7〜S10)と同じである。すなわち,式(11)により得られる変化分Δr
m の正負を判定し,符号(+),(−)付けを行い(
図3,ステップS18),得られたΔr
m の符号の列において,順次隣接する2つの符号の組を4つの種類((+,+),(+,−),(−,+),(−,−))に分類し,それぞれの符号の組の個数を計算する(
図3,ステップS19)。
【0090】
式(9) で表わされる計算を行い,計算結果のχ
2 値を適当な棄却限界値で弁別して有意差の有無を判定する(
図3,ステップS20)。棄却限界値としては,たとえば有意水準1%のχ
2 値である6.635を用いる。
【0091】
計算したχ
2 の値が棄却限界値未満であれば有意差なしと判定し,生成された一様分布擬似乱数数列は乱数の独立性を満たすとする(
図3,ステップS21で合(合格))。そして,合格したこの擬似乱数列を記憶部14に格納する(
図6参照)(ステップS22)(格納手段)。計算したχ
2 の値が棄却限界値以上の場合には,有意差有と判定し,乱数の独立性を満たさないとする(
図3,ステップS21で不(不合格))。
【0092】
図3,ステップS21で不合格の場合には,一例として初期入力情報を変更する(
図2,ステップS6)。たとえば,サンプリング間隔kの値に1を加えた値(k+1)を新たなサンプリング間隔とする。カオスの式の初期値を変更してもよい。これらの初期情報の変更は,コンピュータが自動的に行い,その結果を表示しても,統計検定に不合格の旨を表示し,ユーザに初期入力情報を変更させてもよい。いずれにしても,初期情報の変更ののち,ステップS2に戻り,ステップS2からの処理を繰返すことになる。もっとも,不合格の旨を表示部15に表示して,すべての処理を終了してもよい。
【0093】
図2,ステップS11,S12に相当する一様分布擬似乱数についての散布図の作成,表示,チェック結果の入力等は行っても,行なわなくてもよい。
【0094】
表4はサンプル数列から一様分布への変換において,一様分布に変換された数列の
図3,ステップS19で計数した符号組の数((個数)と(出現数)と割合(合計数に対する%に相当))を示している。10分割,100分割,1000分割,10000分割はそれぞれq=10,q=100,q=1000,q=10000の場合を示している。このデータを得るのに用いたサンプル数列は,初期条件として,カオスの式はタイプ1,カオスの式の初期値は0.200 ,擬似乱数の桁数は9,サンプリング関数k=20である。符号組の総数(合計)はいずれも5,000 である。
【0095】
【表4】
【0096】
表4において,符号組における(+)は上記のように乱数列において相前後する数値の差分(変化分)が正(増加),(−)は負(減少)であり,(0)は変化分が零を意味する(相前後する数値が同じ値)。(0)を含む符号組(0+),(0−),(+0),(−0),(00)は同じ値が連続して出現していることを示している。(0)を含む符号組が多いと乱数列の確率条件を満たさなくなる。たとえば10分割では(0)を含む符号組の合計は20.8%, 100分割では2.08%である。好ましくは,(0)を含む符号組の割合は1%以下である。
【0097】
一様分布への変換が1000分割,10000分割の表の値については,
図3,ステップS20の統計検定で合格(ステップS21で合格)となっており,乱数列の確率条件(1/6,1/3,1/3,1/6)を満たしていると考えられる。なお分割数qはサンプル数 5,000以上でもよい。
【0098】
(9) 所望桁の擬似乱数列の作成
図3,ステップS13で記憶部14に格納したU字型分布のサンプル数列,ステップS22で格納した一様分布の擬似乱数列,または任意の擬似乱数列(記憶部14に格納されているものとする)(格納手段)を用いて,所望桁の擬似乱数列を作成することができる(ステップS23)。
【0099】
一例として,既に作成したサンプル数列,擬似乱数列または任意の擬似乱数列(以下,これらをまとめて「擬似乱数列」という)が4桁の数値の列であるとする。なお,作成した擬似乱数列が小数点以下の値の場合には,これに 10000を乗ずれば4桁の数値が得られる。
【0100】
図13は,4桁よりも桁数の少ない乱数を作成するやり方の例を示し,具体的には(a) は1桁の,(b)は2桁の,(c)は3桁の乱数の作り方を示している。
【0101】
図13(a) において,4桁の乱数の第1位の桁の数字のみ(ハッチングで示す)を抽出すれば1桁の乱数が得られる。たとえば,4桁の乱数を7824とすると,最上位桁の7を抜きとれば,1桁の乱数が得られる。抽出するのは任意の桁でよい。
【0102】
図13(b) において,4桁の乱数の上位第1,第2位の桁の数字(ハッチングで示す)を抜きとれば2桁の乱数が得られる。たとえば7824の上位2桁をとれば,78という2桁の乱数が得られる。
【0103】
図13(c) において,4桁の乱数の上位1,2,3桁の数字(ハッチングで示す)を抜きとれば,3桁の乱数が得られる。たとえば7824から 782という3桁の乱数がえられる。
【0104】
図14はより多くの桁の乱数の作成を示している。4桁の3つの乱数列が記憶部に格納されているものとする。
【0105】
図14(a) において,4桁の2つの乱数列からそれぞれ取出した数値u1,u2を用いて,u1を上位4桁とし,u2を下位4桁とすれば(配置手段),8桁の乱数ができる。u1,u2のいずれかに代え,他の4桁の乱数列の数値u3を組合せてもよい。
【0106】
図14(b) において,u1を上位4桁,u2を中間4桁,u3を下位4桁として並べれば(配置手段),合計12桁の乱数ができる。
【0107】
図14(c) において,u1の4桁,u2の4桁,u3のうちの上位2桁を,新たに作成しようとする乱数の上位4桁,中位4桁,下位2桁(ハッチングで示す)に配置(配置手段)すれば,合計10桁の乱数ができ上る。
【0108】
このようにして,複数の乱数列を用いて,各乱数列から乱数の値を取り出して,一般的には順番に取り出して,配置すれば任意の桁の乱数の作成が可能になる。もっとも各乱数列からの数値(乱数)の取出し方は,一度取出した数値を再び取り出さなければ(同じ数値を重複して使わなければ)任意でもよい。というのは,各乱数列を構成する数値はそれぞれ独立事象であるからである。
【0109】
このようにして作成された所望桁の乱数を配列して形成される乱数列は記憶部14に格納される(
図5参照)。
【0110】
(10)他の実施例
図2,
図3に示す処理は,一連の流れとして示されているが,これらを機能的にいくつかのルーチンに分け,各ルーチンごとのプログラム(手段)として,必要に応じて必要なルーチンを呼び出して(起動し)実行させるようにしてもよい。たとえば,サンプル数列の生成処理プログラム(手段)(ステップS1〜S3),停止点の判定処理プログラム(手段)(ステップS4,S5,またはステップS15,S16)(これに初期情報変更処理(ステップS6)やr
m+1の削除(ステップS17)を加えてもよい),初期情報変更処理プログラム(手段)(ステップS6),乱数の独立性の検討(検査,評価)処理プログラム(手段)(ステップS7〜S10,またはステップS18からS21),複雑性の検討(評価)処理プログラム(手段)または散布図の作成,表示,処理(プログラム)(手段)(ステップS11,S12),所望桁の擬似乱数列は作成処理プログラム(手段)(ステップS23),これらの各処理プログラム(手段)の任意の組合せの処理プログラム(手段)などである。
【符号の説明】
【0111】
10 擬似乱数生成装置
11 演算部
12 入力部
13 出力部
14 記憶部
15 表示部
【手続補正書】
【提出日】2020年9月1日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成するカオス数列生成手段,
前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成するサンプル数列生成手段,
前記サンプル数列生成手段によって生成されたサンプル数列を格納する格納手段,および
前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の増加と減少の変化態様の出現数を調べ,その変化態様の種類ごとの出現数が統計的許容範囲内にあるかどうかを検査する独立性検査手段,
を備える擬似乱数生成装置。
【請求項2】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成するカオス数列生成手段,
前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成するサンプル数列生成手段,
前記サンプル数列生成手段によって生成されたサンプル数列を格納する格納手段,
前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差を算出する差算出手段,および
前記差算出手段によって算出される差の数列において前後する1組の差の一方をX軸にとり,他方をY軸にとった散布図を作成する散布図作成手段,
を備える擬似乱数生成装置。
【請求項3】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成するカオス数列生成手段,
前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成するサンプル数列生成手段,
前記サンプル数列生成手段によって生成されたサンプル数列を格納する格納手段,ならびに分布一様化処理手段を備え,
前記分布一様化処理手段が,
前記サンプル数列生成手段によって生成されるサンプル数列によって表わされる分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算する分位点算出手段,および
前記サンプル数列を形成する各数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換する置換手段を含む,擬似数列生成装置。
【請求項4】
前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差が零であるかどうかをチェックする停止点判定手段,をさらに備える請求項1から3のいずれか一項に記載の擬似乱数生成装置。
【請求項5】
前記独立性検査手段が,
前記サンプル数列生成手段によって生成されるサンプル数列において,前後する数値を比較し,増加(+)か減少(−)かの符号付けを行う符号付け手段,
前記符号付け手段によって形成された符号の列において前後する符号の変化態様(+,+),(+,−),(−,+),(−,−)の出現数をそれぞれ計数する出現数計数手段,および
前記出現数計数手段によって計数された変化の態様ごとの出現数が統計的許容範囲内で独立性の確率条件に合うかどうかを検査する検査手段,
を備える,請求項1に記載の擬似乱数生成装置。
【請求項6】
カオス数列生成手段が,ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
サンプル数列生成手段が,前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
前記サンプル数列生成手段によって生成されたサンプル数列を格納手段に格納し,さらに
独立性検査手段が,前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の増加と減少の変化態様の出現数を調べ,その変化態様の種類ごとの出現数が統計的許容範囲内にあるかどうかを検査する独立性検査を行なう,
擬似乱数生成方法。
【請求項7】
カオス数列生成手段が,ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
サンプル数列生成手段が,前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
前記サンプル数列生成手段によって生成されたサンプル数列を格納手段に格納し,さらに
差算出手段が,前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差を算出し,そして
散布図作成手段が,前記差算出手段によって算出される差の数列において前後する1組の差の一方をX軸にとり,他方をY軸にとった散布図を作成する,
擬似乱数生成方法。
【請求項8】
カオス数列生成手段が,ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
サンプル数列生成手段が,前記カオス数列生成手段によって生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
前記サンプル数列生成手段によって生成されたサンプル数列を格納手段に格納し,さらに
分布一様化処理にあたって,
分位点算出手段が,前記生成されたサンプル数列によって表わされる分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算し,そして
置換手段が,前記サンプル数列を形成する各数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換する,
擬似乱数生成方法。
【請求項9】
停止点判定手段が前記サンプル数列生成手段によって生成されるサンプル数列において前後する数値の差が零であるかどうかをチェックする,請求項6から8のいずれか一項に記載の擬似乱数生成方法。
【請求項10】
前記独立性検査において,
符号付け手段が,前記サンプル数列において,前後する数値を比較し,増加(+)か減少(−)かの符号付けを行い,
出現数計数手段が,前記符号付け手段によって形成された符号の列において前後する符号の変化態様(+,+),(+,−),(−,+),(−,−)の出現数をそれぞれ計数し,そして
検査手段が,出現数計数手段によって計数された変化の態様ごとの出現数が統計的許容範囲内で独立性の確率条件に合うかどうかを検査する,
請求項6に記載の擬似乱数生成方法。
【請求項11】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
生成されたサンプル数列を格納するようにコンピュータを制御し,さらに
生成されたサンプル数列において前後する数値の増加と減少の変化態様の出現数を調べ,その変化態様の種類ごとの出現数が統計的許容範囲内にあるかどうかを検査する独立性検査処理を行うようにコンピュータを制御する,
擬似乱数生成プログラム。
【請求項12】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
生成されたサンプル数列を格納するようにコンピュータを制御し,さらに
前記生成されるサンプル数列において前後する数値の差を算出し,そして
算出される差の数列において前後する1組の差の一方をX軸にとり,他方をY軸にとった散布図を作成するようにコンピュータを制御する,
擬似乱数生成プログラム。
【請求項13】
ロジスティックカオス方程式に所与のパラメータを与えてカオス数列を生成し,
生成されたカオス数列から所与の間隔でサンプリングしてサンプル数列を生成し,そして
生成されたサンプル数列を格納するようにコンピュータを制御し,さらに
分布一様化処理において,
前記生成されたサンプル数列によって表わされる分布関数において,変換後の一様分布の確率の逆数を示す正の整数をqとして,第0分位点から第q分位点までを計算し,そして
前記サンプル数列を形成する数値がどの分位点間に存在するかを調べ,該数値を,前記の調べることによって判明した分位点間を表わす数値で置換するようコンピュータを制御する,
擬似乱数生成プログラム。
【請求項14】
前記生成されるサンプル数列において前後する数値の差が零であるかどうかをチェックするようにコンピュータを制御する,
請求項11から13のいずれか一項に記載の擬似乱数生成プログラム。
【請求項15】
前記独立性検査処理において,
前記サンプル数列において,前後する数値を比較し,増加(+)か減少(−)かの符号付けを行い,
前記符号付けによって形成された符号の列において前後する符号の変化態様(+,+),(+,−),(−,+),(−,−)の出現数をそれぞれ計数し,そして
前記計数された変化の態様ごとの出現数が統計的許容範囲内で独立性の確率条件に合うかどうかを検査するようにコンピュータを制御する,
請求項11に記載の擬似乱数生成プログラム。
【請求項16】
請求項11から15のいずれか一項に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。