Información

Autor(es) Vincent Branders, Pierre Dupont
Fecha de entrega 19/02/2025 14:00:00
Tiempo límite de envío Sin límite de envío

Inicia sesión

[TP.01] Les marches du pouvoir - quotient d'Hare

Le système de vote à la proportionnelle semble assez simple et immédiat au commun des mortels (ou au commun des électeurs) : le nombre de sièges attribués à un parti correspond à la proportion des votes que ce dernier a obtenus. Cependant, si l’on s’attarde sur quelques petites considérations techniques, certaines subtilités qui animent pas mal de monde apparaissent.

Examinons un exemple d’élection : trois partis se disputent 5 sièges à pourvoir.

Parti Nombre de voix Allocation exacte
Utly 437 2,185
Siditu 478 2,390
Ismo 85 0,425

Le problème consiste donc à traduire l’allocation exacte, qui est strictement proportionnelle au nombre de voix, en un nombre de sièges de la manière la plus démocratique. Il existe deux écoles principales (qui se déclinent en beaucoup de variantes).

Méthode du plus fort reste : le quotient d’Hare

La méthode du plus fort reste (variante du quotient d’Hare) consiste à accorder un nombre de sièges égal à la partie entière de son allocation exacte dans un premier temps. Les sièges restants à pourvoir sont donnés tour à tour aux partis dont la partie décimale (= le reste, une fois retranchée la partie entière) est la plus importante. Dans le cas de l’exemple susmentionné, on obtient :

Parti Nombre de voix Allocation exacte Partie entière Reste Sièges accordés
Utly 437 2,185 2 0,185 2
Siditu 478 2,390 2 0,390 2
Ismo 85 0,425 0 0,425 1

Pregunta 1: [Validation] Un exemple simple

Calculez la répartition à laquelle on aurait abouti en suivant la méthode du plus fort reste s’il y avait eu six sièges à pourvoir.

Note : Votre réponse doit être représentée comme un tableau de trois entiers correspondants respectivement au nombre de sièges des partis Utly, Siditu et Ismo. Votre réponse, s'il y avait eu cinq sièges, aurait dû être [2,2,1].

Pregunta 2: Le paradoxe de l'Alabama

En contrastant la répartition des sièges, entre Utly, Siditu et Ismo, lorsqu'il y a cinq ou six sièges à pourvoir, identifiez un comportement indésirable de l'algorithme.

Pregunta 3: Plus fort reste

Vous êtes chargés d'implémenter la fonction suivante en Python. Pour préparer votre code, vous pouvez télécharger le fichier plus_fort_reste.py qui contient la signature de la fonction et quelques exemples de tests.

Note: Lorsqu'il vous est demandé d'implémenter une fonction, vous êtes invités à ne remplir que le corps de la fonction à implémenter.

def plus_fort_reste(n_sieges, resultat_vote):
    '''
    Calcul la repartition des sieges selon la methode du plus
    fort reste (variante du quotient de Hare)
    pre: `n_sieges` > 0
    pre: len(`resultat_vote`) > 1
    pre: `resultat_vote[i]` >= 0
        pour tout `i` tel que 0 <= `i` < len(`resultat_vote`)
    post: retourne un tableau `t` de même longueur que `resultat_vote`
        et tel que `t[i]` est le nombre de sieges attribues au parti
        correspondant a `resultat_vote[i]`
    '''