形式陈述
两个模拟方案分别输出 Y A 、Y B ,要估计的是性能差 Δ = E Y A − E Y B ,而非两个均值各自的精度。设两者有有限二阶矩。用共同随机输入 U 构造 Y A = g A ( U ) 、Y B = g B ( U ) ,要求各方案的边缘输出律仍与原模拟相同。独立重复输入 U 1 , … , U m ,得到
D i = g A ( U i ) − g B ( U i ) , Δ ^ C R N = 1 m ∑ i D i . 由于期望的线性性,耦合方式不会改变 E D i = Δ ;但由协方差恒等式 理路 协方差 Covariance 两个随机变量中心化乘积的期望,衡量线性共同变化。 ,
Var ( Δ ^ C R N ) = v A + v B − 2 c m , c = Cov ( g A ( U ) , g B ( U ) ) . 比较基准是在两个方案各做 m 次独立Monte Carlo模拟 理路 Monte Carlo 积分 Monte Carlo integration · Monte Carlo quadrature 将积分改写为随机变量期望,以独立样本均值估计并用方差和概率假设量化随机误差。 再相减,其方差为 ( v A + v B ) / m 。若每次方案输出算一次函数求值,两者都消耗 N = 2 m 次,CRN 恰在 c > 0 时严格降低差值方差。正相关并不要求两个方案输出相等,而是要求共同环境对它们产生相近方向的扰动。
这也说明与对偶抽样 理路 对偶抽样 Antithetic sampling · Antithetic variates · 对偶变量法 把同边缘的两次模拟耦合成一对,以负协方差降低均值方差,并按独立对而非输出行估计标准误。 的区别:对偶法为同一期望的平均寻找负协方差;CRN为两个期望的差寻找正协方差。不能把“负相关有利”脱离最终的加减符号使用。
可以证明的同向性条件
一维随机输入下,若 g A 、g B 都非减且平方可积,取 U 的独立副本 V ,有
2 c = E [ ( g A ( U ) − g A ( V ) ) ( g B ( U ) − g B ( V ) ) ] ≥ 0. 这是展开期望即可验证的恒等式,两因子的符号一致。都非增时也成立;一增一减则符号反转。该论证不需要 U 均匀,也不保证严格正相关或明显改善。对多维、动态仿真,必须检查具体结构,不能把一维单调结论原封不动地套给任意程序。
直觉
独立比较时,A可能碰上轻松的一轮,B却碰上困难的一轮,差值于是混入两份环境噪声。共同随机数尽量让两个方案经历相对应的同一轮环境,先做差,再平均。差值的波动可以很小,即使两个方案输出各自都很分散。
“共同”应定义在随机事件的意义上。排队系统里,第十个顾客的服务需求应在两个方案间对应;不能只说两个程序使用同一整数种子。如果一个方案多执行了一次拒绝采样,顺序读取的随机数就可能错位。错位后边缘模拟仍可能正确,但期待的相关性已经没有依据。
例子与边界
两个阈值响应的精确比较
令 U ∼ Uniform ( 0 , 1 ) ,Y A = 1 { U ≤ 3 / 5 } ,Y B = 1 { U ≤ 2 / 5 } 。目标差为 1 / 5 ,两个边缘方差都为 6 / 25 。独立运行各 m 次的差值方差为 12 / ( 25 m ) 。
共同输入下,Y A − Y B 只在 2 / 5 < U ≤ 3 / 5 时为1,其余为0,故 D ∼ Bernoulli ( 1 / 5 ) ,
Var ( Δ ^ C R N ) = 4 25 m . 同样的 2 m 次求值得到三倍方差改善。也可从 E ( Y A Y B ) = 2 / 5 算出 c = 2 / 5 − 6 / 25 = 4 / 25 ,代入通式得到相同答案。两种计算分别检查差值分布与协方差账本。
若输入为 ( 1 / 10 , 3 / 10 , 1 / 2 , 7 / 10 , 9 / 10 ) ,则A输出为 ( 1 , 1 , 1 , 0 , 0 ) ,B为 ( 1 , 1 , 0 , 0 , 0 ) 。五个差值为 ( 0 , 0 , 1 , 0 , 0 ) ,估计恰为 1 / 5 ,差值样本方差为 1 / 5 ,估计方差为 1 / 25 。这次估计碰巧准确,并不让它的真实随机方差变成零;理论值仍是 4 / 125 。
同一种子也可能让差值更差
令A输出 g A ( U ) = U ,B输出 g B ( U ) = 1 − U 。两者边缘都是均匀分布,真实均值差为0。共同输入给出 D = 2 U − 1 ,方差为 1 / 3 ;独立输入给出的差值方差则为 1 / 12 + 1 / 12 = 1 / 6 。因此CRN把均值差的方差加倍。
这不是模拟边缘错误,而是选了负相关的耦合来做相减。B也可以通过另一个边缘等价实现 g B ( U ) = U 生成,此时配对差恒为零。相同的两个边缘分布,联合构造不同,效率可以完全不同;记录两端各自的种子不足以描述这个选择。
有限差分:减少噪声仍不等于解决求导
设 0 < θ < θ + h < 1 ,g θ ( U ) = 1 { U ≤ θ } 。用同一输入做前向差分,单次输出
H h ( U ) = g θ + h ( U ) − g θ ( U ) h = 1 { θ < U ≤ θ + h } h . 所以 E H h = 1 ,Var ( H h ) = ( 1 − h ) / h ;平均 m 对后方差为 ( 1 − h ) / ( m h ) 。独立输入差分的方差却为
θ ( 1 − θ ) + ( θ + h ) ( 1 − θ − h ) m h 2 . h 很小时,共同输入把这里的噪声增长从 h − 2 改成 h − 1 ,但没有消除增长。以 θ = 2 / 5 , h = 1 / 10 为例,两者方差分别是 9 / m 与 49 / m 。在光滑模型 g θ ( U ) = θ + U 中,同输入差分则恒为1;噪声尺度取决于路径结构,不能给所有模型套同一个差分结论。
阈值模型还显示交换导数与期望的危险:固定几乎每个 U ,g θ ( U ) 关于 θ 的导数为0,但 ∂ θ E g θ = 1 。区间越来越窄、贡献越来越高,使差商缺少可直接交换极限的统一控制。CRN改善差分方差,不会自动证明路径导数法有效。
推论与应用
一份可执行的配对协议
输入应包括两个完整方案、所需比较的输出量、重复次数 m 以及共同随机事件的对应规则。给每个重复编号 i 建立独立随机流;在该重复内部,把需要共享的随机量按事件种类和实体索引对应,例如“顾客j的服务需求”,而额外事件使用另一个标记的子流。这里要求的是每个方案的边缘抽样规则不变、重复之间独立、可共享事件的含义固定;并不要求强行对齐两个不同事件。
每个重复结束才生成一个 D i ,将其送入均值和平方差累加器。不变量是已完成的每一对都恰好给出一个合法差值。若某一侧仿真失败,记录整对失败及原因;只留下能比较成功的运行会改变目标。预设最大运行时间、输出非有限值处理与失败报告,不能用重新抽到成功为止的隐藏筛选维持表面样本数。
当 m ≥ 2 ,以 s D 2 = ∑ i ( D i − D ¯ ) 2 / ( m − 1 ) 估计差值方差,MCSE为 s D / m 。中心极限定理 理路 中心极限定理 Central limit theorem 适当归一化的独立随机变量和在分布上趋于正态分布。 与正态区间都作用于独立差值。总成本为 m 次A运行加 m 次B运行和同步管理;累加工作 O ( m ) ,但每个模拟的实际状态、事件数与时间另计。若两方案成本差异很大,还可比较给独立基准不同样本数的最优分配,本页的等量基准并不声称全局成本最优。
重复比较许多候选方案时,共同随机数有助于构成平滑比较曲线,却不消除“看过噪声后选择最好方案”的选择偏差。最终评价最好使用独立于选择的运行,或采用针对完整选择程序的误差分析。
自测与答案
两方案单次方差分别为4和9,配对协方差为3,独立配对运行100次。估计差值的方差为 ( 4 + 9 − 6 ) / 100 = 0.07 ;不耦合的等量基准为0.13。
阈值有限差分中,h 减半、m 不变会自动提高精度吗?不会。该例期望差分无偏,但方差 ( 1 − h ) / ( m h ) 约增为两倍;对一般目标还须同时权衡差分偏差,不能只把步长往零调。
参考资料