• Aucun résultat trouvé

E.6900 – Une nouvelle gouvernance

N/A
N/A
Protected

Academic year: 2022

Partager "E.6900 – Une nouvelle gouvernance"

Copied!
2
0
0

Texte intégral

(1)

E.6900 – Une nouvelle gouvernance

Probl`eme propos´e par Jean-Louis Legrand :

Le conseil d’administration de la startup Math.com d´ecide de d´esigner les trois membres de son comit´e ex´ecutif parmi sept candidats ext´erieurs `a l’entreprise. Chaque membre du conseil d’administration doit d´esigner trois noms. Apr`es le vote, une synth`ese est faite par un programme informatique qui d´etermine une ou plusieurs listes de trois candidats de sorte que chaque membre, quel que soit son vote, y trouvera au moins l’un des candidats pour lesquels il a vot´e. Quel est le nombre maximum N de membres du conseil d’administration qui garantit que le programme informatique donnera au moins une liste de trois candidats ? Pour les plus courageux : avec un comit´e ex´ecutif de trois membres d´eterminer la valeur de N en fonction du nombre k de candidats (k≥3).

Solution, cod´ee en Python 3, propos´ee par Marc Foubert

On cherche `a concevoir un algorithme donnant le nombre de votants minimum n´ecessaire pour mettre cette d´emocratie avanc´ee en d´efaut.

On d´efinit :

— La liste des votes en constructionvotes;

— La liste des votes potentiels posVotes;

— La liste des r´esultats potentiels de l’´electionresults.

On raisonne ensuite it´erativement :

0. Initialement, votes est vide, posVotes et results sont les ensembles de trois entiers distincts dans{1, . . . , k}.

1. Pour chaque votevdansposVotes, on compte le nombre de r´esultats potentiels quevexcluerait.

2. On choisit le vote maximisant ce nombre, on l’ajoute `avotes, on l’enl`eve deposVoteset on met results`a jour.

3. Tant que results est non vide (i.e. tant qu’il reste au moins un r´esultat potentiel satisfaisant tous les votes dansvotes), on r´ep`ete les ´etapes 1 et 2.

4. On renvoievotes, ainsi que sa longueur, qui donne donc une borne sup´erieure du r´esultat.

Cette m´ethode s’est av´er´ee satisfaisante dans plusieurs cas, cependant on a obtenuN = 14 pour le cas avec 7 candidats, or on savait ce r´esultat strictement sup´erieur `a la bonne r´eponse. C’est pourquoi on a ´etoff´e l’algorithme de la mani`ere suivante :

Apr`es avoir obtenu une premi`ere liste votes par la m´ethode pr´ec´edente, l’algorithme essaie de la r´eduire, en faisant pour chaque paire(u,v)de votes propos´es :

4. On supprimeuet vde votes, on met r´einitialiseposVoteset resultsen rajoutant les r´esultats redevenus satisfaisants du fait de cette suppression.

5. On r´ep`ete les ´etapes 1 et 2 du proc´ed´e dans l’espoir de n’avoir `a rajouter qu’un seul ´el´ement.

On obtient ainsi un exemple avec 12 votants mettant en d´efaut la d´emocratie avanc´ee pour 7 candidats et trois ´elus :

[3,4,7], [2,5,7], [1,3,5], [2,3,4], [1,6,7], [1,3,4], [1,4,5], [4,5,6], [1,2,6], [1,2,7], [3,5,6], [2,6,7]

1

(2)

Figure1 – Extrait du code Python. La fonction completeVote(votes,posVotes,results)r´ealise les

´

etapes 1, 2 et 3 pour les arguments donn´es.

Les caract´eristiques des contre-exemples obtenus sont regroup´ees dans le tableau ci-dessous :

Figure 2 – Meilleurs contre-exemples obtenus par le programme

2

Références

Documents relatifs

« a) Remplir les conditions pour être inscrits sur les listes électorales de la Nouvelle-Calédonie établies en vue de la consultation du 8 novembre 1998 ». Cette

[r]

En revanche quoique, par d´efinition, toute partie soit gagn´ee par 0 ou bien gagn´ee par 1, il se peut qu’aucun des joueurs ne poss`ede de strat´egie gagnante.. (On trouvera

[r]

[r]

La phase organique est constitu´ee d’ac´etate de linalyle et d’acide ac´etique, il faut donc ´eliminer cet ac´etate de linalyle.. On agite le m´elange et on ´elimine la

Sans effectuer les calculs, ´ecrire en ligne l’expression donnant l’ˆage de Paul actuellement.. Effectuer

Sans effectuer les calculs, ´ecrire en ligne l’expression donnant l’ˆage de Paul actuellement....