能力值:
( LV3,RANK:20 )
|
-
-
2 楼
diff, dft, mean/stdev.
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
一般的方法:熵、相关性和数理统计。
建议楼主多积累点数学基础再来创新。
|
能力值:
( LV4,RANK:40 )
|
-
-
4 楼
欢迎讨论,但说些空洞的东西毫无价值。
没能找到有用的相关资料,否则费这事干吗?
数组的混乱程度是客观存在的东西,是可以通过数组的结构计算出结论的。要是还需要借助统计或概率分析来完成一些计算是否还有应用上的意义,这里不想作理论研究而只是提出一种有效的实用方法。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
默认刚买回来的一套扑克,认为h=0
取原来第2n-1张放第n,原来第2n放到数第n (n=1~26)
[就像(1 2 3 4 5 6)-->(1 3 5 6 4 2)]
h显著增大,但牌洗得并不好(发牌,发两堆看看...)
如果是扑克的话,花色,点数(对13,4的商,余数)还是很重要的不仅编号的大小而已
|
能力值:
( LV4,RANK:40 )
|
-
-
6 楼
这种东西首先定义要完善,逻辑上不要出现漏洞。然后就是数据说话了。像楼上说的1 3 5 6 4 2这也是规律性很强的排列当然不能算是洗得好的。实际一副扑克洗得好坏是个复杂的问题,你首先要定义各种花色及大小王的权重,也就是定义了完全顺序排列的形态,你才能度量偏离这一形态的混乱程度....。
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
仔细想了一下,楼主的方法,本质上是使用正态分布判定随机性。
其实对于离散数据的情况,使用卡方分布效果会好些。
|
能力值:
( LV4,RANK:40 )
|
-
-
8 楼
欢迎讨论,能说说具体怎么根据数组计算出数组的混程乱度吗?
|
能力值:
( LV4,RANK:40 )
|
-
-
9 楼
一楼提出用误差理论来计算数组的混乱程度。感觉完全是驴唇不对马嘴,实验数据的误差与排列次序无关,不能胡乱套用。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
混乱,只是相对于某个定义好的“有序”标准而言的。
你先定好什么是有序,然后才能确定什么是混乱。
---
如果只是让别人猜不到 数据的规律,那就用 真随机数生成器。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
拿麻将来举例,
13张牌: 147条,258筒,369万,西西,中中
这副听没听呢?
这得看用什么标准。
用日本麻将的规则,这是副乱牌,未听。(混乱)
按 国标麻将,这是副 大牌,主番是 组合龙 + 5门齐,听 西、中。(有序)
|
能力值:
( LV4,RANK:40 )
|
-
-
12 楼
数组的混乱比牌类游戏的洗牌混乱单纯的多,数组的有序就是相对于元素大小的排列,而数组的混乱就是相对于有序排列的混乱。只有将数组的混乱问题处理清晰了,才好去处理诸如洗牌质量等问题。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
你再看看 10 楼。
你先明确的定义什么是“有序”的标准,
然后才能度量“混乱”的程度。
不要把 随机排列 和 混乱 2个不同的概念混淆了。
你的洗牌数组里的数据,即使是“混乱”的,但不一定是 随机 的。
因为别人有可能“猜” 到此数据的组合规律。
|
能力值:
( LV4,RANK:40 )
|
-
-
14 楼
所谓混乱度是对数组的一种客观评价,对任何数组都可以评价其偏离有序排列的程度,不管是采自自然的物理量,或是人为编排的,随机不随机是无所谓的。
而数组本身就有其唯一的有序排列对。
例如我们有几个简单的元素构成数组,所有成员是 2 3 3 3 1 5 5 9 7
其有序排列只有 1 2 3 3 3 5 5 7 9 和 9 7 5 5 3 3 3 2 1
而混乱度就是相对于有序排列的。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
例如我们有几个简单的元素构成数组,所有成员是 2 3 3 3 1 5 5 9 7
其有序排列只有 1 2 3 3 3 5 5 7 9 和 9 7 5 5 3 3 3 2 1
============
这样就简单了啊
用个 冒泡排序 就可以了。记录排序时发生交换的次数。
次数越多就 越混乱呗。
正序、反序都做一次,结果相加再除以2,最后均值结果越大就越乱。
|
能力值:
( LV4,RANK:40 )
|
-
-
16 楼
冒泡排序是最先考虑的,但并不理想,冒泡次数最多的不一定是最混乱的。所以方法被淘汰了。
|
能力值:
( LV4,RANK:40 )
|
-
-
17 楼
利用排序的循环次数来度量数组的混乱程度是最先尝试的方法之一,可惜这个方法没有成功。一个反例就能打倒它,例如排序交换次数最多的情况不是看起来很乱的排序,规律性很强的序列也能交换次数很多,例如那种大小相间的排序(偶数位从小到大,奇数位从大到小)。例外一个完全的规律性数组,去和反向排序次数去平均,在逻辑上也很别扭,显示出此方法的不靠谱。
混乱度的数值应该从其大小上真实的反应出数组的乱象,一个完全的规律性数组应该是零值才合乎逻辑。
|
能力值:
( LV4,RANK:40 )
|
-
-
18 楼
质疑“混乱度h——相同或相邻数据间的其它元素数的和。”
其它元素数的和,元素的值有大有小对混乱的影响是不一样的,所以用元素数的和来度量是太粗糙了,而用元素值与当前值的差的和来度量就好多了。
欢迎继续讨论。直到找到一种实用的混乱度的量化值。
|
能力值:
( LV3,RANK:20 )
|
-
-
19 楼
网上搜“随机数检测规范”,然后仔细研究一下。
正文部分看不懂的话,建议看看附录,里面有你想要的。
|
能力值:
( LV4,RANK:40 )
|
-
-
20 楼
楼上是说NIST吧。那东西表面看起来考虑的很周全,实际上很垃圾,你可以自己试试,你就是用常数数组也就是元素都一样的数组去测试,那15项玩意里也有能测试通过的项目,你不能从测试数据上判别,性能很差的C语言的rand()函数和比较不错的随机函数例如MT19937之间的优劣。整个一个大废物....
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
我用过相关测试软件,也按其标准独立写过随机数测试软件,没有觉得是“垃圾”。
“你就是用常数数组也就是元素都一样的数组去测试,那15项玩意里也有能测试通过的项目”你自己对它都不明不白,妄加评论只会误导他人。
|
能力值:
( LV4,RANK:40 )
|
-
-
22 楼
一套所谓的标准有没有价值是看其有没有用处,对于NIST我是那样看,那东西对楼上也许是宝贝...
哪怕是能区分出优质的或劣质的伪随机数我也认为其有点价值,可是它不能...
本是舶来之物却拿来当国家标准类的东西,也不知怎么论证的?
|
能力值:
( LV3,RANK:20 )
|
-
-
23 楼
有空时我会尽力写一个随机数检测的通俗解读。
要完全理解随机数检测,确实不是一件容易事。随机数检测规范如果详细展开,足以成为一本专著。
|
能力值:
( LV4,RANK:40 )
|
-
-
24 楼
继续讨论,前面关于数组混乱度的定义,是想得到一个数组混乱度的量化表示,而且只限于描述一个单元数组。但由于定义过于简单容易找到悖论。根据定义相邻元素之间的其它与相邻中最小的一个的差的绝对值的和就是混乱度的数值,根据定义可以这样找到混乱度的最大值,元素从小到大这样排列,从外向里排列,第一个是最小的元素老一,最后是老二,老三在老一后面,老四在老二前面,依次类推,从定义可知这样将得到最大的混乱度数值,但是可以看到排出的数组是规律性很强的东西(三角形),而不是最混乱的数组,所以定义是失败的。
这种定义唯一的好处是,正序和反序数组混乱度的数值都是零。继续努力看看能找到更好的定义和计算方式吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
楼主的定义其实就是逆序数,比如:3521, 3后面比3小的数为2,1两个,5后面为2,1两个,2后面为1一个,逆序数为5.然后取反向的逆序数,比3大的为5一个,后面就都是0,逆序数为1,然后取最小值就行了。
|
|
|