E6900 − Une nouvelle gouvernance [***** à la main et avec l'aide d'un automate]
Problème proposé par Jean-Louis Legrand
Le conseil d'administration de la startup Math.com décide de désigner les trois membres de son comité exécutif parmi sept candidats extérieurs à l'entreprise. Chaque membre du conseil d'administration doit désigner trois noms.
Après le vote, une synthèse est faite par un programme informatique qui détermine 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é.
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é exécutif de trois membres déterminer la valeur de N en fonction du nombre k de candidats (k ≥ 3)
Solution proposée par diophante.fr et Stan Wagon (Macalester College) Réponse : N = 11
Dans un deuxième temps, il convient de démontrer qu'il n'y a pas de CA de 11 membres qui a la même propriété.
On suppose le contraire avec un ensemble de 11 votes qui a les mêmes propriétés que l'ensemble (E) précédemment décrit.
Avec ces 11 votes, il y a 3*11 chiffres choisis parmi l'ensemble{1,2,3,4,5,6,7}.
Selon le principe des tiroirs,il y a au moins un chiffre k dont la fréquence f(k) est au moins égale à 5 = ENT(33/7) où ENT(..) désigne la partie entière par excès.
Sans perte de généralité, on peut supposer que ce chiffre est égal à 1.
Deux cas de figures sont à étudier:
1) f(1) ≥ 6 1-1 f(1) = 6
Il reste alors 11 − 6 = 5 triplets de 15 chiffres au total choisis parmi {2,3,4,5,6,7}
Toujours selon le principe des tiroirs, il y a au moins un chiffre dont la fréquence est au moins égale à 3 = ENT(15/6). Sans perte de généralité, on peut supposer que ce chiffre est égal à 2.
Il reste alors 2 triplets de 6 chiffres à choisir parmi {3,4,5,6,7}
Toujours selon le principe des tiroirs, il y a au moins un chiffre dont la fréquence est au moins égale à Avec sept candidats, il y a C(7,3) = 35 combinaisons possibles pour former un comiré exécutif de trois
membres.Chaque comité exécutif sera désigné ci-après par un entier abc de trois chiffres distincts avec
1≤ a < b < c ≤ 7.
Soit (L) la liste correspondante dont le terme général est li..
Dans un premier temps, à l'aide d'un programme
informatique du type "force brute",on cherche un entier k le plus petit possible tel qu'avec un conseil d'administration (CA) de k membres on sait trouver une suite de k votes exprimés par k entiers distincts de type xyz avec
1≤ x < y < z ≤ 7 telle que pour tout élément li de L, il y a au moins un membre du CA qui n'a voté pour aucun des trois candidats de li
En simulant un million de votes de 12 membres du CA (voir programme en annexe), on a obtenu l'ensemble (E) de 12 votes: 123,124,126,134,157,167,234,257,267,347,356,456 pour lequel quel que soit un élément li de L susceptible de former un comité exécutif, le nombre total n(i) de membres du CA qui ont voté pour l'un au moins des candidats figurant dans li est strictement inférieur à 12.
.
2 = ENT(6/4). ). Sans perte de généralité, on peut supposer que ce chiffre est égal à 3.
Dès lors le conseil d'administration est satisfait avec la nomination de 123; Contradiction.
1-1 f(1) > 6. On vérifie aisément qu'on arrive à la même contradiction avec le triplet 123.
2) f(1) = 5
Il reste alors 11 − 5 = 6 triplets de 18 chiffres au total choisis parmi {2,3,4,5,6,7}
Toujours selon le principe des tiroirs, il y a au moins un chiffre dont la fréquence est au moins égale à 3 = 18/6. Sans perte de généralité, on peut supposer que ce chiffre est égal à 2.
Il reste alors 3 triplets de 9 chiffres à choisir parmi {3,4,5,6,7}
Toujours selon le principe des tiroirs, il y a au moins un chiffre dont la fréquence est au moins égale à 2 = ENT(9/5). ). Sans perte de généralité, on peut supposer que ce chiffre est égal à 3.
Il s'agit alors de trouver 5 triplets de la forme 1**, 3 triplets de la forme 2** , 2 triplets of the form 3** et sans perte de généralité 1 triplet de la forme 4**.
D'où le tableau ci-après:
Il faut remplir les deux colonnes C₂ et C₃ avec 22 chiffres choisis parmi {2,3,4,5,6,7} qui respectent les contrainte suivantes:
- dans chaque rangée n°1 à n°11, les chiffres dans les colonnes C1,C2,C3 sont dans un ordre strcitement croissant,
- le chiffre “2” apparaît 2 fois au maximum, - le chiffre “3” apparaît 3 fois au maximum,
- le chiffre "4”, “5” ,“6” and “7” chacun 5 fois au maximum - dans la même colonne 4 chiffres au moins sont différents.
- tous les chiffres "7" sont dans la colonne C₃.
Un remplissage manuel par tâtonnements successifs conforté par les résultats d' un mini-programme
informatique confirme qu'il y a toujours un triplet qui satisfait le conseil d'administration. En l'occurence le triplet 256 dans le tableau ci-dessus.
Pour les plus courageux
Stan Wagon et Rob Pratt ont obtenu avec un programme ILP (Integer Lineat Programming) le tableau suivant dans lequel pour un comité exécutif de h membres = 1,2,3,4 et c candidats = 1,2,..,9 on recense le nombre minimum C(c,h) de membres du CA qui met en défaut la désignation systématique du comité exécutif.
La valeur de N est alors N = C(c,h) − 1.
"So we know have this
12 (7, 3) -> {{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {1, 5, 7}, {1, 6, 7}, {2, 3, 5}, {2, 3, 6}, {2, 4, 7}, {2, 5, 6},
{3, 4, 7}, {3, 5, 6}, {4, 5, 6}}
8 (8, 3) -> {{1, 2, 5}, {1, 2, 6}, {1, 3, 8}, {2, 3, 8}, {3, 4, 7}, {4, 5, 6}, {4, 7, 8}, {5, 6, 7}}
7 (9, 3) -> 18 secs {{1, 2, 8}, {1, 4, 5}, {1, 5, 7}, {2, 5, 8}, {3, 4, 9}, {3, 6, 9}, {4, 6, 7}}
6 (10, 3) -> 61 secs {{1, 2, 6}, {1, 7, 8}, {2, 5, 9}, {2, 6, 7}, {3, 4, 10}, {5, 6, 9}}
5 (11, 3) -> 74 secs {{1,4,8},{2,5,9},{2,9,10},{3,7,11},{5,6,10}}
4 (12, 3) -> 9 secs {{1,9,11},{2,5,10},{3,6,7},{4,8,12}}
This completely (!) settles the c=7 case because of: For c >= h(h+1), N(c,h) = h+1. Find into h+1 disjoint h- subsets of c.
The (25,10) case has no chance with ILP however. The cases above have 100 or 200 variables. The 25, 10 case has 3000000 variables.
Moving to h=4 I am now trying c=10, h=4. But probably I cannot get all the way to c = 20 where we know the answer is 5 from that point on.
After several hours c = 10, h = 4 has not stopped..."
Annexe
Sub macro20180804()
Dim x(500, 3), y(500, 3), n(500), z(500), m(500), s(500, 500) a0 = 9: b0 = a0 * (a0 - 1) * (a0 - 2) / 6
k0 = 7
For i1 = 1 To a0 - 2 For i2 = i1 + 1 To a0 - 1 For i3 = i2 + 1 To a0 k = k + 1
x(k, 1) = i1: x(k, 2) = i2: x(k, 3) = i3 m(k) = 100 * i1 + 10 * i2 + i3 Next i3
Next i2 Next i1
For p = 1 To 1000
For q = 1 To k0: For r = 1 To b0: s(q, r) = 0: Next r: Next q For i = 1 To b0: z(i) = 0: Next i
k = 0
For i = 1 To 1000000 a = Int(b0 * Rnd(1)) + 1
If z(a) = 0 Then k = k + 1: n(k) = m(a): z(a) = 1: y(k, 1) = Int(n(k) / 100): y(k, 2) = Int((n(k) - 100 * y(k, 1)) / 10): y(k, 3)
= n(k) - 100 * y(k, 1) - 10 * y(k, 2) If k = k0 Then i = 1000001
Next i
For i = 1 To k0 For j = 1 To b0 k1 = 0
If y(i, 1) = x(j, 1) Or y(i, 2) = x(j, 1) Or y(i, 3) = x(j, 1) Then k1 = k1 + 1 If y(i, 1) = x(j, 2) Or y(i, 2) = x(j, 2) Or y(i, 3) = x(j, 2) Then k1 = k1 + 1 If y(i, 1) = x(j, 3) Or y(i, 2) = x(j, 3) Or y(i, 3) = x(j, 3) Then k1 = k1 + 1 If k1 > 0 Then s(i, j) = 1
Next j Next i k2 = 0
For j = 1 To b0 t = 0
For i = 1 To k t = t + s(i, j) Next i
If t = k0 Then k2 = k2 + 1 Next j
If k2 = 0 Then kk = kk + 1
Range("A" & kk).Value = n(1) Range("B" & kk).Value = n(2) Range("C" & kk).Value = n(3) Range("D" & kk).Value = n(4) Range("E" & kk).Value = n(5) Range("F" & kk).Value = n(6) Range("G" & kk).Value = n(7) Range("H" & kk).Value = n(8) Range("I" & kk).Value = n(9) Range("J" & kk).Value = n(10) Range("K" & kk).Value = n(11) Range("L" & kk).Value = n(12) Range("M" & kk).Value = n(13) Range("N" & kk).Value = n(14) Range("O" & kk).Value = k2 End If
Next p End Sub