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.