• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ljiaming19
V2EX  ›  程序员

蒙特卡洛模拟是不是很难做并行计算

  •  
  •   ljiaming19 · Apr 7, 2021 · 4146 views
    This topic created in 1866 days ago, the information mentioned may be changed or developed.
    从原理本身来说,蒙特卡洛模拟是通过对每次结果的统计筛选来得到最终结果 结果的误差取决于 cycle 的数量 从这个方法本身来说,是不是很难用并行计算?目前大多数做蒙特卡洛模拟的软件貌似都是只能单核串行的
    11 replies    2021-04-07 10:21:07 +08:00
    xuegy
        1
    xuegy  
       Apr 7, 2021
    这玩意难道不是最容易并行的吗?
    所有核一起跑,最后把结果汇总加起来,连 mpi 都不需要。
    xupefei
        2
    xupefei  
       Apr 7, 2021 via iPhone
    难并行的是马克罗夫链蒙特卡洛
    dayeye2006199
        3
    dayeye2006199  
       Apr 7, 2021
    LZ 是不是把 monte carlo 模拟和离散事件模拟记反了。后面那个并行比较困难,前面那个处开 MCMC,是最适合并行的算法了。
    FurN1
        4
    FurN1  
       Apr 7, 2021
    @xupefei 马尔可夫链?
    zxCoder
        5
    zxCoder  
       Apr 7, 2021
    蒙特卡洛模拟不是随机吗
    BrettD
        6
    BrettD  
       Apr 7, 2021 via iPhone
    不同采样之间不是可以独立并行运行吗?为什么难以并行化?
    green15
        7
    green15  
       Apr 7, 2021 via iPhone
    可能我理解有误,感觉这描述像是拉斯维加斯算法
    noqwerty
        8
    noqwerty  
       Apr 7, 2021   ❤️ 1
    @BrettD #6 Monte Carlo 本身是很容易并行的,感觉楼主意思是说 MCMC 稍有难度,因为 MCMC 的并行是靠不同的初始化同时跑很多条链,如果 burn-in 比较长的话并行的意义就不大。MC3 其实在实际应用里把这个问题解决很多了。
    ipwx
        9
    ipwx  
       Apr 7, 2021
    @noqwerty 不同初始化跑很多链不也很简单。反正是很多独立的链。。。
    noqwerty
        10
    noqwerty  
       Apr 7, 2021
    @ipwx #9 多条链是最简单的并行方法,但是 burnin 问题比较严重的话跑很多条独立的链意义也不大啊,每条收敛的都很慢
    leimao
        11
    leimao  
       Apr 7, 2021 via iPhone
    Monte Carlo 算法的设计有很多种。MCMC 这种的不好并行。
    https://leimao.github.io/blog/Gibbs-Sampling/
    但我之前也做过可以并行的 Monte Carlo 。还是得看具体算法设计,具体问题具体分析。Monte Carlo 的本质还是随机采样而已,怎么采样就看你的设计了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2933 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 05:52 · PVG 13:52 · LAX 22:52 · JFK 01:52
    ♥ Do have faith in what you're doing.