halton序列是咋确定的

把序列写成二进制小数:1/2 -\u0026gt; 0.11/4 -\u0026gt; 0.013/4 -\u0026gt; 0.111/8 -\u0026gt; 0.0015/8 -\u0026gt; 0.1013/8 -\u0026gt; 0.0117/8 -\u0026gt; 0.1111/16 -\u0026gt; 0.00019/16 -\u0026gt; 0.1001……可以看出来,小数点后的部分正是二进制正整数序列1, 10, 11, 100, 101, 110, 111, 1000, 1001……每个数的各位逆序。
■网友
我的理解: Halton序列是反复分别依次切割区间得来的。用2切割(0,1),第一次得到(0,1/2),(1/2,/1)第二次得到(0,1/4),(1/4,1/2),(1/2,3/4),(3/4,1)第一次得到(0,1/8),(1/8,1/4),(1/4,3/8),(3/8,1/2),(1/2,5/8),(5/8,3/4),(3/4,7/8),(7/8,1)当然,输出序列的时候是依次输出..可以参看wiki的图示:https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Halton_sequence_2_3.svg/250px-Halton_sequence_2_3.svg.png
■网友
看了楼上几个回答,刚开始没搞明白什么是反复分别依次,因为看起来顺序不太对,也不知道怎么才算依次输出(明明5/8比3/8先输出??)…所以又去找了资料,然后!顿悟!
我的理解:
Halton序列是由某质数a定义的(0, 1)之间的一组数。的确是切割区间,但是是以每a个为一个循环反复切割的。
以a=2为例,
第1次: (0), 1/2
halton序列是咋确定的

第2次:(0), 1/2, 1/4, 3/4
halton序列是咋确定的

第3次:(0), 1/2, 1/4, 3/4, 1/8, 5/8
halton序列是咋确定的

第4次:(0), 1/2, 1/4, 3/4,1/8, 5/8, 3/8, 7/8
halton序列是咋确定的

第5次:(0), 1/2, 1/4, 3/4, 1/8, 5/8, 3/8, 7/8, 1/16, 9/16
halton序列是咋确定的

第6次:(0), 1/2, 1/4, 3/4, 1/8, 5/8, 3/8, 7/8, 1/16, 9/16, 3/16, 11/16
halton序列是咋确定的

……
这样就可以保证对区间有一个很好的覆盖度。
感兴趣的话可以看这个视频,1:20:15左右介绍了Halton Sequences。
https://www.youtube.com/watch?v=2hKeZ28x6QQ\u0026amp;t=9s







■网友
我也弄了半天,百度和维基都没写清楚i是什么。i其实就是序列的第几位数。
比如2计算的序列1?2,1?4,3?4,1?8,5?8,3?8,7?8,1?16,9?16。
【halton序列是咋确定的】 number(1,2)=1/2 number(2,2)=1/4 number(3,2)=3/4.以此类推。


    推荐阅读