比较一组结构之间的变换
有一个点在平面上随机行走,设r1,r2是0到1的两个随机数,点单次移动的距离是5*r1,移动的角度是360*r2,取整,走1万步,将相邻的4点放到一起,统计4点结构分布。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
169 | 920 | 297 | 263 | 260 | 48 | 560 | 122 | 578 | 262 |
11 | 12 | 13 | 14 | 15 | 16 | ||||
229 | 31 | 218 | 170 | 142 | 40 |
共有4309个有效的组合,平均每个结构269个。然后进行434变换
13(3a1+1)=2*4a1+4a2+2*4a3+2*4a4+4*4a12+2*4a14
6(3a2+1)=4a3+4a5+4*4a6
15(3a3+1)=2*4a1+4a2+4a3+3*4a5+2*4a7+4*4a8+2*4a11
15(3a4+1)=4a2+4a4+2*4a9+3*4a10+2*4a11+2*4a14+4*4a15
9(3a5+1)=4a2+2*4a7+2*4a9+4*4a13
6(3a6+1)=4a4+4a10+4*4a16
先用3+1把4点结构变成3点结构
4(4a1-1)=2*3a3+2*3a1
4(4a2-1)=3a4+3a3+3a5+3a1
4(4a3-1)=3a2+3a3+2*3a1
4(4a4-1)=3a6+3a4+2*3a1
4(4a5-1)=3*3a3+3a2
4(4a6-1)=4*3a2
4(4a7-1)=2*3a5+2*3a3
4(4a8-1)=4*3a3
4(4a9-1)=2*3a5+2*3a4
4(4a10-1)=3a6+3*3a4
4(4a11-1)=2*3a3+2*3a4
4(4a12-1)=4*3a1
4(4a13-1)=4*3a5
4(4a14-1)=2*3a1+2*3a4
4(4a15-1)=4*3a4
4(4a16-1)=4*3a6
再4-1把3点结构变成4点结构,算一次变换。循环直到4点结构的标准差d
Math.abs( (d-1e-6))>1e-6
不满足判断条件为止。共变换了61次。
最终得到的16个数为
0 | 269.3125005 |
1 | 269.3125005 |
2 | 269.3125007 |
3 | 269.3124984 |
4 | 269.3125014 |
5 | 269.3125019 |
6 | 269.3125014 |
7 | 269.3125013 |
8 | 269.3125004 |
9 | 269.3124982 |
10 | 269.3125003 |
11 | 269.3124998 |
12 | 269.3125016 |
13 | 269.3124995 |
14 | 269.3124993 |
15 | 269.3124949 |
标准差是1.67757e-6
如果统计3点结构数据为
1 | 2 | 3 | 4 | 5 | 6 |
1214 | 328 | 1446 | 1494 | 1083 | 324 |
5点结构的数据为
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
92 | 137 | 73 | 119 | 206 | 319 | 207 | 59 | 172 | 30 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
58 | 32 | 141 | 66 | 12 | 82 | 43 | 134 | 37 | 96 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
126 | 204 | 32 | 28 | 1 | 42 | 52 | 143 | 93 | 97 |
31 | 32 | 33 | 34 | ||||||
93 | 45 | 20 | 13 |
6点结构的数据为
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
8 | 6 | 20 | 58 | 61 | 37 | 22 | 59 | 55 | 12 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 8 | 7 | 78 | 20 | 65 | 42 | 47 | 74 | 34 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
88 | 28 | 16 | 24 | 40 | 117 | 29 | 13 | 11 | 8 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
12 | 22 | 15 | 111 | 30 | 27 | 29 | 4 | 59 | 31 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
13 | 25 | 16 | 32 | 19 | 21 | 20 | 5 | 43 | 35 |
51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 |
19 | 1 | 49 | 10 | 4 | 40 | 19 | 2 | 30 | 93 |
61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
6 | 10 | 6 | 1 | 30 | 34 | 8 | 7 | 0 | 42 |
71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
16 | 1 | 35 | 65 | 13 | 53 | 5 | 7 | 0 | 23 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
30 | 10 | 7 | 2 | 7 | 5 | 5 | 12 | 3 | 2 |
综合
步数 | 有效组合 | 平均数量 | 变换 | 次数 | |
3 | 10000 | 5889 | 981 | 323 | 36 |
4 | 10000 | 4309 | 269 | 434 | 61 |
5 | 10000 | 3104 | 91 | 545 | 80 |
6 | 10000 | 2389 | 26 | 656 | 100 |
3点结构变换36次就可以收敛,而6点结构需要100次才能收敛。如果假设所有状态占比相同就是随机,则收敛次数就是结构与随机的距离。随着点数的增加也就是随着观察细节的丰富运动变得越来越确定。
这里3点结构的平均数量要远大于6点结构,通过调整随机步数使平均数量相当
步数 | 有效组合 | 平均数量 | 变换 | 次数 | |
3 | 927 | 545 | 90.833333 | 323 | 34 |
4 | 3345 | 1443 | 90.1875 | 434 | 56 |
5 | 10000 | 3104 | 91 | 545 | 80 |
6 | 35000 | 8151 | 90.566667 | 656 | 108 |
变换次数变化范围很有限。所以在随机行走这种运动约束下,用6点结构来描述这个运动带来的不确定就是小得多。