Source: https://www-sop.inria.fr/mascotte/rapports_stages/2008_Mohamed_Hadj_Djilani.pdf