24小时热门版块排行榜    

查看: 2541  |  回复: 0

shikang

银虫 (初入文坛)

[求助] java里如何模拟均匀分布?

对概率模型要求非常高的,所以对随机数的产生方式比较敏感。我不是计算机专业,所以只是草草查了下函数库和网络资料,不能定论,于是来求助一下!
1.
java里的math.random(),经验证产生随机序列不够均匀。我发现math.random()不用设置种子也能够每次运行程序跑出不同的随机值,所以我觉得是它帮我自动设置了随机产生的种子。但是这里有一个问题,如果我的种子是不一样的,由于随机序列是由移位寄存器产生的,那么实际上我产生的随机数是,不同随机序列中“某一个”随机数的集合,这样就丧失了随机序列的随机性,因为一个随机序列被设计时是相对具有随机性的,比如m序列,golden序列啥。但是通过不同种子而选出来的多个随机序列的“抓阄”的集合显然不会具有这样的性质。我认为这个是导致math.random()产生不了均匀分布的原因。
我的想法是对的吗?
2.
考虑到以上情况,在用Random(),就不能改种子了。然后我要从不同类多次调用这个random怎么使得第一次调用产生的是序列的一个,第二次调用产生的是序列的另一个而不是每次产生的都是同样的值呢= =(好像是个比较菜的问题)

3.我不知道Random()能否产生比较好的均匀分布,但是在c中的rand()可以。如果能告诉我java如果做均匀分布效果比较好是最好的了
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 shikang 的主题更新
信息提示
请填处理意见