低差異シーケンスは離散空間で機能しますか?


9

実空間()の低差異シーケンスは、サンプル空間を均等にサンプリングするための非常に優れたツールのようです。私が知る限り、適切なマップ(たとえば、線形マップ)を使用すれば、実際の空間に一般化されます。[0,1]n[0,1][a,b]

そのようなシーケンスは離散空間に一般化されますか?例えば。各次元に要素が2つしかないスペースがある場合(たとえば、ブールスイッチ)、マッピングできますか?より多くの要素を持つ次元についてはどうですか? (例えば、4状態スイッチ?)そして、各次元で状態の数が異なるスペースのために?[0,0.5]0; (0.5,1]1

私の直感は、これは特にサブシーケンスが長い場合は問題なく機能するが、状態の数によっては他のシーケンスよりも適切に機能する可能性があることを示しています(たとえば、Haltonシーケンスは、素数の状態、またはSobolシーケンスは、要素の次元でのみ機能します)。しかし、私はテストをしていません。2n

これが機能しない場合は、なぜでしょうか?

回答:


2

短い答えは:はい!これは機能し、ベクトルに整数を乗算し、その各コンポーネントの整数部分を取ることと同じくらい簡単です。tn(0,1)dm

より長い答えはあなたの直感は正しいということです、実際にはそれは次の選択に応じて結果を混合しています:

  • どのシーケンスを選択するか(Halton、Sobolなど)
  • 基礎パラメータ(例、2、3、5、...)
  • 程度は低いですが、の値です。m

ただし、最近、詳細なブログ投稿任意の次元でオープンエンドの低不一致シーケンスを簡単に作成する方法に関する、疑似ランダムシーケンスの不合理な効果」を書いています。 HaltonおよびKroneckerシーケンス。

「カバーリング」と呼ばれる投稿のセクションは、特に、低矛盾シーケンスを離散化するというあなたの質問を扱います。

次の画像では、赤の数が少ない正方形(一意の整数格子点を示す)はより均等な分布を意味します。各赤の正方形はセルに青点が含まれていないことを示しています。他の現代的な方法と比較して、シーケンスでさえポイントがどのように分布するかをはっきりと見ることができます。R

画像:2次元の離散低矛盾シーケンス

解は、追加の反復法(1を法とする)で、黄金比に依存する1次元問題を一般化します。次元の問題の解は、特別な定数に依存し。ここで、は、とような の最小の正の実数値の値dϕdϕdx

xd+1=x+1

、  、正規の黄金比です。d=1ϕ1=1.618033989...

用、、多くの場合、プラスチック定数と呼ばれ、いくつかの美しい性質を持っているされています。この値は、関連する2次元問題の最適値である可能性が最も高いと推測されていました[Hensley、2002]。d=2ϕ2=1.3247179572...

Jacob Rusがこの2次元の低不一致シーケンスの美しい視覚化を投稿しまし

この特別な定数を使用すると、番目の項の計算は非常に簡単で高速に計算できます。n

R:tn=αα0+nαα(mod1),n=1,2,3,...
whereαα=(1ϕd,1ϕd2,1ϕd3,...1ϕdd),

もちろん、これが繰り返しシーケンスと呼ばれる理由は、上記の定義がと同等であるため

R:tn+1=tn+αα(mod1)

ほとんどすべての場合、しても主要な特性は変わりません。そのため、明白な理由から、が通常の選択です。ただし、対称性に関連して、 がより良い選択であることを示唆するいくつかの引数があります。αα0αα0=00αα0=1/21/2

Pythonコードは

# Use Newton-Rhapson-Method
def gamma(d):
    x=1.0000
    for i in range(20):
        x = x-(pow(x,d+1)-x-1)/((d+1)*pow(x,d)-1)
    return x

d=5
n=1000

# m can be any number.
# In the diagram above it is chosen to be exactly sqrt of n, 
# simply to to make the visualization more intuitive 
# so that ideally each cell should have exactly one dot.
m=10

g = gamma(d)
alpha = np.zeros(d)                 
for j in range(d):
    alpha[j] = pow(1/g,j+1) %1
z = np.zeros((n, d))    
c = (np.zeros((n,d)).astype(int)  

for i in range(n):
    z = (0.5 + alpha*(i+1)) %1
    c = (np.floor(m *z)).astype(int)
print(c)

お役に立てば幸いです。


2

スペースの数が限られている場合は、可能なスペースを明示的に列挙し、それらに基づいてバランスの取れた不完全なブロックデザインを作成することをお勧めします。結局、低不一致シーケンスのプロパティは漸近的であり、オーダーの長さで望ましいプロパティが達成されます。ここで、はスペースの次元です。可能な組み合わせの数がそれより少ない場合は、可能なすべての組み合わせを取り、それとのバランスの取れた設計を実現できます。N6ss

更新:ポアソンプロセスとベルヌーイ試験のためのQMCの使用について説明した本がありまし。私の意見では、お金に見合う価値とはかけ離れていますが、そこで何か役に立つものが見つかるかもしれません。たぶん15ドルで。文献で最良の方法として理解されているものを利用するのではなく、著者の(時々奇妙な)アイデアを推し進めるところが多少ずさんになっていることがわかりました。


Staskは素晴らしい一般的な回答ですが、実際には私の質問の背後にある前提に対処するだけであり、直接私の質問には対応しません。BIDBを指摘していただきありがとうございます。低差異シーケンスが説明どおりに機能するかどうかを知りたいのですが(これは、「プロパティ...
naught101 2012年

別の質問:BIDBは、直交ラテンハイパーキューブとどう違うのですか?基本的には同じように見えます(ただし、角度が異なる可能性があります)。また、QMCとは何ですか?
naught101
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.