Source: http://www.math.u-bordeaux.fr/~bbercu/Educa/Master/MasterAlgostoch/pgmaster.pdf