home / academic notes /

Monte Carlo variance reduction algorithms


Methods to improve the signal-to-noise ratio of your [ monte carlo ] radiative transfer simulation

Roulette

Due to the random nature of photon paths in monte carlo simulation, you may end up in a situation where excessive computation time is spent tracking a single packet.

Every MC packet is given an initial weight, \(W _o = L/N_{\text{packets}}\), where \(L\) is the source luminosity. At each scattering event, the packet weight is multiplied by the albedo, or the probability that the packet would have been absorbed at that interaction, \(W = aW\)
After \(N\) interactions the packet weight will be equal to \(W_o \; A^N\)

If the packet falls below a certain weight defined by \(f\;W_o\), give it a survival probability \(p\) to decide whether to terminate or continue tracking. Pick a random number between zero and one. If it is less than \(p\), then reweight the packet according to \(W = W/p\) and continue with the simulation. Otherwise, terminate the packet.