问题标签 [lcg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 线性同余生成器 - 如何选择种子和统计检验
我需要做一个线性同余生成器,它将成功通过选定的统计测试。
我的问题是:如何正确选择生成器的数字以及我应该选择哪些统计测试?
我想过:
卡方频率均匀性检验
每种生成方法收集 10,000 个数字
将[0.1) 细分为 10 个相等的细分
Kolmogorov-Smirnov 均匀性检验
- 由于 KS 测试更适用于较小的数字集,因此您可以使用您为卡方频率测试生成的 10,000 个中的前 100 个
这是代码示例:
在选择种子时,我在考虑纳秒,但我不知道如何实现它,它是否有意义?这个想法是为了表明所选择的种子是随机选择的,而不是从帽子中挑选出来的
python - 在 Python 中测试线性同余生成器
在 python 中应该对这个 LCG 进行哪些测试?
我想到的一切都是:Diehard,chi-square,kol-smirnov,这显然足以满足我的目的(这是一项家庭作业),但我已经阅读了一些关于这些测试的文章和文档以更好地理解它们,但它仍然相当摘要让我以 Python 代码的形式编写它
python - Dieharder 随机测试套件 - 令人怀疑的好结果
我根据以下生成器生成了一个txt文件(2500000个数字)
我使用以下代码保存了文件:
第一个单元格
第二个细胞
然后我使用Diehard 套件按以下方式进行测试:
我不确定测试是否真的在我的 txt 文件上运行,以及我的 txt 文件是否正确。250 万个数字的样本约为 30mb。
我很惊讶所有的测试都进行得很顺利。
下面是终端中的结果。
我很困惑,因为名字是MT19937
- 这不是我的名字,文件是“output5.txt”是我的文件。我不知道是否对我的文件进行了测试
python - 线性同余生成器 - 弱测试结果
我正在尝试对我的线性同余生成器进行Dieharder Suite测试。
我不确定测试是在我的发电机上执行的,还是只是结果太弱了。
我使用生成器生成 2,5 条 mio 行,并将它们保存到文件 testrands.txt 中,并带有以下标头:
我遵循了这个指令(如示例)
然后我使用Dieharder 套件按以下方式进行测试:
现在结果出奇的弱(也许我生成的数字太少了?)
我按照指南中的方式进行操作,但似乎仍然不是应该的-LCG通过了生日间隔(我认为它不应该)并且剩余的结果出奇地弱
我的LCG:
java - 如何使用此乘法 LCG 生成 (x,y) 坐标?
我用Java开发了以下代码:
并有下一个例子:
我随机生成 50 个点;实际上是八:
- p1(x1,y1) = (5,5)
- p2(x2,y2) = (25,25)
- p3(x3,y3) = (29,29)
- p4(x4,y4) = (17,17)
- p5(x5,y5) = (21,21)
- p6(x6,y6) = (9,9)
- p7(x7,y7) = (13,13)
- p8(x8,y8) = (1,1)
接下来的42分是同一时期。这是我得到的输出:
但是,我的老师告诉我结果是错误的;因为它应该只分布在我画布的坐标 x,y 中的五个点以上;或者换一种说法,我的点数是错误的,我的坐标“y”不正确。我当然不明白为什么它应该只有五个不同的点,或者我应该如何生成我的“y”坐标。
如果该 LCG 生成的周期是 8,这是否意味着程序正在为我的画布生成八个不同的“x”坐标?我真的很困惑,我不是要代码;但是对于为什么我的输出不正确的一些解释。
c - 线性同余生成器的浮点异常(核心转储)
我正在完成基于线性同余生成器 (LCG) 的密码程序的头文件。它接收两个 unsigned long 值(m 和 c)并使用这些值生成 LCG 结构。在我的 getA() 中,我试图让它将 temp 变量添加到 uPrimes 数组中(以防它不能减少到 1,因此在计算 p 时可以包含它)但我一直收到错误:“浮点异常(核心转储)”。如果我不尝试这样做,它将运行到完成,但不会按需要执行。在最新的迭代中,我尝试将 uPrimes 数组的第一个值分配为 1,一旦 while 循环完成,它会将 temp 的值分配给第一个值,结果相同。任何帮助将不胜感激!(我提前为不匹配的变量声明道歉,
这是给我的测试文件,用于验证我的头文件是否按需要工作:
random - 如何从 Lua 中的 LCG 生成器的结果中获取种子?
我目前正在开发Library Of Babel的 Lua 端口。
据我所知,它通过使用十六进制、书架、书架和卷号随机生成标题和书籍来工作。为了在 Lua 中实现这一点,我使用了 randomlua,因为 Lua 的内置随机 API 对我来说效果不佳。
到目前为止,我唯一的问题是它不允许我从 LCG 反转结果来获取种子,我需要这样做来实现搜索书籍。当谈到这样的数学时,我没有那么聪明,所以我不知道从哪里开始。
这是生成随机数的代码:
我完全不知道如何反转函数以使其返回发生该结果的种子。非常感谢您对此的任何帮助。
这就是我计算页面标题和内容的方式:
标题为 8 个字符,内容为 3200 个字符。
python - Python:不从线性同余生成器函数返回值
我正在尝试使用 LCG 方法制作随机生成的图。虽然情节行为有效,但我的问题是当我尝试将列表返回到变量时。我的目标是让递归函数将一个列表返回给一个变量,但它似乎在退出定义时什么都不做。
递归函数(内部定义):
来自:
我的尝试是将种子设置为randnum并在每次检索随机生成的值列表时清除randnum2。但是,尝试单步执行该文件表明它成功执行了递归,但是当它移动到下一个轴列表时返回一个 NoneType 对象。
我尝试创建全局变量并检查执行递归操作后是否可以移动randnum2,但我没有任何运气。
matlab - 调用期间未分配输出参数:Matlab
我正在尝试使用 LCG 为一个项目生成 2500 个伪随机数。但是,当我尝试运行代码时,我不断收到错误“在调用 lcgg 期间未分配输出参数‘p’(可能还有其他)。”。我希望有人可以帮助我理解为什么 p 不在输出中以及如何解决这个问题?
python - 在python中反转线性同余生成器的代码
x 的索引 0 是种子,但是如果您想知道 x 的索引 -1 怎么办。
我正在使用 pygame 在 python 中制作游戏,我需要帮助,因为我需要在世界生成中使用它
编辑:
x 是随机数,x 的索引 0 是种子
LCG看起来像这样
x[i + 1] = (x[i] * mu + inc) % m
m 是模数
inc 是增量
mu 是乘数