その確率X*連続*ビット配列のNビットの設定1?
-
22-08-2019 - |
質問
ようにしているコードは、十分に正確なフィルターに関する妥当性の判断のためのハードウェアにRTLシミュレーション我々のシミュレーション固有の乱数の発生源で、チップのツリー内のフリップフロップ、ランダムな初期化のすべてのツリー内のフリップフロップのデザインは0または1です。これに対応したチップのツリー内のフリップフロップがランダム値は停電時です。また、ランダマイズ処理を施のプリセットツリー(リセットツリーのないフィードバックループ)が取得できfalse glitchingごリセットします。
例えば
||| VVV Nth reset-tree flop +----+ +----+ +----+ / / +----+ reset_in | | 0 | | 1 | | 0 / / | | reset_out -------->D Q>----->D Q>----->D Q>---- / ... / -->D Q>---- | | | | | | \ \ | | | | | | | | \ \ | | +^---+ +^---+ +^---+ / / +^---+ | | | / / | clk ------+------------+------------+---------/ / ---+
だが0>1->0のようにリセットではボ.
を作りたいフィルターに見える一定数 連 1の値かどうか判断するためにリセットだけのためには、リセットからのリセットコントローラーやスプリアスリセットします。
ごきげんよう、トメ子ですの統計かに関するポアソン分布が、どうして判定する確率るX連ビットセットNビットが1?
P.S.そうです。その4-val RTLシミュレーションていることからこのようなものがあVerilogを構築しまないのに十分な悲観論が伝播するX Zです。
解決
、あなたはNビットにおける1人の予想最長の連勝はΘ((N)をログ)であるという事実を使用することができます。
また、最長筋がRを超える確率*log₂(N)ビットは最大で1 / N ^(R-1)であり、最長筋はlog₂(N)未満であると同様に確率/ Rビット最大で1 / N ^(R-1)である。
これらの結果は、アルゴリズムの
の紹介他のヒント
は編集:以下の質問に答えていない、申し訳ありません...コメントは本当の問題は、 X のうちの連続した1秒名詞のビットの確率についてであることを明らかにし私は仮定だけではなく、単純なこと。 ます。http:/本で簡単に見ていましたあなたが探しているものかもしれ/www.mathhelpforum.com/math-help/probability-statistics/64519-probability-consecutive-wins.html の - それはランの確率をワークアウトに対処するようです桐蔭はとても似て聞こえる、桐蔭cossesのより大きな集団の外にcosses。 )
:私は数学をデコードしていないので、しかし、その後半、私は疲れていますOBSOLETE: あなたは基本的に二項確率で扱っているように聞こえる - http://en.wikipedia.org/wiki/を見ますBinomial_probability でます。
私は約20年前から計算を行って、そうしていない認めざるを得ない多少さび...
基本的には、二項では、2つだけの可能な結果の各時間がある複数回occuringイベントの確率を「一緒に追加」することができます。
それはprobabilitesを掛けるのと同じくらい簡単でなければなりませんので、ご注文はお使いの場合には重要である。
1ビットの場合には50%
です
2ビットのためには、50%^ 2 = 25%
あります
3ビットのため、それは50%^ 3 = 12.5%である
それを見て別の方法;
1ビットのみ2つの可能な組み合わせの一つはすべて1 = 50%である
を有します
したがって25%
- すべて1の2ビットは4つの可能な組み合わせ(10、01、11、00)、のいずれか一方のみを有してあります
3ビットがすべて1である一方のみが2 ^ 3 = 8つの可能な組み合わせを有するように1/8 = 12.5%
そう... nビットの確率は、すべての(2 ^ N)/ 1 = 1である。
あなたは、再帰的プログラム(のpython)を行うことができます:
PROB(X、n)は
は、所望の結果を与えます <時間>import math
def prob(x,n,i=0):
if i == x: return 1
if (x+i) > n: return 0
t = .5 * prob(x,n-1,i+1) + .5 * prob(x,n-1,i)
return t
これまで私のアプローチは、正しい種類のビットパターンを受け入れるFSAを定義し、各ビット数のパターンをシミュレートすることであろう。すなわちます。
State state_map[] = {
0 => { 0 -> 0; 1 -> 1; accepts = false },
1 => { 0 -> 0; 1 -> 2; accepts = false },
2 => { 0 -> 0; 1 -> 3; accepts = false },
3 => { 0 -> 3; 1 -> 3; accepts = true }
};
state[t: 0, s: 0] = 1.0;
state[t: 0, s: 1] = 0.0;
state[t: 0, s: 2] = 0.0;
state[t: 0, s: 3] = 0.0;
for (t = 0; t < N; t++)
for (s = 0; s<NUM_STATES; s++)
state[t: t+1, s: state_map[s].0] += state[t, s] * .5
state[t: t+1, s: state_map[s].1] += state[t, s] * .5
print "Probability: {0}", state[t: N, s: 3],