3

リアルタイムで実行されているプログラムがあり、フレームレートは可変です。たとえば、15 fps、60fpsな​​どです。平均して5秒に1回イベントを発生させたいです。フレームごとに、最後のフレームからの時間を入力として受け取り、呼び出された場合、経過時間の5秒ごとに平均1回Trueを返す関数を呼び出したいと思います。ポアソン分布と関係があると思います。これをどのように行うのでしょうか。

4

2 に答える 2

4

それは本当にあなたがどの分布を使いたいかによります、あなたが指定したのは平均だけでした。あなたが言ったように、ポアソン分布はあなたのニーズにうまく合うと思いますが、別の分布であるタイトルに「一様確率変数」も入れます。とにかく前者を使いましょう。

したがって、ポアソン分布が必要な場合は、累積密度関数を使用してサンプルを非常に簡単に生成できます。ここの擬似コードに従ってください:ポアソンRVの生成、5秒がラムダの値です。この関数をPoisson_RN()と呼びましょう。

この時点でのアルゴリズムは非常に単純です。

global float next_time = current_time()

boolean function foo()
if (next_time < current_time())
  next_time = current_time() + Poisson_RN();
  return true;
return false;
于 2011-02-14T04:06:46.550 に答える
0

独立した試行で一定の比率で真/偽の結果を生成する確率変数は、幾何確率変数と呼ばれます。どの時間枠でも、確率1 /(5 * fps)でtrueを生成し、長期的には5秒ごとに平均1つのtrueを取得します。

于 2013-10-24T17:04:23.583 に答える