Partage des égalités

Bonjour à toutes et tous,
J’espère publier au bon endroit.
J’ai du mal à comprendre le départage des égalités. Dans l’exemple ci-dessous, je ne comprends pas comment les deux premières places sont départagées, je trouve cela contre intuitif (alors que le reste du processus me parait clair comme de l’eau de roche). Pouvez-vous m’expliquer ?

Capture d’écran 2021-08-10 181255|690x409

Merci de vos réponses !
Antoine

2 J'aime

Bonjour Antoine,

Voici quelques explications :

1 (= Vos achats …) a la même mention majoritaire que 2 (= Rendez-vous …). En cas d’égalité, on retire un vote dans la mention majoritaire pour 1 et 2.

Maintenant, la mention majoritaire de 1 est Bien, tandis que celle de 2 est Passable. 1 est donc le gagnant.

Le cas que vous proposez est malheureusement difficile à analyser graphiquement car il y a très peu de d’électeurs. Avec un grand nombre d’électeurs, une meilleure manière consiste à comparer la proportion de votes en dessous et celle au dessus.

1 J'aime

(Quand on leur enlève 1 voix Very Good, leurs mentions majoritaires restent Very Good. Il faut en enlever une 2e pour que leurs mentions majoritaires deviennent respectivement Good et Fair. À part ça, l’explication de @pierre-louis est la bonne. :wink: )

Si tu veux, @antoinehuchin, voici une autre méthode, plus complète, qui permet toujours de départager des options ayant des profils différents.

Elle se fait en 2 étapes :

  1. Calculer la jauge majoritaire complète de chaque option
  2. Classer les jauges majoritaires complètes

1. Calculer la jauge majoritaire complète de chaque option

Je prends l’exemple de l’option 1 de ton vote.

  1. Tu pars du profil de mérite :

    Insufficient Poor Fair Good Very Good Excellent
    Voix 0 2 1 1 5 1
  2. Tu calcules les effectifs cumulés croissants et décroissants :

    Insufficient Poor Fair Good Very Good Excellent
    Voix 0 2 1 1 5 1
    :arrow_upper_right: 0 2 3 4 9 10
    :arrow_lower_right: 10 10 8 7 6 1

    (Et tu en profites pour vérifier que le total des votants est correct. Ici il y a bien 10 votants.)

  3. Tu repères la mention majoritaire. Par définition, c’est la meilleure mention telle qu’une majorité absolue des votants donne au moins cette mention. Autrement dit, dans les effectifs cumulés décroissants (:arrow_lower_right:), c’est, en partant de la droite, la première qui est > 10 / 2 = 5. Ici c’est donc Very Good :

    Insufficient Poor Fair Good Very Good Excellent
    Voix 0 2 1 1 5 1
    :arrow_upper_right: 0 2 3 4 9 10
    :arrow_lower_right: 10 10 8 7 6 1
    MM
  4. Pour chaque mention différente de la MM, tu calcules sa force, qui est le minimum des deux lignes :arrow_upper_right: et :arrow_lower_right: :

    Insufficient Poor Fair Good Very Good Excellent
    Voix 0 2 1 1 5 1
    :arrow_upper_right: 0 2 3 4 9 10
    :arrow_lower_right: 10 10 8 7 6 1
    Force 0 2 3 4 MM 1
  5. Tu peux maintenant écrire la jauge majoritaire complète en écrivant la MM suivie des forces des mentions, en ordre décroissant, préfixées par une direction : 🠕 si elle est supérieure à la MM et 🠗 si elle est inférieure :

    VG (🠗 4) (🠗 3) (🠗 2) (🠕 1) (🠗 0)
    

    (Si plusieurs mentions ont la même force, celles qui sont 🠗 viennent avant celles qui sont 🠕. Voir par exemple le calcul pour l’option 2, plus bas.)

En détaillant tout comme ça, ça semble un peu long et un peu compliqué, mais en fait on ne fait que des additions et des comparaisons. Avec un peu de pratique (ou un tableur) ça devient vite très facile.

Si ça t’intéresse, entraîne-toi en calculant les jauge majoritaires complètes des autres options du vote.

Voici ce que j’ai obtenu :

  • Option 2 :

    Insufficient Poor Fair Good Very Good Excellent
    Voix 0 3 1 0 2 4
    :arrow_upper_right: 0 3 4 4 6 10
    :arrow_lower_right: 10 10 7 6 6 4
    Force 0 3 4 4 MM 4
    VG (🠗 4) (🠗 4) (🠕 4) (🠗 3) (🠗 0)
    

    (Remarquer sur cet exemple que les (🠗 4) viennent avant la (🠕 4).)

  • Option 3 :

    Insufficient Poor Fair Good Very Good Excellent
    Voix 1 2 2 3 2 0
    :arrow_upper_right: 1 3 5 8 10 10
    :arrow_lower_right: 10 9 7 5 2 0
    Force 1 3 MM 5 2 0

    (Remarquer sur cet exemple et le suivant que la MM est bien Fair, et non pas Good.)

    F (🠕 5) (🠗 3) (🠕 2) (🠗 1) (🠕 0)
    
  • Option 4 :

    Insufficient Poor Fair Good Very Good Excellent
    Voix 2 2 1 2 2 1
    :arrow_upper_right: 2 4 5 7 9 10
    :arrow_lower_right: 10 8 6 5 3 1
    Force 2 4 MM 5 3 1
    F (🠕 5) (🠗 4) (🠕 3) (🠗 2) (🠕 1)
    

On a donc finalement :

Option Jauge majoritaire complète
1 VG (🠗 4) (🠗 3) (🠗 2) (🠕 1) (🠗 0)
2 VG (🠗 4) (🠗 4) (🠕 4) (🠗 3) (🠗 0)
3 F (🠕 5) (🠗 3) (🠕 2) (🠗 1) (🠕 0)
4 F (🠕 5) (🠗 4) (🠕 3) (🠗 2) (🠕 1)

2. Classer les jauges majoritaires complètes

Tout l’intérêt d’avoir calculé les jauges majoritaires complètes, c’est qu’elles sont facile à classer. Pour classer deux jauges majoritaires complètes :

  1. Si les MM sont différentes, les classer selon les MM.
  2. Si elles ont la même MM, trouver la première force de mention qui les distingue, c’est elle qui indique leur classement.

Dans notre exemple :

  • Les options 1 et 2, qui ont la MM Very Good, sont mieux classées que les options 3 et 4, qui ont la MM Fair. Donc {opt 1, opt 2} > {opt 3, opt 4}.
  • Pour départager les option 1 et 2, on regarde les forces des autres mentions. Elles ont toutes les deux (🠗 4) donc on l’ignore et on regarde les suivantes. Ensuite l’option 1 a (🠗 3) tandis que l’option 2 a à nouveau (🠗 4). Cette dernière est la plus forte (4 > 3), c’est donc elle qui décide du classement. Comme elle est 🠗, elle indique que l’option 2 est moins bien classée. Donc opt 1 > opt 2.
  • Le même phénomène se produit pour départager les options 3 et 4 : c’est le (🠗 4) de l’option 4 qui détermine leur classement relatif, et elle indique que l’option 4 est inférieure (🠗). Donc opt 3 > opt 4.
  • Finalement : opt 1 > opt 2 > opt 3 > opt 4.

Conclusion

Dis-moi ce que tu penses de cette méthode et de cette manière de l’expliquer. J’ai tellement l’habitude de l’utiliser que tout me paraît simple, mais il est sans doute possible d’améliorer ça.

Bonjour, c’est original comme méthode de départage. Est-ce que vous auriez un moyen de la tester ? Merci

1 J'aime

La tester ?

oui pour comparer les résultats avec les autres systèmes de départage et différents paramètres, résistance à la charge etc…

2 J'aime

Je ne suis pas sûr de tout comprendre.

  • Est-ce qu’on est d’accord sur le fait que c’est une méthode de calcul du JM, le seul, le vrai, tel que défini dans le livre ?
  • Quels paramètres ?
  • C’est quoi la résistance à la charge ?

:slightly_smiling_face:

Bonjour,
ce que j’appelle résistance à la charge est la quantité de calcul que ça nécessite. Sur mon serveur à partir de un million de votants et 5 mentions, ça plante. et c’est un bon serveur :slight_smile:
Mais j’ai calculé qu’à partir de 10000 votants la deuxième méthode de calcul ne produisait aucune incertitude, les ^mêmes résultats, et elle est énormément plus économique en temps de calcul.

1 J'aime

Est-ce que c’est de recueillir les votes qui est coûteux ou de calculer les résultats ? Autrement dit, est-ce que ce que tu dis c’est que

  1. quand un million de clients se connectent simultanément à ton serveur, il crash, ou bien
  2. si je donne au programme qui tourne sur ton serveur un fichier .csv qui contient un million de bulletins, il crash ?

D’ailleurs, est-ce qu’il crash parce qu’il remplit sa RAM, ou bien est-ce qu’il met juste beaucoup trop de temps à répondre ?

Et aussi, en fait, qu’est-ce que tu appelles « première » et « deuxième méthode » ?

1 J'aime

Le recueil des données est un autre problème, qui se résout en y mettant le prix.
Sur mon serveur c’est la mémoire allouée au calcul qui flanche, mais ça peut se régler, ainsi que le temps max de calcul.

Ici on a des données aléatoires, qui ne sont pas non plus très sympa pour les tests puisqu’elles ont tendance à s’homogénéiser : tous les candidats ont presque le même vote, donc il faut beaucoup d’itérations pour résoudre les égalités. Chaque itération reprend le million de votants pour refaire le calcul. Donc on n’utilisera pas cette méthode de calcul alors qu’on a la deuxième méthode qui itère les mentions, et produit dans ce cas les mêmes résultats, en beaucoup moins de temps. Sur les deux méthodes, lire : Jugement majoritaire — Wikipédia

Oui, non, effectivement, ça n’est pas normal. Le calcul du classement à partir des profils de mérite doit se faire en temps constant quel que soit le nombre de votants (en O(n ln(n)) sur le nombre de candidats).

Et effectivement, la méthode où on enlève un vote médian et on recommence n’est pas faite pour être utilisée au delà de quelques dizaines de votants. Elle est une manière simple et intuitive de donner une définition mathématique rigoureuse du JM, mais pas une solution algorithmique efficace.

Pour répondre à ta question, donc, la méthode que j’ai décrite plus haut a, en théorie, la bonne complexité, constante par rapport au nombre de votants, comme la deuxième méthode de Wikipedia. Je n’ai jamais implémenté les deux pour comparer.

1 J'aime

oh, et même jusqu’à la limite de dix-mille candidats, on peut utiliser cette première méthode.
La seconde produit beaucoup trop d’incertitudes en-dessous de 1000 votants (quasiment aucune à 10k).
J’ai aussi planché sur une méthode alternative, qui produit aucune incertitude, des résultats équivalents, et une consommation des ressources qui s’ajuste automatiquement à la difficulté de résolution des incertitudes.