halton sequence-halton序列

来源:互联网 发布:吴宇森 李安 知乎 编辑:程序博客网 时间:2024/06/06 02:10

wiki链接 http://en.wikipedia.org/wiki/Halton_sequence

 

Halton sequence常常被用来产生空间点,被运用在例如Monte CarloSimulation等数值方法中。因为这个序列中的数看上去是随机的。

 

将任意一个素数作为基数,都可以生成一个Haltonsequence。比如,以2作为基数,那么得到的序列就是将(0,1)区段反复二分:

1/2, 1/4, 3/4, 1/8, 5/8, 3/8, 7/8, 1/16, 9/16

 

实现的伪代码如下:

   FUNCTION (index,base)
   BEGIN
      result = 0;
      f = 1 / base;
      i = index;
      WHILE (i > 0)
      BEGIN
          result = result + f * (i % base);
          i = FLOOR(i / base);
          f = f / base;
      END
      RETURN result;
   END

 

 

原创粉丝点击