我正在开发一个网络模拟器,其中数据包到达和传输尝试的事件遵循泊松分布。我对 Knuth 算法进行了改编:
\n\npublic class Poisson {\n\n private double \xce\xbb;\n private Random rand;\n\n /** Creates a variable with a given mean. */\n public Poisson(double \xce\xbb) {\n this.\xce\xbb = \xce\xbb;\n rand = new Random();\n }\n\n public int next() {\n double L = Math.exp(-\xce\xbb);\n double p = 1.0;\n int k = 0;\n\n do {\n k++;\n p *= rand.nextDouble();\n } while (p > L);\n\n return k - 1;\n\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我的规范规定节点使用泊松过程随机重新安排楼层。平均到达间隔时间呈指数分布,平均值 Ts = 2.5ms。我使用 \xce\xbb = 2.5 是否正确?
\n\n当我想举办新到货活动时,我会这样做:
\n\nEvent …Run Code Online (Sandbox Code Playgroud)