蒙特卡罗模拟是一类依赖重复随机采样来获取数值结果的计算算法。其核心原理是大数定律,该定律表明,随着独立试验次数的增加,结果的平均值将趋向于期望值。这种技术对于那些难以推导出解析解,或者变量数量过多导致无法穷举计算的问题特别有效。从历史上看,这些方法最早的记录用途之一是 Stanislaw Ulam 和 John von Neumann 在第二次世界大战后用于模拟核武器的效果。
一种常见的可视化机制是估算π的值。通过模拟“飞镖”均匀投掷到包含四分之一圆的方形板上的场景,可以用落在圆内的命中次数与总投掷次数的比率来计算π。虽然简单,但这展示了数值积分的一个基本概念:蒙特卡罗方法通常更受高维积分的青睐,因为它们的准确性取决于样本数量,而非维度的复杂程度。然而,这种方法也有局限性;例如,要可靠地将π估算到小数点后四位,大约需要 100 亿个样本,因为采样误差与试验次数的平方根成反比 (1/√N)。
除了纯数学领域,这些模拟还被用于解决复杂的组合和金融问题。在游戏设计中,它们可用于平衡机制——例如,通过模拟数百万个回合来确定“乌龟对阵兔子”比赛游戏的获胜概率,以确保公平的胜率。在金融领域,蒙特卡罗模拟是退休预测的标准工具。与简单的平均回报计算不同(由于回报的顺序至关重要,简单平均可能会产生误导),蒙特卡罗模拟可以模拟涉及波动通胀和波动市场回报的数千种不同情景。这允许规划者看到结果的分布,例如在达到目标年龄前资金可能耗尽的具体百分比,提供比单一“平均”估算更真实的风险视图。
这张图片展示了蒙特卡罗模拟在平衡游戏机制中的应用,特别是针对“乌龟对阵兔子”项目。

该图表可视化了蒙特卡罗模拟如何通过模拟数千种情景来展示各种财务结果的概率。