Les délégations comprennent deux caractéristiques importantes, elles sont
faites pour un élément et ses sous-éléments, elles peuvent être surchargées
par d'autres délégations ou des choix.
Au début je pensais que les délégations pourraient sans problème constituer
un cycle, par exemple: personne A délègue sa voix à B, B à C, C à A
(A->B->C->A). Mais après deux semaines à rechercher un algorithme, j'ai
finalement abandonné,
donc les délégations qui pourraient entraîner un cycle sont maintenant
refusées.
Une autre difficulté était la détermination du nombre de voix donné aux choix,
l'arbre de délégations pouvant entrainer de très complexes calculs. Pour
cela, des sous-délégations sont introduites à chaque étape de l'arbre pour
propager les choix ou délégations.