我正在尝试根据幂律分布生成p2p网络。如何在java中生成幂律分布?它有没有图书馆?
谢谢:)
答案 0 :(得分:4)
如果您不能/不想使用库:
在这种情况下,最简单的方法是制定CDF(检查Wikipedia),即函数F:x - > P(X
答案 1 :(得分:3)
也许Colt java库可以提供帮助。它根据许多distributions生成随机数。
答案 2 :(得分:1)
Apache Commons Math lib在我的系统上很慢(也许我错过了一些东西......)。这个独立的课程PowerLaw.java为我工作。
答案 3 :(得分:1)
此库:https://github.com/pbloem/powerlaws包含幂律生成器,使用方法如下:
List<Double> data = new Continuous(3.14, 2.5).generate(1000);
这从幂律分布产生1000个点,其中3.14为最小值,2.5为指数。它还具有离散分布和离散分布的连续近似。所有这些分布也可以适合现有数据。
(免责声明:我写了这个图书馆)。