第四章离散事件系统仿真基础(编辑修改稿)内容摘要:
统的随机模型。 对随机现象进行模拟,实质上是要给出随机变量的模拟,即利用计算机随机地产生一系列数值,它们的出现服从一定的概率分布,称为 随机数。 离散事件系统仿真的基础就是产生随机数 产生随机数的方法 1927年 ,4万随机数表 ,以后有 100万随机数表(可以输入内存,随时调用) 从真实物理现象的随机因素中产生随机数,放射性粒子的放射源,电子晶体管的固有噪音等,单位时间内放射出的粒子数是随机的。 优点:真正的随机数; 缺点:外部设备,无法重复 产生随机数的方法 产生伪随机数:用数学公式或位移寄存器的移位操作来产生的随机数,称为伪随机数。 伪随机数并非概率论意义下的真正的随机数。 因为真实的随机数,只能从客观真实的随机现象本身产生出来,所以产生理想的伪随机数列不是一件容易的事。 一般伪随机数要保证有较好的统计特性 以下将伪随机数与随机数等同 对于产生伪随机数的方法,有如下要求 要求伪随机数列有较理想的随机性和均匀性,即对其随机性和均匀性进行统计检验时,有合乎要求的精度 产生伪随机数的程序应当运算速度快、占用计算机的内存少 伪随机数列的循环周期应当尽可能地大,以满足模拟的需要 伪随机数列中,前后之间和各子列之间要求相互独立 随机数的基础 —— 均匀分布的随机数 均匀分布的随机数(均匀随机数)是产生其它随机数的基础。 例如,抛硬币、抽签、统计经验分布都可以由它产生。 最常用的是在 [0,1] 区间内均匀分布的随机数,即这组数值可以看作是 [0,1] 区间内均匀分布的随机变量的一组独立的样本值。 记 X~ U(0,1),[ 0,1]区间上均匀分布的随机变量 X的概率密度 f(x)和概率分布函数 F(x)分别为 : 111000)(0101)(xxxxxFxxf其它 数学期望 : E(X)=1/2。 方 差 : = 1/12 均匀分布的密度函数和分布函数示意图 1 1 0 随机数发生器 产生 [0,1]区间上均匀分布的随机变量的算法,称为 “ 随机数发生器 ” 常用 线性同余发生器 组合发生器 一、线性同余发生器 递推公式: 所有参数值均为非负整数, Z0称为随机数源 则 [0,1]区间上的随机数 可证明: 显然本质上非随机且取值有限 例: m=16, a=5, C=3, Z0=7 1( ) ( m o d )iiZ a Z C m/iiU Z m01( ) ( m o d )1nnnaZ a Z C ma 该发生器特点 适当的 m,a,c可使 Zi循环产生,循环周期称为发生器周期,记为 P;当 P=m时,称发生器具有满周期 适当的 m,a,c可使每个周期内每个数仅出现一次,即具有均匀性 当 m足够大且发生器满周期、均匀时, Ui在[0,1]上均匀分布,且取值足够密 (满周期条件)定理:当且仅当满足下列条件,线性同余发生器满周期 m与 c无公因子 若 q是整除 m的素数,在 q能整除 a1 若 m能被 4整除,则 a1也能被 4整除 当 c0时称混合乘同余法, c=0称乘同余法 素数取模乘同余法( PMMLCG) m是小于 2b的最大素数,而 a的选择满足al1被 m整除的最小整数 l=m1,也就是说能被 m整除的 al1的最小整数为 am11,那么得到的 zj的周期为 m1,且在每个周期内, 1,2,…, m1这些整数严格地只出现一次。 两个经过检验性能较好的 PMMLCG Z Zi i 5 5 1 (mod 235 - 31) Z Zi i 8 5 1 (mod 231 - 1) 二、组合发生器 为提高性能,可用一个发生器控制另一个发生器产生随机数,两种方式 发生器 1产生 ,发生器 2产生 [1,k]上均匀分布的随机整数 I,取出并重新产生 UI 发生器 1, 2产生 和 , 在二进制下循环移位 次得 ,再次与 “ 异或 ” 后得 思路: 减少递推公式的自相关性,提高独立性 加长发生器周期,提高随机数密度和均匀性 1( , )kUU(1)iZ (2)iZ (2)iZ(1)iZ (2)iZ (2)iZiZ三、随机数发生器的测试 常用频率检验:将随机数发生器取值范围[0,1]分为 k个等长区间,由该发生器产生 N个随机数,则落在每个子区间上随机数个数理论值为 n=N/k,称为理论频率,实际第 j个区间上的数据个数 nj 总会有偏差,由此可得 ,其大小反映均匀性程度 221()k jjnnn 计算该随机数序列相邻一定间隔的随机数之间的相关系数,判断相关程度 先由随机数发生器产生 N个随机数 Ui,则前后相隔为 j个数的相关系数的均值为 其中 S2为随机数方差的估计值: 再根据统计理论处理 22111[ ( ) ] /2njj i i jiU U SNj 22111()12NiiSUN C语言中与随机数有关的函数 randomize(void)。 初始化 x=random(int M)。 产生 0~M 之间的随机数 x=rand(void)。 产生 0~2151之间的随机数 Matlab中与随机数有关的函数 Rand(n): n个 [0,1]之间均匀分布随机数 Rand(m,n): m*n 个 [0,1]之间均匀分布随机数 randn(n):n个 N(0,1)标准正态分布随机数 randn(m,n): m*n个 N(0,1)标准正态分布随机数 例 射击命中率 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点.经过长期观察发现,我方指挥所对敌方目标的指示有 50%是准确的,而我方火力单位,在指示正确时,有 1/3的射击效果能毁伤敌人一门火炮,有 1/6的射击效果能全部消灭敌人. 现在希望能用某种方式把我方将要对敌人实施的 20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值 说明 这是一个概率问题,只涉及到简单的随机数的产生和处理,可以通过理论计算得到相应的概率和期望值。 但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程 为了能显示我方 20次射击的过程,考虑采用计算机模拟 需要模拟出以下两件事: (1)观察所对目标的指示正确与否 模拟试验有两种结果,每一种结果出现的概率都是1/2 因此,可以用 投掷一枚硬币 的方式予以确定,当硬币出现正面时为指示正确,反之为不正确 (2)当指示正确时,我方火力的射击结果 模拟试验有三种结果: 毁伤一门火炮的可能性为 1/3(即 2/6), 毁伤两门的可能性为 1/6, 没能毁伤敌火炮的可能性为 1/2(即 3/6). 这时 可用投掷骰子的方法来确定: 出现1、2、3点:则认为没击中敌人; 出现4、5点: 则认为击毁敌人一门火炮; 出现6点: 则认为击毁敌人两门火炮 2. 符号假设 i:要模拟的打击次数; k1:没击中敌人火炮的射击总数; k2:击中敌人一门火炮的射击总数; k3:击中敌人两门火炮的射击总数. E:有效射击比率; E1: 20次射击平均每次毁伤敌人的火炮数 3. 程序流图 初始化 :i=0,k1=0,k2=0,k3=0 i=i+1 骰子 点数 ? k1=k1+1 k2=k2+1 k3=k3+1 k1=k1+1 i< 20? E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20 停止 硬币正面 ? Y N N Y 1, 2, 3 4, 5 6 4. 模拟结果 消灭敌人火炮数 试验 序号 投硬币 结 果 指示 正确 指 示 不正确 掷骰子 结 果 0 1 2 1 正 ∨ 4 ∨ 2 正 ∨ 4 ∨ 3 反 ∨ ∨ 4 正 ∨ 1 ∨ 5 正 ∨ 2 ∨ 6 反 ∨ ∨ 7 正 ∨ 3 ∨ 8 正 ∨ 6 ∨ 9 反 ∨ ∨ 10 反 ∨ ∨ 消灭敌人火炮数 试验 序号 投硬币 结 果 指示 正确 指 示 不正确 掷骰子 结 果 0 1 2 11 正 ∨ 2 ∨ 12 反 ∨ ∨ 13 正 ∨ 3 ∨ 14 反 ∨ ∨ 15 正 ∨ 6 ∨。第四章离散事件系统仿真基础(编辑修改稿)
相关推荐
还是取消它的执行计划。 (2)在执行计划前, Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。 13 在数据库系统中,一般都采取第一种方法,通过事务的概念来解决冲突。 通过 提交 或 回滚来实现事务处理。 这种事务处理机制是假设在冲突发生时,所有已执行的操作都可撤回的。 但在现实中,并不是所有的操作都可被撤回。 例如:两架飞机碰撞。 所以在 Agent分布式环境中
case ’1’ : printf(“%d\n”, a+b)。 break。 case ’2’ : printf(“%d\n”, ab)。 break。 case ’3’ : printf(“%d\n”, a*b)。 break。 case ’4’ : printf(“%f\n”, (float)a/b)。 } } else printf(“Invalid selsction.”)。 }
case 4: case 6: case 9: case 11: /* 处理 “ 小 ” 月 */ days=30。 break。 case 2: /* 处理 “ 平 ” 月 */ if ( year%4==0 amp。 amp。 year%100!=0 || year%400==0 ) days=29。 /* 如果是闰年 */ else days=28。 /* 不是闰年 */ break。
tteet00)(在电场 E作用下,导体内引起传导电流 J,有欧姆定律和电荷守恒定律 设导体内部某区域内有自由电荷分布,密度为 ρ ,则这点激发的电场可由下式表示 为特征时间或驰豫时间 ,表示 减小到 所需时间。 e0 因此,只要电磁波的频率满足 1或者 ( 这就是良导体条件 ) 1 一般金属: τ 的数量级为 1017秒
吸取 MNNG溶液 lml,加入到 1m1孢子悬液中, 30℃ 振荡 30min,立即稀释 1000倍停止作用,然后以 102, 104两个稀释度分离培养,30℃ 3天后计数。 4.死亡率计算 将未处理的孢子液 1ml加入 1ml磷酸缓冲液中,同上逐级稀释分离, 30℃ 下培养 3天。 根据处理前后的活孢子数可计算出死亡率。 5.挑取菌落进行糖化酶及蛋白酶产量筛选. 第五节 营养缺陷型的选育 •
用的能源主要来自农业生产自身获取的生物燃料; 工业文明开始以后 , 煤炭是第一种大规模开采的矿物燃料 、 其主导地位持续了 200年。 由于石油能源的发现和利用 , 才有了内燃机的发明和现代交通工具的出现。 电力的使用将人类社会推进了巨大也是关键的一步。 原始文明时期 , 人们利用的材料主要是自然物。 陶是人类最早学会制造的人工材料 、这一工艺也为冶炼金属进行了技术上的准备。