Source: https://people.smp.uq.edu.au/DirkKroese/DSML/DSML.pdf