全球FlexSim系统仿真中文论坛

搜索
查看: 23344|回复: 5
打印 上一主题 下一主题

关于统计分布中“随机数流stream”的解释

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2013-3-25 13:54:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
资料来自《实用系统仿真建模与分析——使用Flexsim》,作者秦天保 周向阳3 s1 g& H. X1 j7 c& \' r
第四章 随机数和随机变数的生成& e; H/ W" `: L3 o: `
1 ]! o/ z! @- r
仿真软件一般会将整个随机数序列分成若干段,例如100000个数为一段。
8 O% G% A) f3 K) U每段成为一个随机数流(stream),每个流会指定一个编号,如0号流,1号流等等。7 b2 `7 S- [* B4 r; V6 ?% Q9 E

" D2 j4 s) ?3 d在Flexsim中调用指数分布函数的形式为exponential(location,scal,stream),其中第3个参数stream就是指定从哪一个流求取下一个随机数,如果省略参数流,则默认使用0号随机数流。: o/ {& X4 d: d! N( ^2 m
: X% k% u+ J0 w
Flexsim系统已经初始化了100个随机数流(0~99号),可供直接使用。& I4 b6 ]: ~  t9 g7 i$ T& S, Q
! m: G3 t/ I/ f! ?* U
如果一个流的随机数在模型运行过程中,经过不断调用耗净了,根据递推公式下一个随机数就会侵入下一个流中去了,这会导致不想要的相关性。为了提高模型输出数据的准确性和精度,建议为模型中的每个对象甚至每个随机因素指定不同的流号。& H$ g$ c3 N2 S/ F4 z- {. l" u

( F" e8 }" n$ ^参考文献:
; c+ \5 T1 E  H" z+ J5 f# ]( Z0 c1 ^' C- P4 k1 ~8 M* K% p- ~

, u* O8 a- J: G. }3 `7 Q5 A( e& `
4 C& ]8 h( W- b2 i

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
king 发表于 2013-3-28 23:37:47 | 只看该作者
学习学习
3#
嗜血黑猫 发表于 2013-4-24 22:45:44 | 只看该作者
非常需要这方面知识啊谢谢
4#
lisa527 发表于 2013-11-18 13:26:51 | 只看该作者
本帖最后由 lisa527 于 2013-11-18 13:39 编辑
/ F: g: A& B7 O1 e, R  ?
" u8 _0 Z$ p5 K& Q2 U9 w7 J这个问题困扰我好久了,现在一次性了结
0 c  j- C) ]( C6 S. j0 L( I---------------------------------------------------------------------------------------------------
- A9 r& _" v  K7 Z$ k8 A/ {-随机数是怎么生成的; k" O' Q4 P3 o5 y8 K% u+ a( X
基于计算机方法生成的随机数称为伪随机数,因为其计算方法已知,不是完全的随机。现在比较流行的生产伪随机数的方法是 Linear Congruential Generation (混合同余法).0 }/ v# O; Q8 f
Linear Congruential Generation (LCG)[1]方法如下:
" `7 ?4 Q' g# Y0 f3 K; q* w5 w+ p8 C6 JX_i=(aX_(i-1)+c)mod m                            (1)
6 ]& E* r6 J. jR_i= X_i/m
: V; ^$ r- T: u* q/ T* bSeed: X_05 B1 c- c, T% t% B; ~; A% k
  S, R- x$ r: |7 H4 X! G
-什么是stream?
0 B. M) o: Z& i/ ?' Y* q基于m的限制,生成的随机数都是循环的,而且最大的循环周期是m。假设生成的随机数周期为P,随机数序列可以写作: X_0,X_1,…X_P,X_0,X_1…6 k1 v1 j4 L3 r8 g* H9 M
正因为它的循环性,取0-P之间任何一个数做seed都可以生成整个随机数列。
& U2 ]2 y. `# K% P3 C3 M为了方便起见,我们把长度为P的随机数分为若干个随机数流(stream),比如说,分成b个,每个stream的长度为P/b: {X_0,X_1,…X_(P/b-1)}, {X_(P/b),…X_(2P/b-1)}…. c! M6 p) o  ^& c; _; T2 v1 Y

2 Z9 m; y6 Y& {, x3 D-Stream有什么用?# W- H! s2 v# e8 l) b; ?! r
通过观察(1)式可以得知,X_i  和 X_(i-1)是相关的。为了避免这种相关性,仿真时常常会选取不同的stream产生各个过程的随机数。
; Q  c5 P& |+ r6 Q1 c, J/ P/ }) x0 \$ P7 U
为此专门写了篇blog在http://blog.sina.com.cn/sui5277
5#
加油陶陶 发表于 2014-7-11 09:30:48 | 只看该作者
学习一下 谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-5-8 01:36 , Processed in 0.057713 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表