MTToolBox
0.2.10
|
状態遷移関数のパラメータを探索する。 [詳解]
#include <AlgorithmRecursionSearch.hpp>
公開メンバ関数 | |
AlgorithmRecursionSearch (RecursionSearchable< U, V > &generator, AbstractGenerator< V > &bg) | |
コンストラクタ [詳解] | |
AlgorithmRecursionSearch (RecursionSearchable< U, V > &generator, AbstractGenerator< V > &bg, const AlgorithmPrimitivity &primitivity) | |
コンストラクタ [詳解] | |
bool | start (int try_count) |
状態遷移パラメータの探索を開始する [詳解] | |
const std::string | getParamString () |
疑似乱数生成器のパラメータを表す文字列を返す このメソッドは start() が true を返した場合にのみ呼び出すべきである。 [詳解] | |
const NTL::GF2X & | getMinPoly () const |
最小多項式を返す このメソッドは start() が true を返した場合にのみ呼び出すべきである。 [詳解] | |
long | getCount () const |
このインスタンスが作られてからstart() が終了するまでに試行した回数を返す。 [詳解] | |
状態遷移関数のパラメータを探索する。
GF(2)線形疑似乱数生成器の状態遷移関数が既約な特性多項式をもつよ うなパラメータを探索する。
コンストラクタに与えるgenerator はこのクラスのstart()メソッドを 呼び出すと変更される。そしてstart()がtrueを返したなら、変更後の generatorはその状態遷移関数が既約な特性多項式を持つように変更さ れているはずである。従って変更後のgeneratorからパラメータを取得 することによって状態遷移関数が既約となるパラメータを取得できる。
U | 疑似乱数生成器の出力する値の型、符号なし型であること。 |
V | パラメータ生成器の出力する値の型 |
|
inline |
コンストラクタ
このコンストラクタでは、状態空間の大きさがメルセンヌ指数の場合を 想定している。
bg はgenerator とは異なるインスタンスである必要がある。 通常の場合、bg にはMersenneTwisterのインスタンスを与えるとよい。 TinyMT では、規則的に減少する数列を使用している。
generator | generator はこのクラスのメソッドによって変更される。 |
bg | パラメータ探索に使用する疑似乱数生成器 |
|
inline |
コンストラクタ
このコンストラクタでは、原始多項式判定アルゴリズムを指定できる。
bg はgenerator とは異なるインスタンスである必要がある。 通常の場合、bg にはMersenneTwisterのインスタンスを与えるとよい。 TinyMT では、規則的に減少する数列を使用している。
generator | generator はこのクラスのメソッドによって変更される。 |
bg | パラメータ探索に使用する疑似乱数生成器 |
primitivity | 原始多項式判定アルゴリズム |
参照先 MTToolBox::isPrime().
|
inline |
このインスタンスが作られてからstart() が終了するまでに試行した回数を返す。
|
inline |
最小多項式を返す このメソッドは start() が true を返した場合にのみ呼び出すべきである。
一般には最小多項式は初期状態と出力関数に依存するが、GF(2)線 形疑似乱数生成器の最大周期を与えるような最小多項式は一つであ る。
|
inline |
疑似乱数生成器のパラメータを表す文字列を返す このメソッドは start() が true を返した場合にのみ呼び出すべきである。
|
inline |
状態遷移パラメータの探索を開始する
try_count | 試行回数の上限 |