模拟与仿真
模拟与仿真用重复随机试验或规则演化,研究难以用闭式公式求解的系统。它不是“画出一条好看的曲线”,而是估计输出分布、控制抽样误差,并回答:“若规则或参数如此,系统会怎样运行?”
与解析模型相比,仿真牺牲了部分封闭形式的优雅,换来对复杂规则、异质个体与随机路径的表达力。与“黑箱机器学习”相比,仿真通常保留可解释的机理或行为规则,便于做情景实验与政策对照。
这一门类解决什么问题
当系统包含随机到达、排队、个体交互、反馈回路或涌现行为时,解析推导往往只能覆盖极简化情形。仿真把问题转化为可重复执行的计算实验:给定输入分布与规则,观察输出统计量及其不确定性。
典型问题包括:
- 估计积分、概率、期望、分位数或风险指标;
- 比较不同策略下的服务水平、库存成本或拥堵程度;
- 研究罕见事件(极端损失、系统崩溃)的发生频率;
- 从局部规则出发观察宏观模式(交通拥堵、舆论扩散、种群空间格局);
- 在参数不确定时,用大量情景评估决策的稳健性;
- 为排队公式、微分方程或优化模型提供交叉验证。
仿真不能替代问题定义、数据检查和结果验证。若系统可用解析排队公式或确定性方程准确描述,应优先使用解析方法,再用仿真做对照。
如何选择方法
| 问题信号 | 优先考虑 |
|---|---|
| 需要估计积分、概率、期望或风险,且能直接从目标分布抽样 | 蒙特卡洛模拟 |
| 目标分布难以直接抽样,但密度可知(至多差常数) | MCMC 采样 |
| 罕见事件导致普通抽样效率极低 | 重要性采样 |
| 系统由“到达—服务—离开”等离散事件驱动 | 离散事件仿真 |
| 存量、流量与反馈回路主导的连续时间聚合行为 | 系统动力学 |
| 空间格点上局部规则决定全局模式 | 元胞自动机 |
| 异质个体有自主决策、记忆与交互 | 基于智能体的建模(ABM) |
补充判断:
- 只要期望/概率,不要路径细节 → 先蒙特卡洛或重要性采样;
- 要后验分布或归一化未知 → MCMC;
- 流程规则复杂、个体排队 → DES;
- 宏观政策反馈 → 系统动力学;
- 空间斑图/蔓延 → CA;
- 行为异质与网络 → ABM。
推荐学习顺序
- 蒙特卡洛基础:随机数、抽样、标准误、置信区间与收敛诊断;
- 方差缩减与高级抽样:重要性采样、MCMC(Metropolis-Hastings、Gibbs);
- 事件驱动与连续反馈:离散事件仿真、系统动力学;
- 复杂系统:元胞自动机、多智能体模型;
- 全程习惯:固定随机种子、报告重复次数、与解析结果或简化模型对照。
一条务实路径是:先会用蒙特卡洛算清一个期望并报告 SE,再进入排队 DES,最后才做 CA/ABM 的可视化叙事。
与其他门类的关系
- 排队论(14) 提供 M/M/1、M/M/c 等解析基线,DES 用于放松假设;
- 微分方程/系统动力学 在聚合层面互通,个体层则用 ABM/CA;
- 优化 常把仿真嵌进目标函数(仿真优化),需控制噪声;
- 全局方法论(15) 对随机种子、参数扰动的检验在本门类几乎必做。
使用提醒
- 固定并报告随机种子,保证结果可复现;
- 运行足够多的独立重复,同时给出蒙特卡洛标准误或置信区间;
- 用解析结果、极限情形或历史数据校准仿真;
- 区分模型不确定性(规则/分布设错)与抽样误差(重复不够);
- 输出应服务于决策:均值之外关注分位数、尾部风险与情景对比;
- 规则越复杂,越要写清伪代码与状态变量,否则不可审稿。
论文中常见写法模板
- 系统描述与边界;
- 输入随机变量与数据来源;
- 仿真逻辑(事件表/存量流量/智能体规则);
- 输出指标定义;
- 重复次数、种子、暖机;
- 结果表 + 与解析/基线对照;
- 敏感性与局限。
进入具体方法页后,建议依次阅读直观理解、适用边界、核心原理、MATLAB 实践和常见误区,并亲自复现示例。