Mersenne Twister 64:' d'回火参数?

时间:2016-09-29 01:09:08

标签: random mersenne-twister

简短版本:常见的MT(和MT64)实现具有额外的回火参数' d'我所描述的描述MT的论文并未包括在内。这个从哪里来?什么时候加入?

长版! :)

我正在考虑使用具有不同参数的MT家族(原因)。 Nishimura发表了this paper,描述了64位MT实现以及A矩阵和(u,s,t,l,b,c)调温参数的多种替代方案。与original 32-bit MT paper类似,它将回火程序描述为:

y := x xor (x >> u)
y := x xor ((y << s) and b)
y := x xor ((y << t) and c)
z := x xor (y >> l)

然而,实际的实现(a b)和MT维基百科页面中描述的参数有一个额外的位掩码参数(称为&#39; d&#39;),适用于回火程序的第一步:

x ^= (x >> 29) & 0x5555555555555555ULL;
x ^= (x << 17) & 0x71D67FFFEDA60000ULL;
x ^= (x << 37) & 0xFFF7EEE000000000ULL;
x ^= (x >> 43);

我不想盲目地&#39;使用排除参数&#39; d&#39;的回火参数没有理解它的含义......但我似乎找不到任何关于为什么这样做的参考文献。参数已添加。 (据推测,这是一个改进......)

关于它的用途的任何想法,对其添加原因的任何参考?

0 个答案:

没有答案