text: 蒙特卡罗方法小史
  蒙特卡罗方法或蒙特卡罗实验是一类广泛的计算算法，依靠重复随机抽样来获得数值结果。其基本概念是利用随机性来解决原则上可能是确定性的问题。它们常用于物理和数学问题，在难以或无法使用其他方法时最为有用。蒙特卡洛方法主要用于三类问题：优化、数值积分和从概率分布中生成抽样。在物理相关问题中，蒙特卡洛方法适用于模拟具有许多耦合自由度的系统，如流体、无序材料、强耦合固体和细胞结构（见细胞波茨模型、相互作用粒子系统、麦肯-弗拉索夫过程、气体动力学模型）。其他例子包括对输入具有重大不确定性的现象建模，如商业风险计算，以及数学中具有复杂边界条件的多维定积分的评估。在系统工程问题（太空、石油勘探、飞机设计等）的应用中，基于蒙特卡罗方法对故障、成本超支和进度超支的预测通常优于人类直觉或其他 &#34;软 &#34;方法。那么蒙特卡罗方法是如何发展起来的呢？ 在蒙特卡罗方法问世之前，模拟法测试的是一个先前已了解的确定性问题，并使用统计抽样来估计模拟中的不确定性（布冯投针）。蒙特卡罗模拟反其道而行之，使用概率法解决确定性问题。20 世纪 30 年代，恩里科-费米（Enrico Fermi）在研究中子扩散时首次尝试了蒙特卡洛方法，但他没有发表这项研究成果。（中子扩散：在介质内,中子通过与原子核的相继碰撞而散射,由高密度区迁移至低密度区的现象,是核裂变反应堆和某些中子实验装置内中子空间运动的基本现象。）20 世纪 40 年代末，斯坦尼斯劳-乌拉姆（Stanislaw Ulam）在洛斯阿拉莫斯国家实验室从事核武器项目研究时，发明了现代版的马尔可夫链蒙特卡罗方法。1946 年，洛斯阿拉莫斯的核武器物理学家们正在研究核武器核心中的中子扩散问题。尽管洛斯阿拉莫斯的物理学家们掌握了大部分必要的数据，例如中子在与原子核碰撞之前在物质中移动的平均距离，以及中子在碰撞后可能释放出的能量，但他们无法使用传统的确定性数学方法来解决这个问题。乌拉姆提议使用随机实验。他将自己的灵感叙述如下：1946 年，我在养病期间玩单人纸牌游戏时，突然想到了一个问题，由此引发了我实践蒙特卡洛法的最初想法和尝试。这个问题是，用 52 张牌组成的接龙有多大几率能成功出牌？在花了大量时间试图用纯粹的组合计算来估算之后，我在想，比 &#34;抽象思考 &#34;更实用的方法是不是可以把它摆出来，比如说摆一百次，然后简单地观察和计算成功出牌的次数。随着快速计算机新时代的到来，这种设想已经成为可能，我立即想到了中子扩散问题和其他数学物理问题，以及更广泛的如何将某些微分方程描述的过程转变为可解释为连续随机操作的等效形式的问题。后来（1946 年），我向冯依曼描述了这一想法，我们开始计划实际计算。冯-诺依曼和乌拉姆的同事Metropolis建议使用蒙特卡罗这个名字，这是指摩纳哥的蒙特卡罗赌场，乌拉姆的叔叔曾在那里向亲戚借钱赌博。1948 年春，冯-诺依曼、Metropolis等人对 ENIAC 计算机进行编程，首次对裂变武器核心进行了全自动蒙特卡洛计算。20 世纪 50 年代，蒙特卡洛方法在洛斯阿拉莫斯用于氢弹研制，并在物理学、物理化学和运筹学领域得到推广。兰德公司和美国空军是这一时期负责资助和传播蒙特卡洛方法信息的两个主要组织，蒙特卡洛方法开始在许多不同领域得到广泛应用。