概率模型
模拟(simulation)是对现实情境的抽象和复现,可用于对已有结论的验证或未知结论的探求。模拟情境的设计要求建模者能对真实情境的主要特点进行归纳并能够基于这些特点将问题转化为编程问题进行解决。 从某种程度上看,每一个模型都是对现实的模拟,这里所讲的模拟主要局限在真对那些参数较多、不宜求解的问题而采取的方法。 2015年A题 Preventing Road Rage,2019年A题 Charge!等都可以采用模拟方法对未知的车流等信息进行模拟,来验证方案的可行性。
对于模拟类的问题,编程是个难点。因为这类问题常常没有现成的程序可以直接应用,所以需要的代码量也比较大。不过编程的前提是对模拟的规则和过程有着清晰的认识,可以借助绘制流程图帮助理清思路。 模拟类问题可以介绍经典的元胞自动机模型,经典的案例包括森林火灾模拟、生命游戏等。不过建模的本质是对特定现象进行理性化的思索和表达,重要的是教会学生处理问题的思路,可以以传染病传播模拟、学习过程模拟、车流模拟等案例进行讲解。
蒙特卡洛模拟
蒙特卡罗方法或蒙特卡罗实验是一类广泛的计算算法,依赖于重复随机抽样来获得数值结果。 其基本概念是使用随机性来解决原则上可能具有确定性的问题。 它经常用于物理和数学问题,当很难或不可能使用其他方法时,它们是最有用的。 蒙特卡罗方法主要用于三类问题:优化、数值积分和概率分布生成。 在与物理相关的问题中,蒙特卡罗方法用于模拟具有许多耦合自由度的系统,如流体、无序材料、强耦合固体和胞状结构(参见胞状Potts模型、相互作用的粒子系统、McKean-Vlasov过程、气体动力学模型)。 其他例子包括在输入中具有显著不确定性的建模现象,如商业风险的计算,以及在数学中,具有复杂边界条件的多维定积分的评估。在应用于系统工程问题(空间、石油勘探、飞机设计等)时,基于蒙特卡罗的故障预测、成本超支和进度超支通常比人类直觉或替代的“软”方法更好原则上,蒙特卡罗方法可用于解决任何具有概率解释的问题。 根据大数定律,由某个随机变量的期望值所描述的积分可以通过取该变量的独立样本的经验均值(又称样本均值)来近似。
- 蒙特卡洛模拟简介|微信版 🌲 蒙特卡洛方法概述|微信版 🌲 蒙特卡洛模拟-数学思想|微信版
- 蒙特卡洛模拟-随机变量的模拟
- 蒙特卡洛模拟-定积分计算|微信版
- 蒙特卡洛模拟-在概率中的应用|微信版
- 蒙特卡洛模拟-求全局最优解|微信版
- 蒙特卡洛模拟-库存管理问题|微信版
- 蒙特卡洛模拟-排队问题|微信版
- 蒙特卡洛模拟-零件参数设计|微信版
- 蒙特卡洛模拟-预测股价
马尔可夫链
- 马尔科夫链概述|微信版 🌲 马尔科夫链模型|微信版
- 钢琴销售的存贮策略|微信版
- Markov Chains in Python: Beginner Tutorial
- 马尔科夫链(slides)
- 马尔科夫链案例分析(slides)
数据采样
当变量的概率分布被参数化时,数学家通常使用马尔可夫链蒙特卡罗(MCMC)采样器。 其核心思想是设计一个具有给定平稳概率分布的明智的马尔可夫链模型。 也就是说,在极限情况下,由MCMC方法生成的样本将是来自期望(目标)分布的样本。通过遍历定理,平稳分布近似于MCMC采样器随机状态的经验测度。 在其他问题中,目标是从满足非线性演化方程的概率分布序列中生成图形。 这些概率分布流总是可以解释为Markov过程的随机状态的分布,其转移概率依赖于当前随机状态的分布(参见McKean-Vlasov过程,非线性滤波方程)。 在其他情况下,我们给出了一个采样复杂度不断增加的概率分布流(时间范围不断增加的路径空间模型,与温度参数下降相关的Boltzmann-Gibbs测量,以及许多其他)。 这些模型也可以看作是非线性马尔可夫链随机状态的演化规律。模拟这些复杂的非线性马尔可夫过程的一种自然方法是对过程的多个副本进行抽样,用抽样的经验测度替换演化方程中随机状态的未知分布。 与传统的蒙特卡洛和MCMC方法相比,这些平均场粒子技术依赖于连续的相互作用样本。 术语平均场反映了这样一个事实:每个样本(也就是粒子、个体、步行者、代理、生物或显型)与过程的经验测量相互作用。 当系统的大小趋于无穷大时,这些随机经验测度收敛于非线性马尔可夫链随机状态的确定性分布,从而使粒子之间的统计相互作用消失。
- 概率编程之非马尔可夫采样|微信版
- 概率编程之马尔可夫采样|微信版
- 蒙特卡洛马尔可夫(MCMC)方法|微信版
- MCMC—马尔可夫蒙特卡洛抽样
- 马尔可夫过程和马尔科夫链 + MCMC采样与Gibbs采样 + 马尔科夫随机场和条件随机场描述
- Markov Models From The Bottom Up, with Python
- Hamiltonian Monte Carlo in PyMC3
排队论
排队论是对排队问题构建数学模型进行研究的理论。通过该理论可以预测队列长度和等待时间。排队理论通常被认为是运筹学的一个分支,因为在对提供服务所需的资源进行业务决策时经常使用排队理论的结果。
元胞自动机
元胞自动机(cellular automata,CA) 是一种时间、空间、状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力。 不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。凡是满足这些规则的模型都可以算作是元胞自动机模型。 因此,元胞自动机是一类模型的总称,或者说是一个方法框架。其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。