2016-10-24 5 views
0

の散歩、擬似コード(私はコーダー、ここではそうではない良い擬似コードはないです)、しかし、ランダム要求ごととしてR

  1. は、1x1の正方形の座標をランダムに選択してください。
  2. (i in 1:iterations)
  3. 座標が1x1正方形内にあるかどうかを確認してください。
  4. 正方形の外側にあり、以前の座標値で繰り返している場合。
  5. 座標が1x1の正方形に刻まれた円に含まれるかどうかを確認してください。
  6. この場合、内部カウンタに+1します。
  7. そうでない場合は、カウンターの外側に+1してください。
  8. 任意の方向にイプシロンの値を加え、繰り返します。私はコメント欄で問題になる可能性があります示唆したように最後に

pi_est <- (inside/(inside + outside))*4

+0

アルゴリズムの擬似コードを追加すると、より明確になります(主にRの質問ではないことがわかります) –

+0

正方形のランダムな散歩でも適切な見積もりが得られるかどうかは、長期的にすべてのポイントに等しい割合の時間を与える分布。それは順番に、あなたが四角形の境界をどのように扱うかに依存します。あなたは、コードの媒体を介してではなく、明示的にどのように行うのかを記述してください(あなたが何を意味するのか、あなたが意図したことが間違っているのかを解き放つという問題があります)。 ... ctd –

+0

ctd ...さらに、あなたのアルゴリズムをRで与えることで、視聴者を減らすことができます。*単語*で説明し、できるだけ明確に説明することをお勧めします。有効なアルゴリズムがあることを確認したら、実装について心配してください。プログラミングに関しては、[トピックに関するヘルプ](http://stats.stackexchange.com/help/on-topic)を参照し、コーディングの面ではなく質問の統計的側面を強調してください。 –

答えて

2

- あなたが使用しているランダムウォーク方式には、私はあなたが同じように、多くの場合、それぞれの正方形を訪問するつもりはないと信じて... は、あなたの見積もりを不正確にする(偏ってしまいます)。

私はその後、私は六つの異なる細胞タイプのために結果を蓄積勧めしたい、あなたは小さなグリッドを設定示唆(5×5と言う)と、それを長い時間を実行します。

C E M E C (Corner, Edge,  Midedge, 
E D O D E   Diagonal, Orthogonal, 
M O X O M      Xenter) 
E D O D E 
C E M E C 

(ので - 対称性により、 - これらのタイプの違いは雑音のみである必要があります)。

次に、各タイプのセルのそれぞれのカウントが4,8,4,4,4,1であるという事実をスケーリングすると、適切な割合で訪問したかどうか(16% 、4%、8%、または1%の場合は32%および4%)。私は、あなたが見つけることは、境界細胞が真ん中よりも(彼らの公平な割合に対して)より頻繁に訪問されるということを信じています。

1つの提案は、上下のエッジと左右のエッジが通信するようにエッジを「ラップする」ことです。これにより、エッジでの「バウンスバック」が回避され、代わりにすべてのセルが他のすべてのセルと同様になります。対称性によって、各セルに等しい確率が得られるはずです。

関連する問題