是否有用于测试Java中非随机性序列的软件?

时间:2011-01-31 02:46:20

标签: java testing random statistics

我在寻找能够找到字节序列的非随机属性的Java程序或库。当给出一个巨大的文件时,运行一些统计测试并报告数据是否有任何规律性。

我知道三个这样的程序,但不是Java。我尝试了所有这些,但它们似乎并不适合我(这是非常令人惊讶的,因为其中一个是由NIST)。其中最古老的diehard,效果很好,但使用起来有点困难。

3 个答案:

答案 0 :(得分:4)

正如一些评论者所说,这确实是一个专家数学问题。我能找到的最简单的解释是:

Run Tests for Non-randomness

Autocorrelation

这很有意思,但是当它使用“正面或反面”来简化其示例时,您会发现需要更深入地将相同的理论应用于加密/加密等 - 但这是一个良好的开端。

答案 1 :(得分:1)

另一种方法是使用Fuzzy logic。您可以从数据集中提取模糊关联规则。这些规则基本上是形式上的含义:

如果A然后B,解释为例如“如果01101(存在)那么1111(将跟随)”

谷歌搜索“模糊数据挖掘”/“提取模糊关联规则”应该会给你带来足够的结果。

实际上,您的问题域非常庞大,因为这就是数据/文本挖掘的全部内容。那,和统计&组合分析,仅举几例。

关于执行此操作的程序 - 请查看this

答案 2 :(得分:1)

与您"any observable pattern is bad"的评论相比,问题的答案不是很多。这让我觉得随机性不是问题,而是可观察的模式,要解决这个问题,你肯定需要观察者。所以,简而言之,就是建立一个网站并众包它。

此技术的一些示例适用于颜色命名:http://blog.xkcd.com/2010/05/03/color-survey-results/http://www.hpl.hp.com/personal/Nathan_Moroney/color-name-hpl.html