1
xuegy 2021-04-07 04:36:42 +08:00
这玩意难道不是最容易并行的吗?
所有核一起跑,最后把结果汇总加起来,连 mpi 都不需要。 |
2
xupefei 2021-04-07 04:53:04 +08:00 via iPhone
难并行的是马克罗夫链蒙特卡洛
|
3
dayeye2006199 2021-04-07 05:28:31 +08:00
LZ 是不是把 monte carlo 模拟和离散事件模拟记反了。后面那个并行比较困难,前面那个处开 MCMC,是最适合并行的算法了。
|
4
IgniteWhite 2021-04-07 05:47:27 +08:00
@xupefei 马尔可夫链?
|
5
zxCoder 2021-04-07 08:03:41 +08:00
蒙特卡洛模拟不是随机吗
|
6
BrettD 2021-04-07 08:28:34 +08:00 via iPhone
不同采样之间不是可以独立并行运行吗?为什么难以并行化?
|
7
green15 2021-04-07 08:32:43 +08:00 via iPhone
可能我理解有误,感觉这描述像是拉斯维加斯算法
|
8
noqwerty 2021-04-07 09:32:54 +08:00 1
@BrettD #6 Monte Carlo 本身是很容易并行的,感觉楼主意思是说 MCMC 稍有难度,因为 MCMC 的并行是靠不同的初始化同时跑很多条链,如果 burn-in 比较长的话并行的意义就不大。MC3 其实在实际应用里把这个问题解决很多了。
|
10
noqwerty 2021-04-07 10:11:16 +08:00
@ipwx #9 多条链是最简单的并行方法,但是 burnin 问题比较严重的话跑很多条独立的链意义也不大啊,每条收敛的都很慢
|
11
leimao 2021-04-07 10:21:07 +08:00 via iPhone
Monte Carlo 算法的设计有很多种。MCMC 这种的不好并行。
https://leimao.github.io/blog/Gibbs-Sampling/ 但我之前也做过可以并行的 Monte Carlo 。还是得看具体算法设计,具体问题具体分析。Monte Carlo 的本质还是随机采样而已,怎么采样就看你的设计了。 |