(57)【要約】【課題】簡単な構成で一様な分布を持つ物理乱数を生成する。【解決手段】Ｉ−Ｖ変換回路を含み、ロジスティック写像演算を行う写像演算回路１０と、前記写像演算回路１０の出力を１から引き算する引き算回路２０と、前記引き算回路２０の出力を前記写像演算回路１０の入力端にフィードバックするフィードバック経路と、前記写像演算回路の出力をディジタル変換して乱数を得る乱数取出部３０とを具備する。【選択図】図１
2019168963.tif 000002
【特許請求の範囲】
【請求項１】
Ｉ−Ｖ変換回路を含み、ロジスティック写像演算を行う写像演算回路と、
前記写像演算回路の出力を１から引き算する引き算回路と、
前記引き算回路の出力を前記写像演算回路の入力端にフィードバックするフィードバック経路と
前記写像演算回路の出力をディジタル変換して乱数を得る乱数取出部と
を具備することを特徴とする乱数生成装置。
【請求項２】
前記写像演算回路には、前記Ｉ−Ｖ変換回路の出力側に接続された反転増幅回路が備えられていることを特徴とする請求項１に記載の乱数生成装置。
【請求項３】
前記写像演算回路の出力側と前記引き算回路の入力側には、第１のサンプルホールド回路が設けられ、
前記フィードバック経路には、第２のサンプルホールド回路が設けられ、
ていることを特徴とする請求項１または２に記載の乱数生成装置。
【請求項４】
前記写像演算回路の出力端子と前記第１のサンプルホールド回路の入力端子との間には第１のスイッチが設けられ、
前記第１のサンプルホールド回路の出力端子と前記第２のサンプルホールド回路の入力端子との間には第２のスイッチが設けられ、
前記引き算回路の出力端子と前記第２のサンプルホールド回路の入力端子との間には第３のスイッチが設けられ、
前記第２のサンプルホールド回路の出力端子と前記写像演算回路の入力端子との間には第４のスイッチが設けられ、
前記第１〜第４のスイッチのオンオフを制御するタイミング制御回路
を具備することを特徴とする請求項３に記載の乱数生成装置。
【請求項５】
前記乱数取出部は、前記写像演算回路の出力を閾値と比較して０または１に変換するコンパレータを備えることを特徴とする請求項１乃至４のいずれか１項に記載の乱数生成装置。
【請求項６】
前記乱数取出部には、前記写像演算回路の出力をＡＤ変換してディジタルの乱数データを得ることを特徴とする請求項１乃至５のいずれか１項に記載の乱数生成装置。
【請求項７】
前記写像演算回路の入力側に接続され、初期値を入力する初期値入力部が備えられていることを特徴とする請求項１乃至６のいずれか１項に記載の乱数生成装置。
【請求項８】
前記初期値入力部は、無理数を初期値として出力することを特徴とする請求項７に記載の乱数生成装置。
【請求項９】
前記乱数取出部には、前記写像演算回路の出力を閾値０．５と比較して０または１に変換するコンパレータと、前記写像演算回路によりＮ回繰り返される演算毎に、前記コンパレータから得られるディジタル値を並べて得られるＮビットのグレイコードを得て、乱数とするグレイコード処理部とが備えられ、
前記Ｎ回の写像を遡って得られる初期値の区分数２Nに属するいずれかの値を初期値として用いることを特徴とする請求項１乃至４のいずれか１項に記載の乱数生成装置。
【請求項１０】
前記Ｉ−Ｖ変換回路の入力側には、入力側にソースとなるように配置されたＮＭＯＳトランジスタが接続され、そのゲート・ソース電圧を初期値から所要時に低下させて与えるゲート・ソース電圧制御回路が備えられていることを特徴とする請求項１乃至９のいずれか１項に記載の乱数生成装置。
【請求項１１】
前記第１のサンプルホールド回路における所定回目のサンプリングの際に、前記ＮＭＯＳトランジスタのゲート・ソース電圧をアンダーシュートさせてサンプリングを行うサンプリング電圧制御部が備えられていることを特徴とする請求項１０に記載の乱数生成装置。
【請求項１２】
前記乱数取出部には、ＡＤ変換して得た複数ビットの所定位置を乱数として選択するビット選択回路を備えることを特徴とする請求項６に記載の乱数生成装置。
【請求項１３】
ビット選択回路は、写像回に応じて所定位置を選択することを特徴とする請求項１２に記載の乱数生成装置。
【請求項１４】
前記乱数取出部には、前記写像演算回路の出力中から、所定の回の出力を選択して乱数とする写像演算回選択部が備えられていることを特徴とする請求項１乃至１３のいずれか１項に記載の乱数生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、乱数生成装置に関するものである。
【背景技術】
【０００２】
従来、ロジスティック写像は、カオス的性質があり初期鋭敏性により予測不可能な系が生成されるため乱数生成用途として利用されている。例えば、非特許文献１には、ロジスティック写像を倍精度演算（Ｃ言語のdouble型で有効桁数は２進数にして 53 [bit]桁）で実装し、写像の度にXiから下位１ビットずつ抽出し連続して乱数列として取得しNIST乱数検定を行った結果、判定は不合格となることの報告がなされている。この非特許文献１では、乱数性が悪くなる原因として有限演算精度で実装する場合は有効桁に比べてかなり短い周期に落ちることで良質な乱数が得られないことが示されており、解決策としてコントロールパラメータを変動する手法が提案されている。
【０００３】
また特許文献１には、ロジスティック写像をディジタル演算で実装すると有限演算精度による丸め誤差により桁数の割に短い周期に落ちることで良質な乱数が得られないことが示されており、ディジタル実装では根本的に短い周期に落ちない機構を取り入れて周期長を伸ばす工夫が必要であることが示されている。
【０００４】
上記のように一次元写像を用いた乱数生成は理論的にカオス体であってもコンピュータによる有限演算精度実装では周期帯に落ちることで乱数性能が悪くなることから、乱数生成用途では理想的に無限演算精度実装が望ましいものである。このため、アナログ演算器で実装することで自然で良質な物理乱数が得られることが期待できる。
【０００５】
また、特許文献２には、有限演算精度にて実装し周期を伸ばす仕組みを入れる対策が施されたカオス的乱数列の発生装置が開示されており、係る乱数発生装置では周期の問題を避けることが必要不可欠といえる。なお、疑似乱数列は周期が確定的であるため厳密にいうと乱数とは言えない。
【０００６】
更に、特許文献３には、非線形なＩ（電流）−Ｖ（電圧）特性を生成する回路が示されている。この発明では、ピュアカオスとなるロジスティック写像と同等なＩ−Ｖ特性を得ることは目的ではなく、ロジスティック写像による一様な乱数列生成手法ではない。このため良質な乱数を得るためにＩ−Ｖ特性やＡＤ変換方法として適切なものを求めておく必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−０８１２７４号公報
【特許文献２】特開平０９−２９２９７８号公報
【特許文献３】特開２００４−３１２４２４号公報
【非特許文献】
【０００８】
【非特許文献１】岩野隆,金田学,奥富秀俊，"ロジスティック写像を用いた乱数抽出について," ２００６年暗号と情報セキュリティシンポジウム予稿集SCIS2006 1E2-5, January 2006
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は上記のような乱数生成分野における現状に鑑みてなされたもので、その目的は、簡単な構成で一様な分布を持つ物理乱数を生成することが可能な乱数生成装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明に係る乱数生成装置は、Ｉ−Ｖ変換回路を含み、ロジスティック写像演算を行う写像演算回路と、前記写像演算回路の出力を１から引き算する引き算回路と、前記引き算回路の出力を前記写像演算回路の入力端にフィードバックするフィードバック経路と前記写像演算回路の出力をディジタル変換して乱数を得る乱数取出部とを具備することを特徴とする。
【００１１】
本発明に係る乱数生成装置では、前記写像演算回路には、前記Ｉ−Ｖ変換回路の出力側に接続された反転増幅回路が備えられていることを特徴とする。
【００１２】
本発明に係る乱数生成装置では、前記写像演算回路の出力側と前記引き算回路の入力側には、第１のサンプルホールド回路が設けられ、前記フィードバック経路には、第２のサンプルホールド回路が設けられていることを特徴とする。
【００１３】
本発明に係る乱数生成装置では、前記写像演算回路の出力端子と前記第１のサンプルホールド回路の入力端子との間には第１のスイッチが設けられ、前記第１のサンプルホールド回路の出力端子と前記第２のサンプルホールド回路の入力端子との間には第２のスイッチが設けられ、前記引き算回路の出力端子と前記第２のサンプルホールド回路の入力端子との間には第３のスイッチが設けられ、前記第２のサンプルホールド回路の出力端子と前記写像演算回路の入力端子との間には第４のスイッチが設けられ、前記第１〜第４のスイッチのオンオフを制御するタイミング制御回路を具備することを特徴とする。
【００１４】
本発明に係る乱数生成装置では、前記乱数取出部は、前記写像演算回路の出力を閾値と比較して０または１に変換するコンパレータを備えることを特徴とする。
【００１５】
本発明に係る乱数生成装置では、前記乱数取出部には、前記写像演算回路の出力をＡＤ変換してディジタルの乱数データを得ることを特徴とする。
【００１６】
本発明に係る乱数生成装置では、前記写像演算回路の入力側に接続され、初期値を入力する初期値入力部が備えられていることを特徴とする。
【００１７】
本発明に係る乱数生成装置では、前記初期値入力部は、無理数を初期値として出力することを特徴とする。
【００１８】
本発明に係る乱数生成装置では、前記乱数取出部には、前記写像演算回路の出力を閾値０．５と比較して０または１に変換するコンパレータと、前記写像演算回路によりＮ回繰り返される演算毎に、前記コンパレータから得られるディジタル値を並べて得られるＮビットのグレイコードを得て、乱数とするグレイコード処理部とが備えられ、前記Ｎ回の写像を遡って得られる初期値の区分数２Nに属するいずれかの値を初期値として用いることを特徴とする。
【００１９】
本発明に係る乱数生成装置では、前記Ｉ−Ｖ変換回路の入力側には、入力側にソースとなるように配置されたＮＭＯＳトランジスタが接続され、そのゲート・ソース電圧を初期値から所要時に低下させて与えるゲート・ソース電圧制御回路が備えられていることを特徴とする。
【００２０】
本発明に係る乱数生成装置では、前記第１のサンプルホールド回路における所定回目のサンプリングの際に、前記ＮＭＯＳトランジスタのゲート・ソース電圧をアンダーシュートさせてサンプリングを行うサンプリング電圧制御部が備えられていることを特徴とする。
【００２１】
本発明に係る乱数生成装置では、前記乱数取出部には、ＡＤ変換して得た複数ビットの所定位置を乱数として選択するビット選択回路を備えることを特徴とする。
【００２２】
本発明に係る乱数生成装置では、ビット選択回路は、写像回に応じて所定位置を選択することを特徴とする。
【００２３】
本発明に係る乱数生成装置では、前記乱数取出部には、前記写像演算回路の出力中から、所定の回の出力を選択して乱数とする写像演算回選択部が備えられていることを特徴とする。
【発明の効果】
【００２４】
本発明の乱数生成装置によれば、簡単な構成で一様な分布を持つ物理乱数を生成することが可能である。
【図面の簡単な説明】
【００２５】
【図１】本発明に係る乱数生成装置の実施形態の構成を示すブロック図。
【図２】本発明に係る乱数生成装置の実施形態が採用するロジスティック写像の写像マップの図。
【図３】本発明に係る乱数生成装置の実施形態が採用するロジスティック写像の時系列を示す図。
【図４】本発明に係る乱数生成装置の実施形態が採用するＮＭＯＳトランジスタのパラメータを示す図。
【図５】本発明に係る乱数生成装置の実施形態が採用するＮＭＯＳトランジスタ単体の線形領域の電流−電圧特性を示す図。
【図６】本発明に係る乱数生成装置の実施形態が採用するＩ−Ｖ変換回路の回路図。
【図７】図６に示したＩ−Ｖ変換回路の電圧Ｖｏｕｔ‐電圧Ｖｄｓ特性を示す図。
【図８】本発明に係る乱数生成装置の実施形態が採用する引き算回路の回路図と、そのＶｉｎを変化させたＤＣ解析結果を示す図。
【図９】本発明に係る乱数生成装置の実施形態の回路動作を示す波形図。
【図１０】テント写像マップと１６等分した図１１のテント写像の初期値Ｘ0区間を示す図。
【図１１】テント写像とロジスティック写像の初期値Ｘ0区間と、各区間に対応して生成する４ビットのグレイコードとバイナリコードを示す図。
【図１２】４ビットのグレイコードをバイナリコードに変換する論理回路を示す図。
【図１３】テント写像の初期値Ｘ0区間を均等に１６等分した区間内において、ロジスティック写像の写像演算を１０万回反復を行い、各写像結果が取った値が属する区間を、区間毎にカウントアップして数えたヒストグラムの図。
【図１４】ロジスティック写像の４回の写像により生成されるビット列と写像の関係を示す図。
【図１５】テント写像の初期値Ｘ0区間を所定の区分法により１６分割した区間内において、ロジスティック写像の写像演算を１０万回反復を行い、各写像結果が取った値が属する区間を、区間毎にカウントアップして数えたヒストグラムの図。
【図１６】本発明の実施形態において、初期値Ｘ0の区間の境界を与える漸化式により境界値を計算した結果を示す図。
【図１７】図１１の区間に対するロジスティック写像の初期値Ｘ0のマップ図を示す図。
【図１８】テント写像とロジスティック写像の位相共役を示す図。
【図１９】テント写像とロジスティック写像によるビット列取得を示す図。
【図２０】Ｖｇｓを０．５と０．４９としたＩ−Ｖ特性を示す図。
【発明を実施するための形態】
【００２６】
以下添付図面を参照して本発明に係る乱数生成装置の実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。実施形態に係る乱数生成装置は、図１の如く構成され、ロジスティック写像の反復演算を行うアナログ演算回路である写像演算回路１０を備える。この写像演算回路１０ではＮＭＯＳトランジスタの非飽和領域（三極間領域）の電流-電圧特性を定義する方程式に着目し、回路パラメータを選定することでロジスティック写像の式と特性が同等になる電流-電圧曲線を得る。電流に対してオペアンプによる電流−電圧変換を行うことでロジスティック写像の演算をアナログ演算回路で行う機構を実現し、入力電圧に対して演算結果を電圧値として出力させ、再びそれを入力電圧としてフィードバックしロジスティック写像の反復演算を行っている。乱数列生成は、写像演算回路の出力をディジタル変換して乱数を得る乱数取出部３０により実現され、例えば、写像の度にＡＤ変換器により乱数値を抽出し連続して得る構成を採用することができる。
【００２７】
ロジスティック写像をアナログ演算で行うことにより、ディジタル演算のようには周期性の陥ることが無い良質な物理乱数を得られることができる。装置をチップ化することが可能であり、チップ毎の製造バラツキが見込めるため初期鋭敏性を持つカオスの性質からチップ毎に異なる再現性の無い乱数パターンが得られることが期待できる。このため特に、情報セキュリティ分野における発生系列が解析されない乱数種の生成に好適な装置となることが期待される。
【００２８】
更に、ロジスティック写像は反復演算を繰り返していくことで、演算出力される数値の頻度に偏りが出る傾向（不変測度）を持つため、反復演算の繰り返しに拘わらず、乱数として一様な分布が得られる手法や初期値Ｘ0を選択する際に好適な構成についても言及する。
【００２９】
実施形態に係る乱数生成装置には、引き算回路２０が備えられている。この引き算回路２０は、上記写像演算回路１０の出力を１から引き算する。引き算回路２０の出力は、フィードバック経路を介して写像演算回路１０の入力端子へ与えられる。
【００３０】
上記写像演算回路１０の出力側と上記引き算回路２０の入力側には、第１のサンプルホールド回路４１が設けられ、上記フィードバック経路には、第２のサンプルホールド回路４２が設けられている。
【００３１】
上記写像演算回路１０の出力端子と上記第１のサンプルホールド回路４１の入力端子との間には第１のスイッチＳＷ１が設けられている。上記第１のサンプルホールド回路４１の出力端子と上記第２のサンプルホールド回路４２の入力端子との間には第２のスイッチＳＷ２が設けられている。上記引き算回路２０の出力端子と上記第２のサンプルホールド回路４２の入力端子との間には第３のスイッチＳＷ３が設けられている。上記第２のサンプルホールド回路４２の出力端子と上記写像演算回路１０の入力端子との間には第４のスイッチＳＷ４が設けられている。
【００３２】
上記写像演算回路１０の入力側には、初期値を入力する初期値入力部５０が備えられている。上記写像演算回路１０の入力と初期値入力部５０の間には、第０のスイッチＳＷ０が設けられている。これら第０〜第４のスイッチＳＷ０〜ＳＷ４のオンオフを制御するために、タイミング制御回路５１が備えられている。タイミング制御回路５１は、スイッチ以外に乱数取出部３０と、乱数取出部３０の出力側に設けられている出力バッファ３１に対し、動作タイミングを制御する信号を与える。
【００３３】
スイッチＳＷ２、ＳＷ３を制御するために、スイッチ制御回路５２が備えられている。スイッチ制御回路５２は、コンパレータ５３と、コンパレータ５３の出力を反転するインバータと、２つのアンド回路ＡＮＤ１、ＡＮＤ２とを有している。コンパレータ５３は、サンプルホールド回路４１に保持されている写像演算回路１０の出力と、０．５Ｖとを比較して、サンプルホールド回路４１の保持値が０．５Ｖを超えると１を出力し、上記保持値が０．５Ｖ以下であると０を出力する。
【００３４】
アンド回路ＡＮＤ１は、コンパレータ５３の出力とタイミング制御回路５１からのスイッチＳＷ２、ＳＷ３に対する制御信号ＳＷ２ｏｒ３との論理積演算を行ってスイッチＳＷ３を開閉する信号を作り出す。アンド回路ＡＮＤ２は、コンパレータ５３の出力を反転した信号とタイミング制御回路５１からのスイッチＳＷ２、ＳＷ３に対する制御信号ＳＷ２ｏｒ３との論理積演算を行ってスイッチＳＷ２を開閉する信号を作り出す。
【００３５】
次に、本実施形態において用いているロジスティック写像について説明する。
ロジスティック写像は以下の式（１）で定義される。
【数１】
2019168963.tif 000003
【００３６】
ロジスティック写像のマップを図２に示し、式（１）による横軸をｉ、縦軸をＸiとした時系列を図３に示す。図３の時系列では初期値Ｘ0＝０．３を設定し、式（１）の写像遷移は、Ｘ1＝４ｘ０．３（１−０．３）＝０．８４であり、この結果のＸ1＝０．８４が反復入力され、Ｘ2＝４ｘ０．８４（１−０．８４）＝０．５３７６を得る。このように出力値が入力値として反復され縦軸Ｘiが開区間（０，１）を遷移されて行く。本実施形態では、式（１）の演算を実行するアナログ演算回路を構成し、これを乱数生成装置として用いる。
【００３７】
本実施形態では、上記ロジスティック写像式（１）と等価なＩ−Ｖ変換回路が写像演算回路１０に設けられる。図５に示すＮＭＯＳトランジスタ単体の線形領域（非飽和領域または３極管領域）の電流−電圧特性に着目する。この領域の“Ｖｄｓ＜Ｖｇｓ−Ｖｔｈ”における電流値Ｉｄｓは、一般的に以下の式（２）で表されている。この領域を、以下においては、線形領域は“非飽和領域”と呼ぶこととする。この式(２)は、参考文献：「ＬＳＩ設計のためのＣＭＯＳアナログ回路入門（半導体シリーズ）、谷口研二（著）、ＣＱ出版」によるものである。
【数２】
2019168963.tif 000004
【００３８】
上記ＮＭＯＳトランジスタのパラメータを図４に示す。ここでは、図４に示されている通り、Ｗはチャネルの幅、Ｌはチャネルの長さ、μは半導体中の電子の移動度、ＣｏｘはＭＯＳキャパシタの単位面積当たりの容量である。Ｖｔｈは閾値電圧とよばれ、チャネルに電子が現れるのに必要なゲート電圧である。式（２）は、変数Ｖｄｓの２次方程式となっており、式（１）のロジスティック写像も２次関数となっている。この点に着目し式（２）のパラメータ群を、式（１）と等価となるようなものにする。
【００３９】
Ｖｔｈ＝０［Ｖ］となるＮＭＯＳトランジスタを選択し、Ｖｇｓ＝０．５［Ｖ］に固定する。なお、Ｖｔｈ＝０．７［Ｖ］のＮＭＯＳトランジスタの場合は、Ｖｇｓ＝１．２［Ｖ］に固定にして、Ｖｇｓ−Ｖｔｈ＝０．５［Ｖ］になるものでもよい。また、Ｗ＝１０［μｍ］、Ｌ＝１［μｍ］として、μＣｏｘ＝２０［μＡ／Ｖ2］（単位μ：マイクロ⇒１０-6）となるようなＮＭＯＳトランジスタを選択する。
【００４０】
ここで、Ｃｏｘについては、“Ｃｏｘ＝Ｅｏｘ×Ｅｏ／Ｔｏｘ”で与えられ、図４のパラメータ表から
シリコン酸化膜誘電率        Ｅｏｘ＝３．９
真空誘電率                  Ｅｏ＝８．８５×１０-12
ＭＯＳトランジスタ酸化膜厚  Ｔｏｘ
となり、半導体中の電子の移動度μ＝０．１４５としてＴｏｘを求めると、
μＣｏｘ＝μ×Ｅｏｘ×Ｅｏ／Ｔｏｘ
２０×１０-6＝０．１４５×３．９×８．８５×１０-12／Ｔｏｘから
Ｔｏｘ＝０．２５×１０-6
が得られるため、Ｔｏｘ＝０．２５［μｍ］（単位：マイクロメートル）となる酸化膜厚を有するＮＭＯＳトランジスタとなる。
【００４１】
図４に示したパラメータに、以上の数値を当て嵌めて、式（２）を書き直すと、以下のＩｄｓ−Ｖｄｓ特性の式（３）が得られる。
【００４２】
【数３】
2019168963.tif 000005
【００４３】
式（３）のＶｄｓを非飽和領域内（Ｖｄｓ＜Ｖｇｓ−Ｖｔｈ（＝０．５））において、
０［Ｖ］〜０．５［Ｖ］に振ったときのＩｄｓ（電流）−Ｖｄｓ（電圧）特性を図５に示す。図５では飽和領域（Ｖｄｓ＝Ｖｇｓ−Ｖｔｈ（＝０．５））に入るピンチオフ点での電流は、Ｉｄｓ＝２５［μＡ］となっている。
【００４４】
次にＶｄｓによって得られる電流Ｉｄｓを電圧に変換するオペアンプにより構成した図１の写像演算回路１０内の電流―電圧変換回路（Ｉ−Ｖ変換回路）を、図６に示す。図６の電流―電圧変換回路は、反転増幅器であり、電流Ｉに対して抵抗Ｒを乗算した反転出力電圧Ｖ＝−Ｉ×Ｒが得られる。反転出力された電圧は、図１及び図６に示すように、反転増幅回路へ入力されＶｏｕｔ＝−Ｖとして、写像演算回路１０の出力がプラス側の電圧となるように回路構成されている。
【００４５】
この電流―電圧変換回路に式（３）の電流Ｉｄｓを与え図６の抵抗素子は抵抗値Ｒ  ＝  ４０［ｋΩ］を設定することで式（３Ａ）となり、
【数４】
2019168963.tif 000006
【００４６】
上記式（３Ａ）を整理して、以下の式（４）の関係が得られる。
【数５】
2019168963.tif 000007
【００４７】
式（４）は、ロジスティック写像の式（１）のＸiをＶｄｓに見立てると、解としてＶｏｕｔが得られる数式となっている。式（４）の電圧Ｖｏｕｔ‐電圧Ｖｄｓ特性が図７に示す通りになる。図２のロジスティック写像マップの０．５以下（図２左側）と一致する曲線が、図７に示すように得られている。
【００４８】
式（４）の非飽和領域を満たす条件はＶｇｓ＞Ｖｄｓのピンチオフ点までであり、それ以上のＶｄｓは、飽和領域として異なる数式に変化する。このため、Ｖｄｓは０［Ｖ］から０．５［Ｖ］までの変動範囲が対象となり、上限はＶｄｓ＝０．５［Ｖ］，Ｖｏｕｔ＝１．０［Ｖ］となる。
【００４９】
図２のロジスティック写像マップの右側“Ｘi＞０．５”となる範囲の計算が必要になるが、Ｖｄｓ＞０．５のとき、“１−Ｖｄｓ”の演算を行った後、Ｖｏｕｔ＝４Ｖｄｓ（１−Ｖｄｓ）を行えば同等の解が得られる。例えばＶｄｓ＝０．７［Ｖ］のとき、Ｖｄｓ＝１−０．７＝０．３［Ｖ］を得てから、Ｖｏｕｔ＝４ｘ０．３ｘ（１−０．３）を行うことになるが、Ｖｄｓ＝０．７［Ｖ］を入力した場合には、Ｖｏｕｔ＝４ｘ０．７ｘ（１−０．７）となり、計算結果は同じになるからである。
【００５０】
“１−Ｖｄｓ”を行う２つのＰＭＯＳトランジスタ（閾値電圧Ｖｔｈ＝０［Ｖ］）からなる図１に示した引き算回路２０を図８に単独で示す。図８の右側は左側のＰＭＯＳトランジスタのＤＣ解析を行った結果である。この解析結果は、Ｖｉｎを０．０［Ｖ］〜１．０［Ｖ］まで変化させた場合のＶｏｕｔの電圧レベルを示したものである。“Ｖｄｓ／２（＝０．５［Ｖ］）≦Ｖｉｎ”範囲では、Ｖｏｕｔは０．５［Ｖ］を境にＶｉｎの電圧レベルに対してＶｄ＝１．０［Ｖ］から“Ｖｏｕｔ＝Ｖｄｓ−Ｖｉｎ（但しＶｄｓ／２≦Ｖｉｎ）”の引き算を行っている。このようにＶｉｎ＞０．５の場合は、０．５を境に折り返して入力電圧値をマッピングするように出力電圧を得るため、引き算を行う。
【００５１】
以上の通りの図１に示したアナログ演算回路により構成されるロジスティック写像を行う全体のアナログ演算回路が、本実施形態に係る乱数生成装置である。図１に示した乱数生成装置の回路動作を、図９の波形（横軸：時間‐縦軸：電圧）を参照しながら説明する。図１に示すように、アナログスイッチが“ＳＷ０，ＳＷ１，ＳＷ２，ＳＷ３，ＳＷ４”と５つ用意されており、これらは図９にスイッチ名称と基本的に同じ符号の制御信号“ＳＷ０，ＳＷ１，ＳＷ２ｏｒ３，ＳＷ４”が０［Ｖ］（Ｌｏｗ）のときに開放(オフ)状態、１［Ｖ］（Ｈｉｇｈ）のときに閉成(オン)状態となる。これらのアナログスイッチ “ＳＷ０，ＳＷ１，ＳＷ２，ＳＷ３，ＳＷ４”をタイミング制御回路５１からの制御信号でオンオフすることでロジスティック写像の演算が行われる。
【００５２】
始めに、スイッチＳＷ０は閉成状態とされ、初期値入力部５０から初期値Ｘ0の電圧（図１では例としてＸ0＝０．３［Ｖ］）が写像演算回路１０へ与えられ、写像演算回路１０によるロジスティック写像の結果、Ｘ1とされてＶｏｕｔ（＝０．８４［Ｖ］）が生成される。スイッチＳＷ１も始めは閉成状態にあり、第１のサンプルホールド回路４１に送出されＸ1として電圧レベルが保持される。
【００５３】
図９の波形は横軸が時間になっており、時間が３［μｓｅｃ］のとき、スイッチＳＷ０とスイッチＳＷ１の制御信号がＬｏｗ状態になることでこれらのスイッチＳＷ０、ＳＷ１は開放される。第１のサンプルホールド回路４１の入力側に設けられているスイッチＳＷ１が開放されるが、第１のサンプルホールド回路４１は電圧レベルを保持し続ける。このため、図９の最下位の波形“Ｘi+1”は図１の伝送線路Ｘi+1の電圧レベルを示しており、Ｘ1＝０．８４［Ｖ］として保持状態となっている。この間、他のスイッチＳＷ２，ＳＷ３，ＳＷ４への制御信号はＬｏｗレベルの状態で、スイッチＳＷ２，ＳＷ３，ＳＷ４は開放状態とされている。
【００５４】
次に時間が５［μｓｅｃ］のとき、図１のタイミング制御回路５１からの出力された図９の制御信号“ＳＷ２ｏｒ３”の波形は、Ｈｉｇｈ状態になっている。また、図１に示すコンパレータ５３は“Ｘi+1”のレベルが０．５［Ｖ］未満のときＬｏｗ状態（０）を出力し、０．５［Ｖ］以上のときはＨｉｇｈ状態（１）を出力する。５［μｓｅｃ］時点では“Ｘi+1”＝０．８４［Ｖ］となり、０．５［Ｖ］以上のためコンパレータ５３はＨｉｇｈ状態を出力している。アンド回路ＡＮＤ１には、コンパレータ５３の出力であるＨｉｇｈ状態の信号と、タイミング制御回路５１〜出力された制御信号“ＳＷ２ｏｒ３”がＨｉｇｈとされて与えられている。この結果、アンド回路ＡＮＤ１からは、論理積の結果としてＨｉｇｈが出力されるため、スイッチＳＷ３は閉成されることになる。このため図１の引き算回路２０からは、“１−０．８４＝０．１６［Ｖ］”が出力され、第２のサンプルホールド回路４２に次の入力電圧として上記電圧レベル“０．１６［Ｖ］”が保持される。
【００５５】
次に時間が８［μｓｅｃ］のとき、制御信号“ＳＷ２ｏｒ３”はＬｏｗ状態になることでアンド回路ＡＮＤ１とアンド回路ＡＮＤ２の出力はいずれもＬｏｗ状態になるため、スイッチＳＷ２、ＳＷ３は共に開放状態とされ第２のサンプルホールド回路４２は０．１６［Ｖ］を保持した状態となる。
【００５６】
時間が１０［μｓｅｃ］のとき、スイッチＳＷ４の制御信号とスイッチＳＷ１の制御信号が同時にＨｉｇｈになりスイッチＳＷ４、ＳＷ１が閉成され、第２のサンプルホールド回路４２のＸ1＝０．１６が写像演算回路１０へ送られて、ロジスティック写像が行われ、この演算結果としてＸ2＝０．５３７６が第１のサンプルホールド回路４１に保持される。
【００５７】
この間、スイッチＳＷ０の制御信号はＬｏｗ状態でスイッチＳＷ０は開放されており、初期値Ｘ0の取り込み以降は開放状態が継続される。また、スイッチＳＷ４は初期値Ｘ0の取り込みが行われないときに、繰り返し演算のためにフィードバック入力を行うためのもので、閉成状態になった以降は閉成状態が継続される。
【００５８】
次に時間が１３［μｓｅｃ］となると、再びスイッチＳＷ１の制御信号がＬｏｗ状態となり、第１のサンプルホールド回路４１には、“Ｘｉ＋１＝０．５３７６［Ｖ］”が保持される。０．５［Ｖ］以上のためコンパレータ５３はＨｉｇｈを出力する。
【００５９】
時間が１５［μｓｅｃ］となり、制御信号ＳＷ２ｏｒ３がＨｉｇｈとなると、アンド回路ＡＮＤ１がＨｉｇｈを出力するため、スイッチＳＷ３が閉成状態され、引き算回路２０による引き算の結果、０．４６２４［Ｖ］が第２のサンプルホールド回路４２に送出され保持される。
【００６０】
時間が１８［μｓｅｃ］のときに、スイッチＳＷ２、ＳＷ３の制御信号はＬｏｗになり、スイッチＳＷ２、ＳＷ３が開放状態とされる。電圧レベル（０．４６２４［Ｖ］）第２のサンプルホールド回路４２に保持されており、時間が２０［μｓｅｃ］のときにスイッチＳＷ１が閉成され、写像演算回路１０によるロジスティック写像の演算結果であるＸ3＝０．９９４３［Ｖ］が第１のサンプルホールド回路４１へ送出される。
【００６１】
以降も制御信号“ＳＷ２ｏｒ３”と制御信号“ＳＷ１”が交互に切り換ることでロジスティック写像のアナログ演算が反復されて行く。このため、乱数取出部３０へ送られる信号“Ｘｉ＋１”は、図９の最下行の波形に示すように制御信号“ＳＷ１”のＨｉｇｈエッジに同期して変動される。
【００６２】
信号“Ｘｉ＋１”の電圧レベルは、図１の乱数取出部（ＡＤ変換回路等を含む）３０へ送られ、ディジタル化され、ディジタル化された値はタイミング制御回路５１により任意ビットを出力するように制御されて出力バッファ３１に取り込まれ、乱数として出力されて行く。
【００６３】
図１１に示すように、“テント写像の初期値Ｘ0区間”列の区間［０，１］を均等に１６等分した各番号「丸１」〜「丸１６」の区間内において、ロジスティック写像の式（１）に従って、初期値Ｘ0＝０．３として１０万回反復を行い、Ｘi（Ｘ0〜Ｘ99999）の各Ｘiが取った値が属する区間を、区間毎にカウントアップして数えたヒストグラムを作成した。このヒストグラムを図１３に示す。ヒストグラムの度数を見ると分るように、写像を反復し続けるとＸiは０側と１側に近い区間「丸１」と「丸１６」の区間を取る割合が大きいこと（不変測度）が確認できる。このため、乱数を取得する際、図１の全体回路構成に示す乱数取出部３０に用いられるＡＤ変換回路の分解能の閾値が等間隔である場合は、写像の反復を積み重ねることでＸiの頻度に偏りが生じる。
【００６４】
図１１に示すように、例えば分解能が４ビットの場合において、下位２ビットを乱数値として抽出するようにしたときを考える。係る場合には、図１１のバイナリコードに示すようにＸiが「丸１」の区間を取った場合、ＡＤ変換後は“００００”が取得され下位２ビットは“００００”のビット列から“００”が取得される。また、Ｘiが「丸１６」の区間を取った場合、ＡＤ変換後は“１１１１”が取得され下位２ビットは“１１１１”のビット列から“１１”が取得される。このため、他の“０１”と“１０”よりも“００”と“１１”を採る確率が高くなるため偏りが生じ、乱数性能として一様性の面では悪化する懸念がある。
【００６５】
ここで、初期値Ｘ0の区間［０，１］を１６等分に振り分けたテント写像について考えてみる。図１０にテント写像のマップを示し、テント写像初期値Ｘ0の区間を「丸１」〜「丸１６」に均等にすると、各区間の範囲を示す数値は図１１ に示すようになる。特開２０１７‐１５８００３号公報には、以下の式（５）に示すテント写像の反復を行い、更に、特開２０１６−０３９４１８号公報に示す テント写像型のＡＤ変換回路を用いて、Ｘi＜０．５のとき、ビット０を取得し、０．５≦Ｘiのとき、ビット１を取得し、連続して得られたグレイコードを逆にたどることでＤ／Ａ変換を行う旨が示されている。
【数６】
2019168963.tif 000008
【００６６】
そこで、ロジスティック写像を用いて写像の度にＸi＜０．５のとき、ビット０を取得し、０．５≦Ｘiのとき、ビット１を取得し、連続してビット列を得て、そのビット列を遡って初期値Ｘ0の区間を求めることを考える。例として、図１４に示すように得られたビット列が“００１０”であるとする。
【００６７】
まず、１番最後のビットは、“０”であるため、Ｘ3は必ず区間“０≦Ｘ3＜０．５”の値であることがわかる。次に、“Ｘ3＝４Ｘ2（１−Ｘ2）”の式は２次方程式“４Ｘ22−４Ｘ2＋Ｘ3＝０”に変形され、下限Ｘ3＝０を当てはめると、Ｘ2＝１もしくはＸ2＝−１が得られる。ここでは、“Ｘi＞０”であるため、“Ｘ2＝１”であることがわかる。上限Ｘ3＝０．５を当てはめると“４Ｘ22−４Ｘ2＋０．５＝０”となり、２次方程式ａｘ2＋ｂｘ＋ｃ＝０について、次の解の公式を使うことができる。
【数７】
2019168963.tif 000009
【００６８】
上記の公式を用いてＸ2（ここでａ＝４，ｂ＝−４，ｃ＝０．５を与える）を求めると、
Ｘ2＝０．１４６４４６６０９４０７もしくはＸ2＝０．８５３５５３３９０５９３が解（小数点は１２桁まで表示）となる。ここで、Ｘ2は観測されたビットが１のため区間
“０．５≦Ｘ2＜１．０”から生じていることは明らかである。このため、
Ｘ2＝０．８５３５５３３９０５９３を採用するとＸ2の区間は
“０．８５３５５３３９０５９３≦Ｘ2＜１”の範囲から計算されたことがわかる。
【００６９】
次に、“Ｘ2＝４Ｘ1（１−Ｘ1）”の式は２次方程式 “４Ｘ12−４Ｘ1＋Ｘ2＝０”に変形され、同様に先に求めたＸ2の区間から上限Ｘ2＝１は“４Ｘ12−４Ｘ1＋１＝０”より２次方程式の解はＸ1＝０．５が得られる。下限Ｘ2＝０．８５３５５３３９０５９３は
“４Ｘ12−４Ｘ1−０．８５３５５３３９０５９３＝０”から２次方程式の解より
Ｘ1＝０．３０８６５８２８３８１７とＸ1＝０．６９１３４１７１６１８３が得られ、
Ｘ1は観測されたビットが０のため区間“０≦Ｘ1＜０．５”であることから
Ｘ1＝０．３０８６５８２８３８１７であることがわかる。結果としてＸ1の区間は
“０．３０８６５８２８３８１７≦Ｘ1＜０．５”から計算されていることがわかる。
【００７０】
最後に、“Ｘ1＝４Ｘ0（１−Ｘ0）”は同様に“４Ｘ02−４Ｘ0−０．５＝０”と
“４Ｘ02−４Ｘ0−０．３０８６５８２８３８１７＝０”に変形した２次方程式の解を求め、ビット０が観測されていることを考慮に入れると最終的に初期値Ｘ0の区間は
“０．０８４２６５１９３８４９≦Ｘ0＜０．１４６４４６６０９４０７”に絞り込むことができる。このため絞り込んだ範囲内から式（１）のロジスティック写像に初期値Ｘ0を与えて反復を行い、Ｘiが０．５以上のときビット“１”を取得し０．５未満のとき、ビット“０”を連続して４ビット分をとると必ずビット列“００１０”が得られることを意味する。
【００７１】
上記のように観測されたビット列からロジスティック写像の初期値Ｘ0の区間を求める手順にて４ビット分（全１６パターン）を求めた結果を図１１の表「ロジスティック写像の初期値Ｘ0区間」に示す。この表では小数点以下は、６桁まで示してある。「丸１」〜「丸１６」の各初期値Ｘ0の区間からロジスティック写像式（１）を反復演算し、Ｘiが０．５以上のときビット“１”を取得し、０．５未満のときビット“０”を連続して４ビット分をとると“グレイコード”の列にならったビット列が生成される。
【００７２】
この４ビットのグレイコードは、図１２に示すバイナリ変換回路に通すことで、図１１に示すバイナリコードに変換でき初期値X0に対応した昇順になる。
【００７３】
図１３のヒストグラムでは、区間［０，１］を等分にした度数を示したが、図１１の表「ロジスティック写像の初期値Ｘ0区間」の各番号「丸１」〜「丸１６」の区間に変更し、ロジスティック写像式（１）の初期値Ｘ0＝０．３として１０万回反復を行い、Ｘiがその区間内を取ったときにカウントアップして数えたヒストグラムを図１５に示す。初期値Ｘ0区間を等分にした図１３のヒストグラムではＸiは０側と１側に偏りが生じたのに対し、図１５の例では、１６通りのグレイコードを生成する「丸１」〜「丸１６」の「ロジスティック写像の初期値Ｘ0区間」に変更したことで各区間の度数がほぼ等しい一様な分布が得られるようになる。
【００７４】
このため、ロジスティック写像からＸiをＡＤ変換して乱数として取り出す場合、ＡＤ変換のアナログ電圧の閾値を図１１の表「ロジスティック写像の初期値Ｘ0区間」に示す境界値に設定することで例えば「丸１」の区間を取った場合、分解能として４ビット（１６分割）のＡＤ変換後のビット列は“００００”が取得するようにして下位２ビット分“００”を乱数として抽出する。また、「丸１６」の区間ではビット列は“１１１１”を取り下位２ビット分“１１”を乱数として抽出する。その他の各区間も同様に乱数として出力させることで一様な頻度を持つ乱数を得ることができる。
【００７５】
即ち、第２の実施形態では、乱数取出部３０には、上記写像演算回路１０の出力Ｘiを閾値０．５と比較して０または１に変換するコンパレータと、上記写像演算回路によりＮ回繰り返される演算毎に、上記コンパレータから得られるディジタル値を並べて得られるＮビットのグレイコードを得て、乱数とするグレイコード処理部とが備えられた構成とすることができる。そして、上記Ｎ回の写像を遡って得られる初期値の区分数２Nに属するいずれかの値を初期値として用いる構成とすることができる。
【００７６】
上記ではロジスティック写像の反復によって、Ｘiが０．５以上のときビット“１”を取得し、０．５未満のときビット“０”を取得するというルールにて、連続して取得したビット列の長さが４ビットの場合における初期値Ｘ0の境界（或いは範囲）を示した。次に、取得したビット列の任意の長さに応じた、ロジスティック写像の初期値Ｘ0の区間の各境界（或いは範囲）を求める漸化式を考える。
【００７７】
式（１）は、以下の２次方程式に変形される。
【数８】
2019168963.tif 000010
【００７８】
上記のＸiは、上記２次方程式の解として、次の式により表わすことができる。
【数９】
2019168963.tif 000011
【００７９】
上記において、初期値Ｘ0の区間を求めた過程では、求められたＸi+1の上限と下限を再帰的に与えて計算していたが、Ｘi+1を“ｉ＝０，１，２，…”となるような“ｃi”に置き換えて初期値Ｘ0の区間の境界を与える漸化式は、以下の式（６）となる。
【数１０】
2019168963.tif 000012
【００８０】
式（６）の漸化式は初期値 “ｃ0,0＝１”を与え、ビット列の長さをｎとして、
“ｉ＝０，１，２，…，ｎ−１”まで反復演算を行い、初期値Ｘ0の区間の境界を導出して行く。その過程を図１６に示す。図１６の一番上に示した“ｃ0,0＝１”を必ず初期値として代入し、式（６）により“ｃ1,0＝０．５”の解（√の項は０のため、解は一つ）を得る。
【００８１】
次に、“ｃ1,0＝０．５”を再帰的に式（６）に代入し解を求めるが、式（６）に“±”の演算があるため解は２つ得られ、“−”の解は“ｃ2,0＝０．１４６４４６６０９４０７”、“＋”の解としては、“ｃ2,1＝０．８５３５５３３９０５９３”が得られる。次に再び、ｃ2,0とｃ2,1を式（６）の右辺に代入することで、それぞれ２つの解が図１６に示す
［ｃ3,0，ｃ3,1］と［ｃ3,2，ｃ3,3］として得られ、このような処理を繰り返し実行して行くものである。
【００８２】
以上より漸化式である式（６）は、図１６の階層構造のように解が２倍ずつ枝分かれしていくタイプで、“ｃi,j”の添え字“ｉ”は反復回数を示し、“ｊ”は“ｉ”に対する解の個数分の番号を割り当てたものである。このため、式（６）に示す“ｊ”の制約は自然数Ｎ（０，１，２，…）からなり、“ｉ＝０”のときは、“ｊ＝０”のみ１つを割り当て、またｉ＞０のときはｊ＜２i-1の番号を割り当てた個数分の解が存在し、例えばｉ＝１のとき（２0）はｃ1,0＝０．５の一つ、ｉ＝２のとき（２1）はｊ＝０とｊ＝１の“ｃ2,0＝０．１４６４４６６０９４０７”と“ｃ2,1＝０．８５３５５３３９０５９３”の２つが存在することを意味する。
【００８３】
図１６ではｉ＝０，１，２，３の各“ｃi,j”を示しており、ｃ1,0（＝０．５）から下の１５個の値は、図１１の表の４ビット分を観測して絞り込んだロジスティック写像の初期値Ｘ0の区間の境界値となっている。
【００８４】
式（６）を用いることでビット列の任意長“ｎ”に応じた初期値Ｘ0の境界“ｃi+1,j”を表すことができ、“ｃi+1,j”を昇順にソートすることで各バイナリコードの昇順に応じた区間が得られるため、ＡＤ変換の標本化の際の閾値電圧として求めておくことができる。
【００８５】
図１７に、図１０のテント写像マップの等分した初期値Ｘ0区間に対応するロジスティック写像の初期値Ｘ0のマップ図を示す。ここにおいては、図１１のロジスティック写像の初期値Ｘ0の区間（「丸１〜丸１６」）を示している。
【００８６】
以上、ロジスティック写像から一様な分布を持つ乱数値を得るための一手法について説明した。次に、同様にロジスティック写像から一様な分布を持つ乱数値を得るための手法として、初期値Ｘ0の選択とＡＤ変換後の乱数となるビットの抽出方法（乱数取出部３０の構成）について述べることとする。
【００８７】
上記では、ロジスティック写像の反復演算を繰り返した場合に、一様な分布になる初期値Ｘ0の区間を算出する方法を示した。テント写像型のＡＤ変換回路に関する特許出願である特開２０１６−０３９４１８には、図１１の表における「テント写像の初期値Ｘ0区間」である「丸１」〜「丸１６」を、図１０に示す均等に１６等分された初期値Ｘ0区間のいずれかから得て、Ｘiが０．５以上のときビット“１”を取得し、０．５未満のときビット“０”を取得していくルールにてビット列を取得することが述べられている。この場合、１６等分された１６通りの初期値Ｘ0を用いることにより、１６種の全てのビットパターンを得ることができ、反復を繰り返していくことで一様な分布（独立同分布）を持つことがわかっている。
【００８８】
ロジスティック写像がテント写像と位相共役にあることが知られており、図１１に示した「丸１」〜「丸１６」の区間内より初期値Ｘ0を選択して繰り返し演算を行えば共に区間に対応した同じグレイコードが生成される。推奨する初期値Ｘ0の選択を含め、位相共役について触れる。
【００８９】
ロジスティック写像の式（１）の初期値Ｘ0を、三角関数ｓｉｎ2θに置換して代入すると、次の式（７）となる。
【数１１】
2019168963.tif 000013
【００９０】
同様に求めたＸ1を式（１）に代入することでＸ2は
【数１２】
2019168963.tif 000014
が導かれ“ｎ”回目の写像の値が位相“２nθ”により、一意にわかるロジスティック
写像の式に変形することができる。
【００９１】
次にテント写像との位相共役を確認する。テント写像は式（５）で定義され、写像の反復区間は［０，１］になるが、ここで円周率π（３．１４１５９…）倍した区間［０，π］とし、Ｘiをθiとした式と置き換えると、以下の式（９）に変形することができる。
【数１３】
2019168963.tif 000015
【００９２】
【数１４】
2019168963.tif 000016
【００９３】
これについてテント写像式（９）の写像を式（８）の位相としてとらえることでロジスティック写像は常にｓｉｎ2２θiと同期する位相共役な関係にあることがわかる。
【００９４】
【数１５】
2019168963.tif 000017
【００９５】
図１８において、テント写像［０，１］の点線は式（９）の区間［０，π］をπで割ることでテント写像の反復区間を［０，１］にしたものである。図１８からテント写像の系とロジスティック写像の系が同期していることが判り、位相共益の関係にあることが視覚的に読み取れる。位相共役にあるため、上記のようにテント写像と同期するロジスティック写像の初期値Ｘ0を選択すれば、Ｘiが０．５以上のときビット“１”を取得し、０．５未満のときビット“０”を取得するルールにてビット列を取得した場合、図１１の表に示すような「丸１」〜「丸１３」の区間に対応する同等のビット列（グレイコード）を取得することができる。
【００９６】
図１８から、乱数生成時の初期値Ｘ0の選択の際には、ロジスティック写像の式（１）を変形した式（８）の三角関数の位相“２nθ”に注目すると、初期値θにπを単純に任意の整数で割った値を入れた場合には、ロジスティック写像の反復で短い周期によって遷移されてしまうことが分かる。
【００９７】
例えばπを７で割った値“θ＝π／７（０．４４８７９９…）”を選択したとき、式（８）より、
Ｘ0＝ｓｉｎ2２0（π／７）＝ｓｉｎ2（π／７）
Ｘ1＝ｓｉｎ2２1（π／７）＝ｓｉｎ2（２π／７）
Ｘ2＝ｓｉｎ2２2（π／７）＝ｓｉｎ2（４π／７）
Ｘ3＝ｓｉｎ2２3（π／７）＝ｓｉｎ2（８π／７）
＝ｓｉｎ2（π＋π／７）＝（−ｓｉｎ（π／７））2
＝ｓｉｎ2（π／７）
とＸ3はＸ0の値に戻り、周期長３の短い周期にてロジスティック写像の反復が行われる。
【００９８】
図１８の時系列も初期値Ｘ0＝ｓｉｎ2（π／１３）を与えると、図１８図の下部に具体的なＸiの数値を示すように、周期長６で繰り返されることが確認できる。このように式（８）の位相θにπを単純な整数で割った値を与えて、ロジスティック写像の初期値Ｘ0としたときには、比較的短い周期に落ちてしまい、周期帯も無数に存在することが予測できるため、初期値Ｘ0の選択は周期帯にならない適正値を予め用意しておくことが望ましい。
【００９９】
また、図１９には、テント写像の初期値Ｘ0と対応するロジスティック写像の初期値Ｘ0を与えて写像を反復し、Ｘiが０．５以上のときビット“１”を取得し０．５未満のときビット“０” を取得するルールにてビット列を取得したときのビット値と、そのＸiのときの図１１の表に対応する初期値Ｘ0の区間「丸１」〜「丸１６」へ出力する４ビット分のグレイコード、更にそれをバイナリ変換したバイナリコードを示す。
【０１００】
テント写像の初期値Ｘ0は次の式により表わされる。
【数１６】
2019168963.tif 000018
【０１０１】
ロジスティック写像の初期値Ｘ0は、Ｘ0＝０．３を設定している。ロジスティック写像の初期値Ｘ0＝０．３に対応するテント写像の初期値Ｘ0を算出している。
【０１０２】
図１９では、ＡＤ変換後は分解能として４ビット分の出力を送出しているが、毎回乱数としてグレイコードの最下位ビットを取ることを想定すると、図１９のグレイコードの欄において破線の枠線で囲った部分のようになる。一方、図１９の取得ビットの欄においては、Ｘiが０．５以上のときビット“１”を取得し、０．５未満のときビット“０”を取得した１ビットを各回毎に示したものである。取得ビットの欄において破線の枠線により囲んである、写像を４回行った後からビット値を順番に並べたビット列は、グレイコードの欄において最下位ビットを選択して当初から順に並べたビット列と同じであることが確認できる。これは例えば、分解能８ビットで最下位ビットを取った場合では写像を８回行った後からの最上位ビットの順番が同じものとなることがわかった。即ち、テント写像の初期値Ｘ0に対応する２進数展開したグレイコードが写像の反復の限り、同じ値を取得可能であることを意味する。この図１９においては、グレイコードをバイナリ変換して得られたバイナリコードがテント写像の初期値Ｘ0に対応している。
【０１０３】
上記の説明から、最上位ビットを連続して採った値はテント写像の初期値Ｘ0を表すビットコードそのものとなっているため、つまり、循環しない小数（無理数）の値を初期値Ｘ0に設定すれば理論的に乱数性能として望ましい非周期な値が得られることを意味する。このように、初期値入力部５０は、無理数を初期値として出力するように構成することができる。
【０１０４】
またバイナリコードは、テント写像の初期値Ｘ0そのものの値として対応するが、図１７の「丸１」〜「丸１６」の“ロジスティック写像の初期値Ｘ0区間”に示す一様な分布がとれるように変更した区間に対応するＡＤ変換後に、欲しいビット値がロジスティック写像においても０．５以上か未満かの区分けによる１ビット抽出で実現することができる。従って、実施形態に備えられる乱数取出部３０は、写像演算回路１０の出力を閾値と比較して０または１に変換するコンパレータを備える構成とすることができる。ここで、本実施形態における閾値は、０．５となる。
【０１０５】
実施形態に係る乱数生成装置は、チップ毎の製造誤差や温度特性などによる微妙な誤差からカオスの持つ初期鋭敏性による予測不可能な系を生成させ良質な乱数系列を取ることを期待するアナログ演算である。しかしながら、実施形態に係る乱数生成装置は、初期値Ｘ0の選び方により短い周期になる可能性はゼロではない。このため、予め循環しない小数（無理数）を初期値Ｘ0として選択しておくことが望ましいのである。
【０１０６】
例として一般的に知られる無理数は、円周率π（３．１４１５９２６５３５８９７９…）が知られている。区間［０，１］のテント写像における式（５）の初期値Ｘ0を“π／１０”に設定すれば良く、これに対応するロジスティック写像の初期値Ｘ0としては、区間をπ倍した“π2／１０”を式（７）の位相θに割り当て
Ｘ0＝ｓｉｎ2（π2／１０）＝０．６９６１４７…
を乱数取出部５０に設定することで理論的には半永久的に非周期のビット列が出力できる。なお、循環する小数（有理数）の一例（区間が、［０，１］のテント写像の場合）としては、“１／７＝０．１４２８５７１４２８５７…”を挙げることができるが、この値を初期値設定として避けるようにする。
【０１０７】
また、乱数生成回路としてテント写像の反復演算を行うアナログ演算回路を構成するようにしても良い。この場合には、循環しない（周期に落ちない）ロジスティック写像の初期値Ｘ0を割り当てることを考えると、簡単な抵抗分圧比を出力する回路構成を採用することで、比較的容易に初期値Ｘ0を与えられる初期値入力部５０の構成とすることができる。例として図１９では、ロジスティック写像の初期値Ｘ0＝０．３を選択しているが、これと位相共役になるテント写像の初期値Ｘ0は次の式による値とすることができる。
【数１７】
2019168963.tif 000019
【０１０８】
上記の式による初期値Ｘ0は、√（ルート）の項から無理数をテント写像の初期値Ｘ0として与えることができるため、非周期の系列を得ることができる。テント写像の初期値Ｘ0として、“０．３”（＝３／１０）を与えた場合は、有理数のため短い周期帯でテント写像は遷移してしまう。これに対し、ロジスティック写像の初期値Ｘ0として“０．３”を与えると、非周期の系列を得ることができ、１［Ｖ］を抵抗分圧比７：３で割った０．３［Ｖ］の生成回路が初期値入力部５０の容易な構成とすることができる。
【０１０９】
図１の回路図はロジスティック写像のＸiに対して乱数取出部３０として、ＡＤ変換回路を採用し、ＡＤ変換により乱数としてビット抽出する実施形態を採用することができる。以上から別の実施形態では、Ｘiが０．５以上のときビット“１”を取得し、０．５未満のときビット“０”を取得するといったシンプルな構成とすることができる。この実施形態においても初期値Ｘ0に依存するビット列を生成でき、０．５［Ｖ］未満か以上かのコンパレータ比較のみによる１ビット出力を行う乱数取出部３０でも非周期的な乱数列が得られることが推定され、ＡＤ変換回路が不要であるから、回路実装コストを削減して良質な乱数列を得ることが可能である。
【０１１０】
非特許文献１には、コントロールパラメータ４を変動させることで乱数性能を向上できる旨が記載されている。本実施形態に係るアナログ演算回路を用いた乱数生成装置においても、コントロールパラメータ４に着目する。図５ではＶｇｓ＝１．０［Ｖ］固定にしたＩ−Ｖ特性を採用している。これに対し別の実施形態では、Ｖｇｓを変動させることで写像の系列を変更して周期領域を回避する効果を与えることが考えられる。例として図２０に、Ｖｇｓ＝０．４９［Ｖ］に変更したＩ−Ｖ特性のグラフをＶｇｓ＝０．５［Ｖ］と比較して示す。
【０１１１】
変動方法としてＶｇｓには外部から周期変動を加える（変動するＶｇｓをＶｇｓ’とすると必ずＶｇｓ＞Ｖｇｓ’を満たすようにする）ことが考えられる。即ち、他の実施形態では、写像演算回路１０のＩ−Ｖ変換回路の入力側には、入力側にソースとなるように配置されたＮＭＯＳトランジスタが接続され、そのゲート・ソース電圧（Ｖｇｓ）を初期値から所要時に低下させて（Ｖｇｓ’とする（Ｖｇｓ＞Ｖｇｓ’）を）与えるゲート・ソース電圧制御回路が備えられている構成としても良い。他にサンプリングの際、電圧が微小にアンダーシュートするような機構を入れることも考えられる。これに対応する実施形態では、第１のサンプルホールド回路４１における所定回目のサンプリングの際に、上記ＮＭＯＳトランジスタのゲート・ソース電圧をアンダーシュートさせてサンプリングを行うサンプリング電圧制御部が備えられている構成を採用しても良い。
【０１１２】
また、本実施形態をＩＣチップとして製造し、製造後にチップを動作させてみて周期帯か否かを検査する。周期を検知した場合に非周期帯になるようにＶｇｓを変更する機構を与える、もしくは周期にならない初期値Ｘ0の設定を変更するといった調整を行ってから出荷することも考えられる。
【０１１３】
乱数取出部３０にＡＤ変換回路を採用した場合に、ＡＤ変換後のビット取得する回路を設けても良い。例えば、ＡＤ変換の分解能が８ビットで、２進数として（１０１１００１１）であった場合、８ビット分をそのまま乱数として利用するようにしても良い。これに対し、有限演算実装のディジタル演算にて写像の都度Ｘiの上位ビット側を取得すると乱数性が悪く下位ビット側を取得したほうが乱数性能がよいという報告があり、例えば分解能が８ビット（０〜２５５）とした場合ＡＤ変換後の値のビットが（１０１１００１１）であった場合は下位４ビット側（１０１１００１１）を取得する構成を乱数取出部３０が備えていても良い。
【０１１４】
ＡＤ変換後の一回の写像から複数ビットを乱数として取得すれば乱数生成速度が速くなる効果があるが、ビット桁により乱数性能に影響する懸念があるため、取得したビット列に対して乱数検定を行い、ビット抽出する際の最適なビット桁を把握しておくことが望ましい。上記乱数取出部３０には、ＡＤ変換して得た複数ビットの所定位置を乱数として選択するビット選択回路を備える実施形態とすることができる。
【０１１５】
また、写像の反復の度に乱数値を取るのではなく、写像を空けて取ることで取得されるビットの変動がよりダイナミックになり乱数性能が良くなるといったことが考えられる。上記乱数取出部３０には、ＡＤ変換して得た複数ビットの所定位置を乱数として選択するビット選択回路を備える実施形態において、ビット選択回路は、写像回に応じて所定位置を選択する構成とすることができる。例えば１回の写像結果から８ビットのＡＤ変換されたビット列を得る場合に、１回目の写像結果については、下位２ビットを選択し、２回目の写像結果については、下位２ビット目からの２ビット、・・・という如くである。上記乱数取出部３０には、上記写像演算回路１０の出力中から、所定の回の出力を選択して乱数とする写像演算回選択部が備えられている構成としても良い。
【符号の説明】
【０１１６】
１０  写像演算回路
２０  引き算回路
３０  乱数取出部
３１  出力バッファ
４１  第１のサンプルホールド回路
４２  第２のサンプルホールド回路
５０  初期値入力部
５１  タイミング制御回路
５２  スイッチ制御回路
５３  コンパレータ
【図１】
2019168963.tif 000020
【図２】
2019168963.tif 000021
【図３】
2019168963.tif 000022
【図４】
2019168963.tif 000023
【図５】
2019168963.tif 000024
【図６】
2019168963.tif 000025
【図７】
2019168963.tif 000026
【図８】
2019168963.tif 000027
【図９】
2019168963.tif 000028
【図１０】
2019168963.tif 000029
【図１１】
2019168963.tif 000030
【図１２】
2019168963.tif 000031
【図１３】
2019168963.tif 000032
【図１４】
2019168963.tif 000033
【図１５】
2019168963.tif 000034
【図１６】
2019168963.tif 000035
【図１７】
2019168963.tif 000036
【図１８】
2019168963.tif 000037
【図１９】
2019168963.tif 000038
【図２０】
2019168963.tif 000039