"Random Digit Scrambling" for quasi montecarlo sampling

Started by
1 comment, last by B_old 9 years, 5 months ago

In the paper Efficient Multidimensional Sampling the authors describe a technique they call Random Digit Scrambling (RDS). Has someone more implementation details on this algorithm? The paper gives source code for three different radical inverse functions that can be used to implement RDS but I don't understand how they should be applied.

I especially don't understand how they jump from Hammersley samples to RDS.


func Hammersley(i, numSamples uint32) Vector2 {
	return MakeVector2(float32(i) / float32(numSamples), radicalInverse_vdC(i))
}

Can the above snippet easily be changed to something that generates RDS?

Advertisement

It looks like you are trying to understand someone else's code without understanding, or even reading, the paper: it is clearly stated in section 7 that

Randomized digit scrambling (section 3.2.3) is realized by just calling the routines with a random integer instead of the default parameter uint r = 0.

Hammersley sequences or the like are a higher level construct than radical inverse functions (in fact the "end product" of the whole algorithm), not a low-level primitive.

Omae Wa Mou Shindeiru

It looks like you are trying to understand someone else's code without understanding, or even reading, the paper: it is clearly stated in section 7 that

Randomized digit scrambling (section 3.2.3) is realized by just calling the routines with a random integer instead of the default parameter uint r = 0.

Hammersley sequences or the like are a higher level construct than radical inverse functions (in fact the "end product" of the whole algorithm), not a low-level primitive.

I read the paper and don't understand how they combine the routines to get their RDS.

The scrambled part still makes sense to me.


func ScrambledHammersley(i, numSamples, r uint32) Vector2 {
	return MakeVector2(float32(i) / float32(numSamples), ScrambledRadicalInverse_vdC(i, r))
}

But apparently they are combining all of the three radical inverse functions to get some result.

This topic is closed to new replies.

Advertisement