Maquereaux et départements

Cette semaine, l’énigme “classique” de FiveThirtyEight (qu’on peut retrouver ici) demande de trouver des mots n’ayant aucune lettre en commun avec un et seul état américain. Par exemple, “mackerel” (le maquereau) a des lettres en commun avec tous les états sauf l’Ohio.

Ce problème peut s’adapter au cas français : quels sont les mots n’ayant aucune lettre en commun avec un et un seul département français ?

En reprenant la liste de mots utilisés pour notre article sur Motus et sur “Des Chiffres et des Lettres”, qui sont de 10 lettres au maximum (selon les règles des jeux), on trouve plus de 15 000 mots qui répondent à notre définition ! L’un d’entre eux est d’ailleurs “MAQUEREAUX”, qui partage (au moins) une lettre en commun avec tous les départements, sauf le Lot.

C’est d’ailleurs ce département qui est le plus souvent à l’origine de la présence des mots dans la liste ; c’est assez logique, car il ne contient ni A, ni E, ni I (lettres qui sont très présentes dans les autres départements), et ne contient que trois lettres.

En utilisant le dictionnaire Lexique, on peut chercher parmi des mots de plus de 10 lettres ceux qui répondent à notre définition. Le mot le plus long répondant à la définition est alors MULTIDIMENSIONNELLE, avec 19 lettres, grâce au département du Var.

Il est possible d’aller plus loin, si l’on accepte de compter tous les caractères des mots et non uniquement les lettres. Dans ce cas, avec 22 signes, le mot répondant à la définition est SUIVEZ-MOI-JEUNE-HOMME (oui, ce mot existe ; non, aucun lien avec les autres maquereaux) car il n’a aucune lettre en commun avec le Gard.

Comment trouver ces mots : description de l’algorithme

Le programme permettant de trouver les mots satisfaisant à la condition demandée (aucune lettre en commun avec un et un seul département) se décompose en plusieurs étapes.

Tout d’abord, on construit des matrices (des tableaux) dont chaque colonne est une lettre de l’alphabet et chaque ligne correspond à, soit un mot du dictionnaire, soit un département. Au croisement d’une ligne et d’une colonne se trouve une indicatrice TRUE/FALSE (qu’on recodera 1/0 après) indiquant si oui ou non la lettre se trouve dans le mot concerné. Pour cela, on utilise la fonction str_detect du package stringR.

sapply(LETTERS,FUN=str_detect,string="AIN")
A     B     C     D     E     F     G     H     I     J     K     L     M     N     O     P 
TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE 
Q     R     S     T     U     V     W     X     Y     Z 
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 

On a ainsi construit un tableau pour le dictionnaire tableau_dico et un tableau pour les départements tableau_dep. La commande suivante va calculer pour chaque mot du dictionnaire le nombre de département ne partageant aucune lettre en commun.

f <- function(x,ajout) {
  return(max(x + ajout))
}

sum(apply(tableau_dep,MARGIN = 1,f,ajout=tableau_dico[mot,]) == 1))

En décomposant un peu le code :

  • la fonction f construite ici prend deux vecteurs x et ajout et calcule le maximum de la somme des deux vecteurs ;
  • ici, ces deux vecteurs sont la ligne de tableau_dico associée au mot choisi et une ligne de tableau_dep, soit des vecteurs de 0 et 1 suivant si les lettres appartiennent aux mots considérés ;
  • f peut ici renvoyer 1 ou 2 : s’il renvoie 1, cela veut dire qu’il n’y a aucune lettre en commun, sinon, la valeur associée à cette lettre serait de 2, car somme de 1 et 1 dans chacun de deux vecteurs, et donc f calculerait un maximum de 2 ;
  • on applique cette fonction à l’ensemble des départements dans tableau_dep (apply avec le choix de margin=1 pour indiquer que l’on travaille sur les lignes) ;
  • on compte alors le nombre de départements pour lesquels cette sortie est 1.

Une fois qu’on a appliqué cette commande à l’ensemble des mots du dictionnaire, on peut enfin isoler les “maquereaux” en filtrant sur ceux pour lesquels le nombre de départements n’ayant aucune lettre en commun est exactement de 1.

Image : Atlantic mackerels (Petar Milošević)

Rolling some dices

Today, a quick post trying to provide an answer to this week Riddle Classic on FiveThirtyEight :

The fifth edition of Dungeons & Dragons introduced a system of “advantage and disadvantage.” When you roll a die “with advantage,” you roll the die twice and keep the higher result. Rolling “with disadvantage” is similar, except you keep the lower result instead. The rules further specify that when a player rolls with both advantage and disadvantage, they cancel out, and the player rolls a single die. Yawn!

There are two other, more mathematically interesting ways that advantage and disadvantage could be combined. First, you could have “advantage of disadvantage,” meaning you roll twice with disadvantage and then keep the higher result. Or, you could have “disadvantage of advantage,” meaning you roll twice with advantage and then keep the lower result. With a fair 20-sided die, which situation produces the highest expected roll: advantage of disadvantage, disadvantage of advantage or rolling a single die?

Extra Credit: Instead of maximizing your expected roll, suppose you need to roll N or better with your 20-sided die. For each value of N, is it better to use advantage of disadvantage, disadvantage of advantage or rolling a single die?

This problem is quite similar to some issues we’ve already tackled on this website, such as Tennis vs Badminton, or archery points (FR), or even how Eurovision rules impacts french rankings (FR). In order to answer we’re going to use simulations with R. The main set of functions needed is described here:

dice <- function() {return(sample(1:20,1))}

advantage <- function() {
  a <- dice()
  b <- dice()
  return(max(a,b))
} 

disadvantage <- function() {
  a <- dice()
  b <- dice()
  return(min(a,b))
} 

disadvantage_of_advantage <- function() {
   a <- advantage()
   b <- advantage()
   return(min(a,b))
 }

advantage_of_disadvantage <- function() {
   a <- disadvantage()
   b <- disadvantage()
   return(max(a,b))
 } 

Then, we just need to simulate a fair amount (say, n = 10 000 or 100 000) of every dice rolling method. The first question to answer is: how to get the best rolls on average? The following graph answers it nicely, showing that the “disadvantage of advantage” method leads to better results than just rolling a dice, and even better ones than “advantage of disadvantage”.

Will this method be efficient for the other problem, which is maximising our chances to roll a value higher than a set threshold (resulting in harming the dragon, for instance, instead of failing miserably in our attempt)? The answer is yes… but only for lower values of the threshold!

As shown by the graph, as long as the threshold is 14 or higher (and killing a dragon might be that hard!), it’s better to just roll a dice. Why? That’s because our advantage and disadvantage modifiers tend to concentrate the distributions of values obtained: getting a 20 on “disadvantage of advantage” means that you need to get a 20 on both previous rollings with advantage, meaning that you need at least one 20 during each one ; this is extremly unlikely!

A winning strategy at the lottery

tl;dr – It is possible to construct a winning strategy at the lottery by choosing the numbers that other people rarely select. We discuss this and prove it on a small example.

 

There are many things I don’t like with so-called math reasoning and lotteries, and I wanted to write about it for a very long time. So, on the one hand we have the classic scammers who try to sell you the “most probable numbers” (or alternatively the “numbers that are due”). Of course, neither strategy is mathematically valid (because the draws are independent). On the other hand, many “educated” and “rational” people argue that, given that the expected value of a lottery ticket is negative (because the probability of wining a prize at the lottery is very low), smart people should never buy lottery tickets.

Comic by Zach Wiener, http://www.smbc-comics.com
Comic by Zach Wiener, http://www.smbc-comics.com

Now what if we could find a (mathematically correct!) strategy to make the expected value of our ticket positive? The idea is to choose the numbers that other players choose the least often, so that when we win a prize, it will be divided among fewer other players. But will it be enough to make a significant difference?

The example

Let’s consider a lottery where players have to choose 6 numbers out of 19. The total number of players is 10000. The favorite numbers of the players are 1, 2, 3, 4, 5 and the least favorite are 15, 16, 17, 18, 19. They are respectively selected 2 times more often and 2 times less often than the other numbers 6 –  14. The company who runs the lottery decides to give the players back 90 percent of the amount of the tickets (thus ensuring a 10% profit) depending on the number of numbers they have chosen that also are in the right combination:

  • 0 or 1 correct number: 0%
  • 2 correct numbers: 42%, shared with other winners
  • 3 correct numbers: 10%, shared with other winners
  • 4 correct numbers: 3%, shared with other winners
  • 5 correct numbers: 4%, shared with other winners
  • 6 correct numbers (the jackpot): 40%, shared with (the eventual) other winners

Then we compute the expected value for each ticket that was bought. You can find the R code I used on my GitHub page. I plotted the expected gains against an indicator of the rarity of the combination chosen by each player (the harmonic mean of the inclusion probabilities):

 

Expected gains wrt a measure of the frequency of the combination chosen

As we predicted, the expected gains are higher if you chose an “unpopular” combination. But what impresses me most is the order of magnitude of the effect. It is indeed possible to find a combination that yields a positive expected value (points on the left that are above the red line)!

Further work

I have no idea how all this works when we change the parameters of the problem: numbers to choose from (49 in France for example), number of players, choices of the players (inclusion probabilities of the numbers), payoffs, etc. I bet that the shape of the curve remains the same, but I wonder how high the expected value can get for the rarest combinations, and if it is always possible to find a winning strategy. I might try to work on an analytical solution when I find some time because I believe it involves some sampling theory.

Finally, a question to all people who never play the lottery because the expected value is negative, would you start buying tickets now that you know there exists a strategy with positive expected value?

Comic by Zach Wiener, http://www.smbc-comics.com
Comic by Zach Wiener, http://www.smbc-comics.com

PS: Henri pointed out chapter 11 of Jordan Ellenberg’s “How not to be wrong” which deals with interesting mathematical facts about the lottery, including a similar discussion as this post. Be sure to check it out, it’s really great!

[Games] Quels mots faut-il jouer à Motus ?

Après avoir tenté de percer les mystères des mots des Chiffres et des Lettres, nous allons nous attaquer à un autre jeu emblématique de France Télévisions : Motus ! Est-ce que l’analyse statistique du dictionnaire français va nous permettre de trouver des astuces pour mieux jouer à ce jeu et plus facilement trouver les mots cachés ?

Un bref rappel des règles

Le jeu de motus est basé sur un mélange entre les jeux de lettres (Scrabble, etc.) et le jeu de Mastermind, qui consiste à deviner une combinaison de couleurs en le moins de coup possibles : à chaque étape, le joueur tente une combinaison et le maître de jeu indique si des couleurs font partie de la combinaison choisie et si elles sont à la bonne position.

Pour motus, le principe est adapté de la façon suivante : un mot est à deviner. Il peut faire 7, 8, 9 ou 10 lettres (parfois 6 dans certaines variantes du jeu, par exemple pour les enfants). La première lettre du mot est toujours donnée : il faut deviner le mot le plus rapidement possible, et toujours en moins de 6 coups. Pour cela, lorsqu’un mot acceptable (c’est à dire dans le dictionnaire, commençant par la bonne lettre, et de la bonne longueur) est donné, des informations sur chacune des lettres sont donnés. Si la lettre est à la bonne place dans le mot à deviner, elle est encadrée de rouge. Si elle n’est pas à la bonne place, mais qu’elle est bien dans le mot à deviner, elle est encerclée de jaune. Par exemple, pour le mot suivant :

Obtenue

Il faut donc deviner un mot de 7 lettres commençant par O. Notre tentative, OBTENUES, nous permet d’apprendre que le mot commence par OB, et qu’il y a un E dans le mot à deviner. Mais nous apprenons aussi que le mot à deviner n’a pas de T, de N ou de U, et qu’il n’y a qu’un seul E. C’est déjà beaucoup d’informations ! En rajoutant un autre mot, on a un peu de chance :

Obliger

On a 6 des 7 lettres, et il reste donc deux mots possibles : OBLIGES et OBLIGÉE. Or, on a appris avec le premier mot qu’il n’y a qu’un seul E. Le mot à deviner est donc :

Obligés

Le meilleur mot

On voit bien que le choix du premier mot nous a permis de choisir le bon mot au troisième essai. La question que nous allons nous poser ici est la suivante : existe t-il des mots meilleurs que d’autres à utiliser en “ouverture”, c’est à dire au premier coup ? Pour y répondre, il va falloir bien définir ce que nous entendons par “meilleur”. L’approche que nous allons utiliser ici est celle de la minimisation du nombre de possibles une fois que le mot est joué. Concrètement, plaçons nous dans un exemple simple où les codes qu’on pourrait deviner sont les suivants :

1112
1113
1114
1234
1999

Si l’on joue 1999, hormis si l’on a un coup de chance et que c’était le code à deviner, on va avoir comme information que le premier “1” est bien placé, mais que les trois “9” ne sont pas présents dans le code à deviner : on n’a aucune information utile pour la suite du jeu. En revanche, si on joue 1234, les réponses possibles seront les suivantes :

Codes

On voit alors qu’avec un seul coup, on sait exactement quel est le code caché. Le choix de 1234 plutôt que 1999 semble ainsi meilleur. Dans le cas de Motus, on va regarder si certains mots à jouer en premier permettent de limiter les choix parmi lesquels le mot caché peut se retrouver. Concrètement, on s’attend à ce que AUTORISE, qui contient plusieurs voyelles différentes, un T, un R, et un S, sera plus informatif que AGARAGAR, qui est une répétition des mêmes voyelles et avec des G qui sont des consonnes rares.

Nous allons donc parcourir tous les mots possibles à jouer au premier coup. Pour chacun d’entre eux, on souhaite calculer un score qui correspond au nombres de mots moyens qui restent possibles après les informations obtenues après avoir joué son premier coup. Concrètement, ce score se calcule en regardant tous les mots cachés possibles, et on compte à chaque fois combien de mots sont encore possibles.

Mais nous n’allons pas nous limiter à un seul mot, car pour certaines des lettres, cela n’est pas suffisant ! Nous poursuivons ainsi en analysant pour les meilleurs “premiers coups”, quels sont les bons seconds choix, puis troisièmes, afin de garantir une facilité de découverte du mot final.

Résultats

7 lettres
ACTIONS AMPLEUR ABREGEE
BURSITE BALCONS BRIDGER
CARTONS CHIPEUR COMBLEE
DIRECTS DEVALUE DUMPING
ENCULES ETIRAGE EPOXYDE
FARINES FLUCTUE FIBROME
GRATINS GOLFEUR GAMBADE
HURLANT HOSPICE
INSURGE IMPACTS IDOINES
JESUITE JOURNAL
KASCHER KARTING
LUTINER LASCIVE
MARTINS MODULEE
NAUTILE NOCIVES
OBSTRUE ORDINAL
PASTOUR PELVIEN PROCEDE
QUALITE QUINTES
RANIMES RECOLTE REPERDU
SAURETS SINOPLE SMICARD
TAMISER TOLUENE TRICARD
URBAINS UNICITE
VALIDES VENGEUR
WILDCAT WALLABY
YAOURTS YAKUZAS
ZAIROIS ZAPPANT
8 lettres
ADROITES ANTICLUB AMPERAGE
BASCULER BEOTIENS BOURGADE
CARLISTE COMPOUND CHANVRES
DECLINER DOMPTAGE DEFAVEUR
ENTOURES EMPILAGE EXCEDENT
FAUTRICE FIGNOLES
GALIOTES GONFLEUR
HUMANITE HARCELES
INSULTES IMPAVIDE INCONGRU
JALOUSER JUNGIENS
KALMOUKS KACHOUBE
LUSTRAGE LINOLEUM
MANITOUS MORCELEE
NATURELS NEGOCIEE
OCULAIRE OBSEDANT
PRALINES POUCETTE PEGAMOID
QUANTITE QUELQUES
RALINGUE REPORTES RECESSIF
SARDOINE SCULPTES
TAULIERS TRONCHER
URANISTE UFOLOGIE
VAURIENS VITILIGO
WARNINGS WAGONBAR
XIPHOIDE
YACHTMAN YACHTING
ZAIROISE ZAIBATSU
9 lettres
ANTICORPS AMPLITUDE
BOUCLIERS BADMINTON
CONTIGUES CHAMELIER
DECANTEUR DIPLOMEES
ENTOURAGE ECLIPSEES
FORMALITE FECONDEES
GALOPINES GRATITUDE
HURLANTES HEDONISTE
INTERLUDE IPSOFACTO
JAPONISER JOUISSIFS
KAYAKISTE KAMIKAZES
LANGOUSTE LUCRATIVE
MAROCAINS MULTITUDE
NATURISME NORMALITE
OUTRANCES OLYMPIADE
PRODUITES PLACEMENT
QUANTIEME QUENOTTES
RALINGUES RECOMPTER
SURACTIVE SOULIGNES
TRACTIONS TELEGUIDE
ULTRASONS UKRAINIEN
VIRULENTS VAGABONDE
WAGNERIEN
XENOPHOBE
YACHTCLUB
ZIGOUILLE ZAIROISES
10 lettres
ANTIODEURS ACCEPTABLE
BRILLANCES BOUGREMENT
CONSTITUER CALVINISME
DESACTIVER DECOUPLAGE
ENCAGOULES EXPEDITEUR
FIGURANTES FALCIFORME
GRIMPANTES GRENOUILLE
HONORAIRES HEMATOCELE
INTERLOPES INDICATEUR
JANISSAIRE JACASSANTE
KANGOUROUS
LUXURIANTS LOCOMOBILE
MATRICULES MODERNISME
NOVATRICES NAPHTALENE
ORIENTEURS OMBILICALE
PREDICANTS PORTEPLUME
QUANTIEMES QUADRANGLE
RECAPITULE REVIGOREES
SARDONIQUE SIMPLISTES
TRAINGLOTS TUMESCENCE
ULTRACHICS UKRAINIENS
VARIATIONS VALDINGUER
WAGONSALON
XENOPHOBES XENOGENESE
YACHTWOMAN
ZENITHALES

[Games] Les mots les plus probables à “Des chiffres et des lettres”

Pour changer un peu, aujourd’hui, un post écrit en français ! De temps à autres pendant mes congés, je prends le temps de regarder la célèbre émission “Des chiffres et des Lettres”. Je m’assois devant ma télévision avec une bonne tasse de thé bien chaud, du papier et un crayon pour compter les points, et je tente de terminer avec le score le moins éloigné possible du vainqueur du jour. Sur la partie “Le compte est bon” (les chiffres, donc), je crois m’en tirer honorablement. “Le mot le plus long” (les lettres) est pour moi un exercice beaucoup plus difficile ; il n’est pas rare que je n’aie rien à proposer, quand les candidats ont de leur côté trouvé le même “8 lettres” dont j’ignore la signification !

Bien que je n’aie que trop rarement l’occasion de regarder l’émission, il me semble que l’on retrouve assez souvent les mêmes mots parmi les solutions. De plus, certains mots rares semblent connus de beaucoup de candidats : si je comprends bien, il s’agit quand on s’entraîne de procéder un peu comme au Scrabble, en apprenant à reconnaître des types de combinaisons, et les listes de mots associés. Je me suis donc demandé si l’on pourrait construire des probabilités de tirage pour chaque mot, et en déduire la liste des mots les plus probables.

En cherchant sur les interwebs, je suis tombé sur beaucoup de solveurs “Le mot le plus long” programmés en javascript, quelques fanblogs avec des conseils pour joueurs en herbe, mais rien qui ne ressemble à un début de réponse à la question que je me posais (pour une analyse de la partie “Le compte est bon”, je vous renvoie à l’excellent post sur le blog Datagenetics).

Le problème

Il s’agit donc de dresser une liste des mots valides dans le jeu, et de leur attribuer à chacun une probabilité de tirage. Intuitivement, cette probabilité de tirage doit prendre en compte la fréquence des lettres tirées par l’ordinateur de l’émission, ainsi que la fréquence d’occurrence des voyelles relativement aux consonnes.

En effet, si vous avez bien compris le principe de l’émission (sinon, rassurez-vous, vous n’êtes pas les seuls), chaque candidat choisit à tour de rôle “consonne” ou “voyelle”, et l’ordinateur tire ensuite une lettre correspondant au choix du candidat. Les choix des candidats doivent donc logiquement influencer la probabilité que l’on attribue à chaque mot.

Afin de ne pas trop surcharger ce post, je n’écrirai pas ici le code utilisé pour chaque étape. Mon programme est écrit en R, et je le mettrai probablement à disposition sur mon gitorious prochainement.

Les données

Pour commencer, nous avons bien entendu besoin d’un dictionnaire adapté, c’est-à-dire contenant uniquement les mots valides selon la règle du “mot le plus long”. Le dictionnaire Lexique contient des informations qui permettent d’identifier la nature grammaticale des mots, ce qui va nous permettre de retirer de la liste les mots interdits par le règlement. Le fichier contient également quelques informations utiles sur chaque mot (sa fréquence d’usage, par exemple), ce qui devrait nous permettre de faire quelques statistiques intéressantes. La dernière mise à jour du dictionnaire Lexique semble dater de 2007. Même si des mots apparaissent et disparaissent chaque année du dictionnaire, un intervalle de 7 ans me semble largement acceptable pour répondre à mes besoins.

Il faut ensuite trouver la probabilité d’appartition de chaque lettre, conditionnellement au choix “Voyelle” ou “Consonne”. Le règlement de l’émission n’est pas très explicite à ce sujet, et après une petite recherche google, il semble que personne ne connaisse réellement les probabilités de sélection des lettres. Qu’à cela ne tienne, nous allons les estimer à l’aide de la loi des grands nombres et d’une base de données ! Jacques Colard tient à jour sur sa page une base de données recensant tous les tirages depuis 1997. Ce travail très impressionnant nous sera également utile pour analyser les choix “voyelle” ou “consonne” des candidats. Le dernier changement dans les règles de jeu date de fin 2011. Afin d’éviter tout problème, mon étude porte sur toutes les émissions diffusées entre janvier 2012 et décembre 2014. Le nombre de tirages dans la base (4671) me semble largement suffisant pour obtenir une bonne précision sur les estimations qui m’intéressent.

Le modèle de probabilité

Nous allons expliciter notre raisonnement à l’aide d’un exemple. Supposons que le jeu se joue avec 4 lettres, et que les candidats ont choisi “Consonne” – “Voyelle” – “Consonne” – “Voyelle” (que je note par le suite le pattern CVCV). Calculons la probabilité de sortie du mot “CAVE” avec ce choix. Commençons par les voyelles : A et E. Pour trouver la probabilité de sélection étant donné la probabilité d’apparition de A et E parmi les voyelles, on peut fonctionner avec un arbre de probabilités (la méthode qui est enseignée au lycée, il me semble) :

arbre_proba_horizontal.svg

En suivant le chemin A, puis E, on obtient :

\Pr(A) \cdot \Pr(E)

Mais nous aurions pu tout aussi bien choisir d’abord “E”, ensuite “A”, ce qui nous aurait donné un autre chemin à suivre dans l’arbre de probabilités. On a finalement :

\Pr(A,E) = 2 \cdot \Pr(A) \cdot \Pr(E)

On peut procéder exactement de même avec les consonnes, ce qui donne finalement :

\Pr(C,A,V,E) = (2 \cdot \Pr(A) \cdot \Pr(E)) \cdot (2 \cdot \Pr(C) \cdot \Pr(V))

Plus généralement, pour tout mot, la probabilité de présence étant donnée le pattern s’écrit :

\Pr(mot | pattern) = NP(voyelles) \cdot \underset{lettre \in Voyelles}{\displaystyle{\prod}} \Pr(lettre | voyelle) \cdot NP(consonne) \cdot \underset{lettre \in Consonnes}{\displaystyle{\prod}} \Pr(lettre | consonne)

avec :

NP(mot) = \text{nombre de permutations des lettres du mot} = \dfrac{(nombre~lettres)!}{\underset{lettres~repetees}{\displaystyle{\prod}} (occurences~lettre)!}

Je ne détaille pas ici le calcul du nombre de permutations des lettres du mot, qui est un problème classique de combinatoire. Je précise simplement qu’il faut penser à prendre en compte le fait que permuter deux lettres identiques ne constitue pas une nouvelle permutation du mot (vous pouvez vous rendre ici pour une explication détaillée).

Il faut ensuite trouver à partir de la probabilité conditionnelle au pattern la probabilité générale sur tous les patterns. On considère que tous les patterns sont des événements disjoints, ce qui permet d’écrire :

\Pr(mot) = \sum_{pattern} \Pr(mot | pattern)

Estimation des probabilités de tirages des lettres

B C D F G H J K L M N P Q R S T V W X Z
N 777 1664 1075 647 960 666 104 109 2094 1248 2901 1196 232 3562 4152 2846 479 32 197 98
% 0.031 0.0665 0.0429 0.0258 0.0383 0.0266 0.0042 0.0044 0.0836 0.0498 0.1159 0.0478 0.0093 0.1423 0.1658 0.1137 0.0191 0.0013 0.0079 0.0039
A E I O U Y
N 4097 8320 3849 2821 2267 317
% 0.1891 0.3839 0.1776 0.1302 0.1046 0.0146

La fréquence d’apparition de chaque voyelle (et de chaque consonne) est utilisée comme d’estimateur de la probabilité de tirage de chaque lettre. Comme attendu, les lettres rares (Y, Z, etc.) sont moins probables que les lettres courantes (A, E, S, etc.).

Estimation des probabilités des patterns

Mon idée était que les choix des candidats étaient différents suivant les lettres déjà tombées (imaginez un tirage où vous avez déjà obtenu Z,H,Y,U – je suppose que votre choix futur ne sera pas nécessairement le même que si vous avez obtenu E,R,S,A), mais les lettres dans la base semblent apparaître toujours dans le même ordre (à nombre de voyelles égal). La base a déjà dû être ordonnée, et je ne peux donc pas différencier les patterns par ordre d’apparition des voyelles et consonnes (bien que cela ne me semble pas être une approximation trop dramatique !). On s’aperçoit par contre que les fréquences ne sont pas du tout symétriques en nombre de voyelles et de consonnes :

CVCVCVCCCC CVCVCVCVCC CVCVCVCVCV VCVCVCVCVV VCVCVCVVVV VCVCVVVVVV
N 72.00 1805.00 2538.00 248.00 7.00 1.00
% 0.02 0.39 0.54 0.05 0.00 0.00

Note : cette façon de procéder suppose que les tirages sont effectués avec remise, ce qui ne semble pas vrai d’après le règlement de l’émission. On réalise donc en réalité une autre approximation. Cette approximation est potentiellement plus grave pour les lettres rares. En effet, supposons que l’on tire sans remise parmi 100 lettres, contenant 30 “E” et 2 “Z”. Si la première lettre tirée est un “E”, la probabilité de tirer un “E” en deuxième lettre est de 29/99 et la probabilité avec remise (celle que nous utilisons), est de 30/100, qui lui est pratiquement égal. Par contre, si l’on a tiré un “Z” en première lettre, la probabilité de tirer un “Z” en seconde lettre est de 1/99, qui est pratiquement deux fois inférieur à 2/100, la probabilité avec remise. Néanmoins, le nombre de mots avec deux “Z” dans le dictionnaire me semble suffisamment limité pour que l’on ne s’inquiète pas trop de cette approximation !

2,5% de chances qu’un tirage contienne un 10 lettres

Les tirages où il existe un 10 lettres semblent assez peu communs dans l’émission. Dans une des dernières émissions que j’ai pu suivre, les présentateurs de l’émission ont signalé la rareté de l’événement en félicitant un candidat qui avait trouvé un mot de 10 lettres. Essayons d’estimer la probabilité de cet événement en utilisant notre table. On peut utiliser la formule suivante : Si les An sont des événements deux à deux incompatibles, on a :

\Pr(\displaystyle{\cup}_n A_n ) = \displaystyle{\sum}_n \Pr(A_n)

En considérant l’union de tous les mots de 10 lettres, sont-ils deux-à-deux incompatibles ? Non, car des anagrammes peuvent coexister au sein d’un même tirage. Il suffit donc de retirer les anagrammes de notre dictionnaire, afin de pouvoir sommer les probabilités de chaque mot de 10 lettres pour obtenir la probabilité qu’il existe un 10 lettres dans le tirage. On obtient :

\Pr(existe~un~10~lettres) \approx 2.49 \%

Une vérification sur la période 2012 – 2014 montre qu’il y a eu 120 tirages avec existence d’au moins un 10 lettres sur 4671 tirages dans notre base. Ce qui donne une fréquence de 2.57% : pas trop mal !

Pour donner un ordre de grandeur de cette probabilité : en partant d’une émission diffusée à un instant t, il y a presque 40% de chances qu’aucun 10 lettres ne sorte avant 40 tirages, c’est-à-dire presque 7 émissions.

Les mots les plus probables (par nombre de lettres)

odalisque.jpg
Enfin, nous y voici ! Nous sommes désormais capables d’attribuer une probabilité à chaque mot valable pour “Le mot le plus long”. Le mot les plus probable est IE (qui est référencé comme nom dans le dictionnaire Lexique, mais n’est peut-être pas accepté par le dictionnaire de référence, étant une abréviation). Le deuxième mot le plus probable est “EU”, participe passé du verbe “avoir”.

Quelques mots ont une probabilité strictement nulle, car ils contiennent 2 voyelles et 7 ou 8 consonnes, patterns inexistants dans notre base 2012-2014, et donc réputés de probabilité nulle : BLANCSBECS, CULSBLANCS, FRANCFORTS, GRANDSDUCS, HALFTRACKS, NIGHTCLUBS, PLATSBORDS, SCHILLINGS, SCHTROUMPF, SCRATCHING,
SCRIPTGIRL, SHRAPNELLS, SPHINCTERS, SPRINKLERS, STRESSANTS, STRETCHING, TCHATCHANT, TRANCHANTS, TRANSCRITS, TRANSFERTS, TRANSPORTS, TREMBLANTS.

Le mot le moins probable à probabilité strictement positive est BOWWINDOWS. Sa probabilité vaut de l’ordre de 10^-15, ce qui signifie que l’on peut espérer le voir apparaître environ une fois toutes les… 26 000 milliards d’émissions !

Comme on peut s’y attendre, la probabilité est fonction décroissante du nombre de lettres, comme le montre ce graphe en échelle logarithmique :

proba_nombre_lettres.png

Je termine en donnant les mots les plus probables par nombre de lettres (de 6 à 10) :

Mots de 6 lettres

mot probabilite (%) anagrammes
AINEES 0.22 ANISEE
OISEAU 0.21
AEREES 0.20
AERIEN 0.19 ANERIE
SOIREE 0.19

Mots de 7 lettres

mot probabilite (%) anagrammes
OSERAIE 0.11
AERIENS 0.10 ANERIES
ATRESIE 0.09
SATINEE 0.08
REALISE 0.07 SALIERE

Mots de 8 lettres

mot probabilite (%) anagrammes
ARTESIEN 0.04 TANIERES,TRAINEES
ARLESIEN 0.03 LANIERES
ALTIERES 0.03 ATELIERS,REALISTE,REALITES
RATISSEE 0.03
EURASIEN 0.03 RAINEUSE

Mots de 9 lettres

mot probabilite (%) anagrammes
INALTERES 0.02 RALENTIES
NOTARIEES 0.02
INSTAUREE 0.01
CARTESIEN 0.01 CERTAINES,SENATRICE
ENLIASSER 0.01

Mots de 10 lettres

mot probabilite (%) anagrammes
ORIENTALES 0.01 ORLEANISTE
INALTEREES 0.01
NEUTRALISE 0.01 RELUISANTE
INSTAUREES 0.01 TRAINEUSES
RATIONNEES 0.01

Certains de ces mots m’étaient inconnus ou ne me seraient jamais venus à l’esprit dans le cadre du jeu (OSERAIE, ATRESIE, ENLIASSER, RAINEUSE, etc.) !

To be continued…

J’arrête ici ce post déjà bien long… mais je ne manque pas d’idée pour exploiter ma nouvelle base de données (que je vous livre en format texte csv) ! Je vous donne donc rendez-vous d’ici quelques jours pour la deuxième partie de cette analyse des mots les plus probables à “Des chiffres et des lettres”.

Télécharger la base des probabilités des mots

Image titre : logo “Des chiffres et des lettres”, © France 3