Un graphe représente un calcul contenant diverses opérations -aires et des variables. Un fils est le résultat d'une opération dont les parents sont aux branches.
L'algorithme va chercher à effectuer des opérations, supprimer des galets inutiles, déplacer des galets et si besoin en rajouter (ou en copier).
On cherche à être correct et un peu efficace. Ne pas hésiter à lire cette documentation si on veut y comprendre quelque chose.
Bon courage !