Gio*_*kis 2 java simulation networking poisson
我正在开发一个网络模拟器,其中数据包到达和传输尝试的事件遵循泊松分布。我对 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 evt = new Event(EventType.ARRIVAL_EVENT,\n MasterClock.getTime + poisson.next());\neventList.add(evt);\nRun Code Online (Sandbox Code Playgroud)\n\n据称,模拟器会运行多次,每次都会增加负载来测量性能。起初我认为到达率等于 \xce\xbb 但 \xce\xbb 越大,每秒收到的数据包越少。到达率和\xce\xbb有什么关系?\n我对这篇很长的文章感到抱歉,但我真的很沮丧,因为在大量大学书籍和整个互联网上搜索却没有有效的网络模拟来源......
\n\n预先感谢您的帮助。
\n