MacGyver et la théorie des groupes
By arthur charpentier on Friday, October 29 2010, 14:57 - mathematics - Permalink
L'autre jour, quelqu'un me félicitait pour mon blog, c'était une
étudiante en maths, qui disait comprendre certaines choses en probas et
en stats (entre autres sur les applications possibles).... mais pour la
théorie des groupes, elle ne voyait toujours pas d'intérêt...
J'étais
bien entendu ravi que mon blog serve à quelque chose, mais en fait la
théorie des groupes peut avoir des applications amusantes (bon, tout
dépend aussi de ses centres d'amusement). Par exemple MacGyver
pourrait avoir eu besoin de connaître des résultats sur les groupes
pour sortir des prisonniers des geôles afghanes...

Tous les prisonniers (disons qu'ils sont 20) se voient attribuer un numéro, entre 1 et 20. Le premier prisonnier est appelé et se retrouve face à 20 portes, derrière lesquelles sont cachés des numéros (allant de 1 à 20 là encore). Il a droit d'en ouvrir 10 (au maximum) et il doit retrouver son numéro. S'il n'y arrive pas,tous les prisonniers sont exécutés (lui compris). S'il y arrive, il n'est pas sauvé pour autant car le commandant appelle le second prisonnier, qui se retrouve à son tour devant les 20 portes, et doit trouver son numéro... Etc.
Les prisonniers commencent à paniquer, car tout le monde doit trouver son numéro pour être sauvé. En raisonnant rapidement, un des prisonniers explique qu'un seul prisonnier aurait 50% de chances d'y arriver. Avec deux, comme ils ont tous les deux 50% de chances, on tombe à 25%, etc. Avec n prisonniers, on est à 1/2n, qui est de l'ordre d'une chance sur un million avec 20 prisonniers.... Et qu'ils ont de la chance de n'être que 20 ! Avec 30 prisonniers, ils auraient une chance sur un milliard de s'en sortir (ce qui est faible, on en conviendra).
Mais MacGyver, qui avait pris le cours Théorie des Groupes 101 à l'université (et qui avait R installé dans sa montre digitale) dit
- pas du tout, j'ai une stratégie qui nous donne environ une chance sur trois de tous s'en sortir (vu comme ça c'est pas terrible, mais par rapport à 1 chance sur un milliard, c'est vachement bien),
- et accessoirement, cette probabilité ne dépend pas du nombre de prisonnier (tant que l'on puisse ouvrir moitié moins de portes qu'il y a de prisonniers)
Bon,
sur le moment, les autres prisonniers se fichent du fait que même s'ils
étaient 1000 ils auraient une chance sur trois de survivre, ils
veulent comprendre la stratégie de Mac... La stratégie est simple: chacun ouvre la porte associée à son numéro. Ensuite, il ouvre la porte indiquée sur le papier dernière la porte ouverte.
Car comme le rappelle Mac, le commandant ne fait que choisir une permutation de
,
même s'il est sadique (ou parce qu'il est sadique, les profs de maths
sont sadiques, tout le monde sait ça). Et toute permutation peut se
décomposer en un produit ds combinaisons cycliques (on parle de la décomposition
en produit de cycles à supports disjoints, c'est un truc utilise je
crois pour les amateurs de Rubik's cube),Par exemple, considérons la permutation suivante (c'est la première que j'ai eu sous R),


> set.seed(1)
> portes = sample(1:n,size=n,replace=FALSE)
> prisonnier=1
> essai = c(prisonnier)
> nessai = 1
> i = porte[prisonnier]
> while(nessai <= 50) {
+ essai = c(essai, i)
+ if(i == prisonnier) {
+ cat("Le prisonnier", prisonnier, "a ouvert", nessai, "portes\n")
+ break; }
+ else {
+ i = porte[i]}
+ n essai =n essai+1 }
Le prisonnier 1 a ouvert 4 portes
> cat("Le prisonnier", prisonnier, "a ouvert les portes suivantes", paste(essai[-length(essai)], collapse=" - "), "\n")
Le prisonnier 1 a ouvert les portes suivantes 1 - 6 - 14 - 10
soit ici
Le prisonnier 1 a ouvert 4 portes
Le prisonnier 1 a ouvert les portes suivantes 1 - 6 - 14 - 10
Le prisonnier 2 a ouvert 7 portes
Le prisonnier 2 a ouvert les portes suivantes 2 - 8 - 9 - 19 - 18 - 17 - 12
Le prisonnier 3 a ouvert 2 portes
Le prisonnier 3 a ouvert les portes suivantes 3 - 11
Le prisonnier 4 a ouvert 5 portes
Le prisonnier 4 a ouvert les portes suivantes 4 - 16 - 7 - 15 - 5
Le prisonnier 5 a ouvert 5 portes
Le prisonnier 5 a ouvert les portes suivantes 5 - 4 - 16 - 7 - 15
Le prisonnier 6 a ouvert 4 portes
Le prisonnier 6 a ouvert les portes suivantes 6 - 14 - 10 - 1
Le prisonnier 7 a ouvert 5 portes
Le prisonnier 7 a ouvert les portes suivantes 7 - 15 - 5 - 4 - 16
Le prisonnier 8 a ouvert 7 portes
Le prisonnier 8 a ouvert les portes suivantes 8 - 9 - 19 - 18 - 17 - 12 - 2
Le prisonnier 9 a ouvert 7 portes
Le prisonnier 9 a ouvert les portes suivantes 9 - 19 - 18 - 17 - 12 - 2 - 8
Le prisonnier 10 a ouvert 4 portes
Le prisonnier 10 a ouvert les portes suivantes 10 - 1 - 6 - 14
Le prisonnier 11 a ouvert 2 portes
Le prisonnier 11 a ouvert les portes suivantes 11 - 3
Le prisonnier 12 a ouvert 7 portes
Le prisonnier 12 a ouvert les portes suivantes 12 - 2 - 8 - 9 - 19 - 18 - 17
Le prisonnier 13 a ouvert 2 portes
Le prisonnier 13 a ouvert les portes suivantes 13 - 20
Le prisonnier 14 a ouvert 4 portes
Le prisonnier 14 a ouvert les portes suivantes 14 - 10 - 1 - 6
Le prisonnier 15 a ouvert 5 portes
Le prisonnier 15 a ouvert les portes suivantes 15 - 5 - 4 - 16 - 7
Le prisonnier 16 a ouvert 5 portes
Le prisonnier 16 a ouvert les portes suivantes 16 - 7 - 15 - 5 - 4
Le prisonnier 17 a ouvert 7 portes
Le prisonnier 17 a ouvert les portes suivantes 17 - 12 - 2 - 8 - 9 - 19 - 18
Le prisonnier 18 a ouvert 7 portes
Le prisonnier 18 a ouvert les portes suivantes 18 - 17 - 12 - 2 - 8 - 9 - 19
Le prisonnier 19 a ouvert 7 portes
Le prisonnier 19 a ouvert les portes suivantes 19 - 18 - 17 - 12 - 2 - 8 - 9
Le prisonnier 20 a ouvert 2 portes
Le prisonnier 20 a ouvert les portes suivantes 20 - 13
En adaptant un code développé ici par Matt Asher, on peut d'ailleurs visualiser tout ça sur un petit dessin,
Bref, la grande question est "quelle est la probabilité que la plus grande sous permutation cyclique soit sur un ensemble de taille supérieure à 10"
? On peut faire un peu de Monte Carlo pour voir.... c'est ce que fait
Matt. Mais sinon on peut aussi faire du dénombrement (ce qui est pareil
que les probas). Le nombre de permutations contenant un cycle de
longueur supérieure à 10 (strictement) se calcule de la manière
suivante: soit k la taille du cycle, alors je peux choisir les
nombres de
manières. Il y a alors
permutations circulaires de ces k nombres, et on permute les
nombres qui reste comme on veut, ce qui donne
possibilités. Bref, j'en suis à 

permutations possibles, la probabilité de s'en sortir vivant est 

Moralité, la théorie des groupes peut être marrante et intéressante.... Bon, c'est la seule application à la vraie vie qui me vient à l'esprit, et à moins d'être enfermé en prison avec un geôlier sadique, c'est dur de trouver des applications. N'empêche que la solution est passionnante (mais MacGyver a toujours été mon héros pour ça...)







Comments
«Le point important est qu'ils ne peuvent pas être pris dans une autre permutation que la leur, car ils ont pris leur porte, donc au pire, il tire le numéro de la première porte qu'ils ont ouvert... qui est le numéro qu'ils doivent tirer pour survivre !»
Je n'arrive pas à comprendre qu'est-ce qui fait que le prisonnier sera nécessairement dans SA permutation ?
Dans ton exemple, si je suis le prisonnier numéro 1, je peux ouvrir en premier la porte 16, et dans ce cas là je suis précisément bloqué dans une mauvaise permutation. Je ne vois pas quelle hypothèse de départ nous oblige à être dans la bonne permutation...
Cordialement,
Banz
REPONSE: le prisonnier 1 ouvre la porte 1, c'est ce que demande MacGyver... or 1 a permuté avec 6, car derrière la porte 1, il y a le numéro 6... il se retrouve embarqué dans le cycle (6,14,10,1), et il finit - forcément -par arriver sur 1.... c'est ça la "magie" du truc !
Joli !
Cependant, si un gardien de prison met les prisonniers dans une telle situation, il se peut aussi qu'il soit amateur des applications pratiques des groupes. L'hypothèse qu'il choisisse alors la permutation au hasard est donc discutable.
Donc : s'il est sadique tout court, il choisira une permutation dont le plus grand cycle sera supérieur à 10. Et la probabilité que les prisonniers s'en sortent sera nulle (à moins que cette info ne donne une autre stratégie à Mac ?!)
et s'il est sadique mais sait reconnaitre ses pairs, il mettra la bonne permutation, et il est certain que les prisonniers matheux s'en sortiront.
Reste à savoir la proportion de gardiens d'un type ou de l'autre...
REPONSE: j'aime beaucoup cette critique ! sauf que non, dans l'épisode en question, le gardien est sadique, mais nul en maths... (l'algèbre de base n'était pas obligatoire pour l'examen de geôlier principal, il n'a donc pas suivit le cours)
Aaaah ok, merci beaucoup =) En effet vu sous cet angle... Quel génie ce Mac Gyver =p
REPONSE: j'avais prévenu !
il existe vraiment cet épisode ?
RÉPONSE: malheureusement, non... enfin je veux dire, pas encore... En fait, si une chaîne américaine veut se lancer dans la production d'une nouvelle série des MacGyver (ils ont bien retourné V...), je veux bien devenir scénariste.... enfin, co-scénariste.... Dans mes scénarios, même sans chewing-gum et trombone, il peut encore sauver le monde (à condition d'avoir quelques souvenirs de maths... mais ça doit pouvoir coller au niveau du scénario).
Ce serait mieux que tu te prêtes aux nouveaux scénarii de "Numbers". J'ai regardé 5 minutes d'un épisode, puis, j'ai vomi.