这是一个关于SO问题的问题;我不认为它属于meta,尽管按照定义它是sp,但如果有人觉得它应该去数学、交叉验证等,请让我知道。
背景:@ForceBru问了一个关于如何使用rand()生成64位随机数的问题@nwellnhof提供了一个被接受的答案,基本上取5个随机数的低15位(因为MAXRAND显然在至少一些编译器上只能保证15位),然后将它们粘在一起,然后丢弃前11位(15*5-64=11)@NikBougalis评论说,虽然这看起来是合理的,但它不会通过许多随机性的统计测试@Foon(我)要求提供一个引用或一个测试失败的例子@NikBougalis的回答没有解释我@戴维·斯沃茨建议与铁杆队比赛。
所以,我跑得更厉害了。我针对有问题的算法运行了它
unsigned long long llrand() {
unsigned long long r = 0;
for (int i = 0; i < 5; ++i) {
r = (r << 15) | (rand() & 0x7FFF);
}
return r & 0xFFFFFFFFFFFFFFFFULL;
}
为了进行比较,我还只针对兰特()和8位兰特()运行它。
void rand_test()
{
int x;
srand(1);
while(1)
{
x = rand();
fwrite(&x,sizeof(x),1,stdout);
}
void rand_byte_test()
{
srand(1);
while(1)
{
x = rand();
c = x % 256;
fwrite(&c,sizeof(c),1,stdout);
}
}
有问题的算法通过两个测试返回,显示ntuple=28的rgb_laged_sum和ntuple=8的一个sts_serials的弱性。
仅仅使用rand()在许多测试中都失败了,大概是因为我取了一个有15位随机性的数字,并将其冒充为32位随机性。
一次使用低8位的rand()对于具有 ntuple 2 的rgb_lagged_sum而言,恢复为弱,并且(编辑)dab_monobit失败,元组为 12
我的问题是:
编辑:理解rand()并不一定会很好。此外,我试图思考哪些值不太可能出现,并推测可能是零、最大值或重复的数字……但做了1000000000次测试,该比率非常接近每2^15次中1次的预期值(例如,在1000000000次运行中,我们看到30512个零、30444个最大值和30301次重复,bc表示30512×2^15是999817216;其他运行具有类似的比率,包括最大值和/或重复值大于零的情况。
当你更努力地奔跑时,你真正需要注意的列是p值列。
p值列本质上说:“这是真实随机数产生这个结果的概率。”你希望它在0和1之间均匀分布。
您还需要对可疑病例多次运行它。例如,如果你有一个p值为(例如).03的列,那么如果你重新运行它,你仍然有.03(而不是一些更高的值),那么你可以有很高的把握,你的随机数生成器在该测试中表现不佳,这不仅仅是3%的侥幸。但是,如果您获得较高的值,那么您可能会看到统计上的侥幸。但它是双向的。
最终,了解随机或伪随机过程的事实是困难的。但是有了死硬分子的武装,你对很多事情都有了大概的了解。
我有以下来自weka项目的结果,我在理解它们的含义方面有一些问题。weka结果我知道正确分类实例的百分比通常称为准确性或样本准确性,但我不明白这意味着什么以及它向我展示了什么。我可以从中获得什么信息?正确分类的实例和不正确的实例是什么?同样在混淆矩阵上,我知道四个数字的总和是我给程序的数据的数量,但为什么在这样的网格中有四个数字。您可以提供的任何信息都会很有帮助,谢谢。
我试图使用JDK1.8.0_xxx连接到jms服务,但遇到ssl握手错误。但是,我不能真正理解javax.net.debug的输出。 在日志片段的上面是我的问题: 1。这些是指我的JDK吗? 如果我对以上日志的理解是正确的,那么下面的日志会让我困惑。我尝试使用相同的jdk连接到另一个服务器,并在调试日志下面。 希望我的问题足够清楚,并感谢所有的帮助。谢了。
我有一个任务要处理文件https://github.com/mledoze/countries/blob/master/countries.json,这个文件相当大。首先,我用下载了它,并尝试使用0元素: 然而,整个json文件被识别为“str”,而作为0元素,我收到的只是“[”,我该如何修复这个问题呢?
这里已经有很多问题了,但我还是会继续。这是一个简单的脑力操翻译。我想出了所有其他符号,但我不知道如何实现循环。有人能帮忙吗? 我有一种感觉,我需要使用Stack,但我似乎不知道如何使用。我以前构建过表达式计算器。。。这需要同样的逻辑吗?
问题内容: 我是jstat工具的新手。因此,我做了如下示例。 结果表明什么?哪些列需要注意可能的内存问题,例如内存泄漏等。 问题答案: 请参阅文档: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html 基本上,一行是一个时间点。这些列显示了有关JVM内存区域(Survivor,Eden等)的数据,如果不了解JV
我不熟悉jstat工具。因此,我做了如下样本。 这个结果表明了什么?哪些列需要注意可能的内存问题,例如内存泄漏等。