MTToolBox  0.2.10
公開メンバ関数
MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G > クラステンプレート

#include <AlgorithmReducibleRT.hpp>

公開メンバ関数

 AlgorithmReducibleRecursionAndTempering (AbstractGenerator< U > &bg)
 コンストラクタ [詳解]
 
bool search (G &rg, AlgorithmTempering< U > &st1, AlgorithmTempering< U > &st2, bool verbose=false, std::ostream &os=std::cout, bool no_lsb=false)
 状態遷移パラメータとテンパリングパラメータを探索する。 [詳解]
 
bool search (TemperingCalculatable< U > &rg, AlgorithmTempering< U > &st, bool verbose=false, std::ostream &os=std::cout)
 MSBからの均等分布次元のみを向上させたい場合の探索を行う。 状態遷移関数のパラメータは探索する。 [詳解]
 
int getDelta ()
 均等分布次元の理論値との差の総和を返す。 [詳解]
 
const NTL::GF2X & getIrreducibleFactor ()
 状態遷移関数の特性多項式のmexp次の既約因子を返す。 [詳解]
 
getParity () const
 可約ジェネレータの周期保証ベクトル(パリティチェックベクトル)を返す。 [詳解]
 

詳解

template<typename U, typename G>
class MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >

警告
このクラスでは、パラメータ探索をする疑似乱数生成器の状態空間のサイズは メルセンヌ指数より少し大きい2のべき乗であると想定されている。
  1. 状態遷移関数の特性多項式がメルセンヌ指数の既約多項式を因子として持つような 疑似乱数生成 器のパラメータを探索する。
  2. 均等分布次元がよくなるようなテンパリングパラメータを探索する。
テンプレート引数
U疑似乱数生成器の出力の型, 符号なし型であること
G疑似乱数生成器

構築子と解体子

コンストラクタ

引数
bgパラメータをランダムサーチするための疑似乱数生成器を指定する。 この疑似乱数生成器に限り、GF(2)線形である必要はない。疑似乱数生成器である 必要すらない。

関数詳解

template<typename U , typename G >
int MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::getDelta ( )
inline

均等分布次元の理論値との差の総和を返す。

戻り値
均等分布次元の理論値との差の総和
template<typename U , typename G >
const NTL::GF2X& MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::getIrreducibleFactor ( )
inline

状態遷移関数の特性多項式のmexp次の既約因子を返す。

戻り値
状態遷移関数の特性多項式のmexp次の既約因子
template<typename U , typename G >
U MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::getParity ( ) const
inline

可約ジェネレータの周期保証ベクトル(パリティチェックベクトル)を返す。

戻り値
周期保証ベクトル(パリティチェックベクトル)
template<typename U , typename G >
bool MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::search ( G &  rg,
AlgorithmTempering< U > &  st1,
AlgorithmTempering< U > &  st2,
bool  verbose = false,
std::ostream &  os = std::cout,
bool  no_lsb = false 
)
inline

状態遷移パラメータとテンパリングパラメータを探索する。

引数
rgテンパリングパラメータ計算可能な疑似乱数生成器
st1テンパリングパラメータ探索アルゴリズム
st2テンパリングパラメータ探索アルゴリズム(LSB)
verbose余分な情報を出力するフラグ
os出力ストリーム
no_lsbLSBからのテンパリングをしない
戻り値
true 原始多項式を発見しテンパリングパラメータを設定した場合

参照先 MTToolBox::annihilate(), MTToolBox::calcCharacteristicPolynomial(), MTToolBox::AlgorithmEquidistribution< U, V >::get_all_equidist(), MTToolBox::AlgorithmTempering< U, V >::isLSBTempering(), MTToolBox::AlgorithmCalculateParity< U, G >::searchParity().

参照元 MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::search().

template<typename U , typename G >
bool MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::search ( TemperingCalculatable< U > &  rg,
AlgorithmTempering< U > &  st,
bool  verbose = false,
std::ostream &  os = std::cout 
)
inline

MSBからの均等分布次元のみを向上させたい場合の探索を行う。 状態遷移関数のパラメータは探索する。

引数
rgテンパリングパラメータ計算可能な疑似乱数生成器
stテンパリングパラメータ探索アルゴリズム
verbose余分な情報を出力するフラグ
os出力ストリーム
戻り値
特性多項式が原始多項式となるような状態遷移パラメータを発見した

参照先 MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::search().


このクラス詳解は次のファイルから抽出されました: