• Aucun résultat trouvé

Dans SVVAMP, Election est une classe abstraite. L'utilisateur nal manipule toujours une de ses sous-classes implantant les élections utilisant un système de vote particulier (uninominal, assentiment, etc.), qui hérite des attributs et des méthodes de la classe Election.

Dans cette section, nous verrons comment SVVAMP permet d'étudier le ré- sultat d'une élection, diérentes notions de manipulation et l'indépendance des alternatives non pertinentes (IANP ou, en anglais : Independence of Irrelevant Alternatives, IIA).

6.2 Elections

Figure 6.1  Une population utilisant le modèle de Von MisesFisher. V = 1000 électeurs, C = 3 candidats, deux pôles aléatoires de même concentration κ = 50.

6.2.1 Résultat d'une élection

Divers attributs permettent d'étudier le résultat d'une élection quand les élec- teurs sont sincères.

>>> pop = svvamp . PopulationSpheroid (V=3, C =5) >>> print ( pop . preferences_rk )

[[0 2 3 4 1] [0 2 4 3 1] [2 1 3 4 0]]

>>> election = svvamp . Plurality ( pop ) >>> print ( election . ballots )

[0 0 2]

>>> print ( election . scores ) [2 0 1 0 0]

>>> print ( election .w) 0

Nous obtenons le bulletin sincère de chaque électeur, le score de chaque candidat et le vainqueur de l'élection. Les questions d'égalité seront discutées dans la section 6.3.3. SVVAMP fournit également les attributs candidates_by_scores_best_to_worst et scores_best_to_worst pour trier les candidats en fonction de leur résultat dans l'élection.

Les types des attributs ballots, scores et scores_best_to_worst dépendent du système de vote. Par exemple, pour le vote par assentiment (Approval voting), ballots est une matrice V × C de booléens et ballots[v, c] vaut True ssi l'électeur v approuve le candidat c.

On pourra se reporter à la documentation pour une liste exhaustive des attri- buts et plus de détails sur chaque système de vote.

6.2.2 Manipulation par coalition (MC)

An d'illustrer la manipulation par coalition, considérons l'exemple suivant. Rappelons qu'IRV est le sigle anglophone pour le vote à tours instantanés (VTI).

>>> pop = svvamp . PopulationSpheroid (V =1000 , C =10) >>> election = svvamp . IRV ( pop )

Examinons la manipulabilité par coalition de cette élection.

>>> is_CM , log_CM = election .CM () >>> print ( is_CM )

nan

Pour chaque fonction, SVVAMP utilise par défaut son algorithme le plus pré- cis parmi ceux qui fonctionnent en temps polynomial. Dans le cas d'IRV (VTI), décider MC est N P-complet (Bartholdi et Orlin,1991), donc cet algorithme po- lynomial n'est pas exact. Pour cette raison, is_CM peut être un booléen (est-ce que l'élection est manipulable ou pas), ou la valeur conventionnelle nan signiant que l'algorithme n'a pas été capable de décider.

On peut choisir un algorithme exact en modiant l'attribut CM_option.

>>> election . CM_option = 'exact ' >>> is_CM , log_CM = election .CM () >>> print ( is_CM )

True

Pour les systèmes de vote où il y a un algorithme exact fonctionnant en temps polynomial, 'exact' est la seule option disponible.

Comme nous l'avons vu en introduction de ce chapitre, SVVAMP peut préciser en faveur de quels candidats l'élection est manipulable.

>>> is_CM , log_CM , candidates_CM = election . CM_with_candidates ()

>>> print ( candidates_CM )

[ 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.]

6.2.3 Variantes de la MC (MCI, MU, MT)

SVVAMP implante également trois variantes de MC.

On dit qu'une élection est manipulable par coalition ignorante (MCI, ou en anglais : Ignorant-Coalition Manipulable, ICM ) en faveur d'un candidat c 6= w ssi les électeurs qui préfèrent c au vainqueur sincère w peuvent utiliser des stratégies telles que, quelles que soient les stratégies choisies par les autres électeurs, le candidat c soit déclaré vainqueur. C'est donc une notion de manipulation inspirée du critère CMIgn.

On dit qu'une élection est manipulable-unisson (MU, ou en anglais : Unison- Manipulable, UM ) en faveur du candidat c ssi il existe une stratégie telle que, quand tous les électeurs qui préfèrent strictement c au vainqueur sincère w uti- lisent cette même stratégie (pendant que les autres électeurs continuent de voter sincèrement), le candidat c est déclaré vainqueur. La terminologie  unisson  est empruntée àWalsh(2010b). On peut faire le parallèle avec le critère BulMajUni pour l'aspect unisson, mais il est important de souligner les diérences. D'une part, on impose que tous les électeurs intéressés participent à la manipulation et utilisent le même bulletin (avant tout pour permettre un calcul plus facile) ; d'autre part, il s'agit ici de manipulation informée (c'est-à-dire à bulletins des

6.2 Elections

autres électeurs constants), alors que le critère BulMajUni concerne une ma- nipulation ignorante (qui fonctionne quels que soient les bulletins des électeurs sincères).

Enn, on dit qu'une élection est manipulable trivialement (MT, ou en anglais : Trivially Manipulable, TM ) en faveur du candidat c 6= w ssi, quand tous les élec- teurs qui préfèrent strictement c à w utilisent leur stratégie triviale (pendant que les autres électeurs continuent de voter sincèrement), le candidat c est vainqueur. Ce que nous appelons stratégie triviale pour l'électeur v en faveur du candi- dat c contre le candidat w dépend du type de bulletin. Pour les modes de scrutin ordinaux, c'est le bulletin où c est classé premier ( compromis ), w est classé dernier ( enterrement ), et où les autres candidats restent dans l'ordre sincère de préférence de v. Pour les systèmes de vote basés sur les notes, c'est le bulletin où v attribue la note maximale autorisée à c (par défaut 1) et la note minimale aux autres candidats (par défaut −1).

La stratégie triviale paraît naturelle quand l'électeur v souhaite faire gagner c et sait que w est un adversaire fort, sans aucun autre indice sur les chances des autres candidats. Elle requiert peu de coordination entre les manipulateurs. Pour cette raison, quand une MC est possible, la MT est un bon indicateur pour savoir si la manipulation est facile ou pas, en termes d'échange d'information entre les manipulateurs. L'autre avantage évident de cette notion est qu'elle peut être calculée en temps polynomial (à condition que calculer le vainqueur d'une élection soit polynomial, ce qui est généralement le cas, sauf pour des systèmes de vote comme la méthode de Kemeny).

Ces trois variantes de MC  MCI, MU et MT  utilisent la même syntaxe que MC. Par exemple, MU peut être décidée avec les fonctions UM et UM_with_candidates et son algorithme peut être choisi avec UM_option. Comme pour MC, leur option par défaut est d'utiliser l'algorithme polynomial le plus précis disponible.

6.2.4 Manipulation individuelle (MI)

On dit qu'une élection est manipulable individuellement (MI, ou en anglais : Individually Manipulable, IM ) ssi un électeur v, en produisant un bulletin non sincère, peut faire gagner un candidat c qu'il préfère strictement au vainqueur sincère w (pendant que les autres électeurs continuent de voter sincèrement).

La fonction qui fournit le plus d'information sur MI est IM_full.

>>> pop = svvamp . PopulationSpheroid (V=4, C =3) >>> election = svvamp . IRV ( pop )

>>> election .w 2

>>> election . IM_option = 'exact '

>>> is_IM , log_IM , candidates_IM , voters_IM , v_IM_for_c = election . IM_full () >>> print ( is_IM ) True >>> print ( candidates_IM ) [ 1. 0. 0.] >>> print ( voters_IM ) [ 0. 0. 1. 1.] >>> print ( v_IM_for_c ) [[ 0. 0. 0.] [ 0. 0. 0.] [ 1. 0. 0.] [ 1. 0. 0.]]

Dans cet exemple, l'élection est MI. Plus précisément, seul le premier candidat peut en bénécier. Cette manipulation peut être accomplie par l'un quelconque des deux derniers électeurs, alors que les deux premiers ne peuvent pas ou ne sont pas intéressés.

Si seul un sous-ensemble de ces informations est requis, des fonctions dédiées permettent de les obtenir. Elles n'eectuent que les calculs nécessaires, ce qui les rend plus rapides que IM_full.

6.2.5 Indépendance des alternatives non pertinentes

(IANP)

Rappelons que l'élection est indépendante des alternatives non pertinentes (IANP, ou en anglais : Independent of Irrelevant Alternatives, IIA) ssi, quand on eectue l'élection avec les mêmes électeurs et tout sous-ensemble de candidats contenant le vainqueur sincère w, celui-ci reste vainqueur.

Ici, nous étudions l'IANP pour une instance spécique d'élection utilisant une population donnée, pas l'IANP en tant que propriété d'un système de vote en général.

>>> not_IIA , log_IIA , example_subset_IIA , example_winner_IIA = election . not_IIA_full ()

>>> print ( not_IIA ) True

>>> print ( example_subset_IIA ) [ True True False ]

>>> print ( example_winner_IIA ) 0

not_IIA vaut True, ce qui signie que l'élection viole la propriété d'IANP (par cohérence avec les méthodes de manipulation comme MC, True correspond au comportement  indésirable ). Quand c'est le cas, example_subset_IIA fournit un sous-ensemble de candidats qui viole l'IANP : ici, le sous-ensemble contenant les candidats 0 et 1. example_winner_IIA fournit le vainqueur correspondant, en l'occurrence le candidat 0.

Si l'élection ne viole pas IANP, les variables de contre-exemple renvoient la valeur conventionnelle nan.

6.2.6 Critères vériés par un système de vote

Les systèmes de vote possèdent des attributs spéciaux qui représentent diverses propriétés. L'utilisateur nal peut accéder à ces attributs à travers n'importe quel objet Election, mais ils concernent le système de vote lui-même, pas une instance particulière d'élection. Ils sont surtout utiles pour les développeurs de nouveaux systèmes de vote, qui peuvent renseigner ces attributs an d'aider SVVAMP à accélérer ses calculs (cf. section6.3.4).

Par exemple, l'attribut suivant signie que VTI (IRV) est basé sur des classe- ments stricts, pas sur des utilités.

>>> election = svvamp . IRV ( pop ) >>> print ( election . is_based_on_rk ) True

L'attribut suivant signie que le système de vote est basé sur des utilités et que, pour un manipulateur unique ou pour une coalition de manipulateurs en faveur du candidat c, il est optimal d'agir comme s'ils avaient une utilité de 1 pour c et −1 pour les autres candidats. Par exemple, c'est le cas pour le vote par

Dans le document Vers des modes de scrutin moins manipulables (Page 173-178)