Les maths cachées du Dobble
Dobble, plans projectifs finis, mathématiques récréatives, R, fishualize, combinatoire
Les maths cachées du Dobble
Il y a toujours exactement un symbole en commun et ce n’est pas un hasard !
Les illustrations de cet article utilisent les packages R suivants :
- fishualize par Nina Schiettekatte : silhouettes et palettes de couleurs inspirées de poissons marins ;
- paletteer par Emil Hvitfeldt : collection du plus grand nombre de palettes dans un package R.
Le problème du Dobble
Le Dobble, c’est très simple : deux cartes sont retournées simultanément et il faut trouver le symbole en commun le plus vite possible. Il y en a exactement toujours un et un seul, quelle que soit la paire de cartes. 55 cartes dans la boîte, 8 symboles par carte, des centaines de paires possibles, et cette propriété tient à chaque fois.
Quand on y pense deux secondes, c’est étrange. Comment a-t-on conçu ces cartes ?
L’approche naïve
Essayons de construire un mini-Dobble à la main, avec 3 symboles par carte. On démarre avec un stock de 3 poissons et on génère une première carte.
Carte 1 : on place 3 poissons, au choix.
Carte 2 : elle doit partager exactement un poisson avec la carte 1. On est obligé d’introduire 2 nouveaux poissons : on est maintenant à 5 poissons au total.
Carte 3 : elle doit partager exactement un poisson avec la carte 1, et exactement un avec la carte 2. Ces deux poissons communs doivent être différents, sinon la carte 3 partagerait deux poissons avec l’une des deux. On introduit encore un nouveau poisson : on a maintenant 7 poissons.
Cartes 4 à 7 : la bonne nouvelle, c’est qu’on n’a plus besoin d’introduire de nouveaux poissons. Les 7 déjà posés suffisent à construire 4 cartes supplémentaires qui respectent toutes les contraintes.
Et maintenant, essayons d’en ajouter une 8ème. Elle devrait partager exactement un poisson avec chacune des 7 cartes, mais on peut vérifier exhaustivement : aucune combinaison de 3 poissons parmi nos 7 ne satisfait cette contrainte simultanément. 7 cartes, c’est le maximum.
Ce n’est pas un hasard. En fixant 3 symboles par carte, on a aussi fixé sans le savoir le nombre total de symboles (7) et le nombre total de cartes (7). Tout est lié.
Les plans projectifs finis, ou pourquoi les maths sont là
Pour comprendre comment le Dobble est construit, il faut faire un petit détour par la géométrie. Pas la géométrie euclidienne du lycée, une variante plus étrange, où les règles habituelles sont légèrement tordues.
Une géométrie sans parallèles
Dans la géométrie classique, deux droites parallèles ne se croisent jamais. Dans un plan projectif, cette règle n’existe pas : toutes les droites se croisent, toujours, en exactement un point.
C’est la propriété clé. Et si on remplace « droites » par « cartes » et « point d’intersection » par « poisson en commun », on obtient exactement la propriété du Dobble.
Chaque carte est une droite. Chaque poisson est un point. Deux droites se croisent en exactement un point : deux cartes partagent exactement un poisson.
Le diagramme ci-dessous illustre le cas le plus simple : le plan de Fano, plan projectif d’ordre 2, avec 7 points et 7 droites. Une subtilité : dans cette représentation euclidienne, une des droites ne peut pas être tracée comme un segment sans déformer la structure, elle apparaît donc sous forme de cercle.

La version finie
Un plan projectif fini d’ordre \(q\), c’est la même idée, mais avec un nombre fini de points et de droites. La structure est entièrement déterminée par \(q\) :
- chaque droite contient \(q + 1\) points (= \(q + 1\) symboles par carte) ;
- il y a \(q^2 + q + 1\) droites au total (= \(q^2 + q + 1\) cartes) ;
- il y a \(q^2 + q + 1\) points au total (= \(q^2 + q + 1\) symboles).
Notez que le nombre de cartes et le nombre de symboles sont toujours égaux, c’est une conséquence directe de la symétrie du plan projectif.
Notre mini-Dobble à 3 symboles par carte correspond à \(q = 2\) :
- \(2 + 1 = 3\) symboles par carte,
- \(2^2 + 2 + 1 = 7\) cartes,
- 7 symboles.
Le vrai Dobble utilise \(q = 7\) : \(7 + 1 = 8\) symboles par carte, \(7^2 + 7 + 1 = 57\) cartes et symboles. Les 55 cartes de la boîte ? Deux cartes ont été retirées pour des raisons commerciales, mais la structure sous-jacente est bien là.
Le coup de théâtre
Voilà où ça devient vraiment surprenant. Les plans projectifs finis d’ordre \(q\) n’existent que si \(q\) est une puissance d’un nombre premier : 2, 3, 4, 5, 7, 8, 9…
\(q = 6\) ? Aucun plan projectif fini d’ordre 6 n’existe. La démonstration passe par un objet mathématique surprenant, les carrés latins orthogonaux (Note 1). Pour \(q = 10\), il a fallu attendre 1988 et plusieurs milliers d’heures de calcul sur ordinateur pour conclure (Lam 1991). On ne peut tout simplement pas construire un Dobble valide avec 7 ou 11 symboles par carte. Les maths l’interdisent, ce n’est pas une limitation technique, c’est une contrainte mathématique.
Un carré latin d’ordre \(n\) est un tableau \(n \times n\) où chaque symbole apparaît exactement une fois par ligne et par colonne (comme une grille de Sudoku). Deux carrés latins sont orthogonaux si, superposés, chaque paire de symboles apparaît exactement une fois.
Bose (1938) a démontré qu’un plan projectif fini d’ordre \(n\) existe si et seulement s’il existe \(n - 1\) carrés latins mutuellement orthogonaux d’ordre \(n\). Pour \(n = 6\), il en faudrait 5. Tarry (1900) avait déjà vérifié (à la main, case par case !) qu’il n’en existe même pas une paire. Ce résultat, combiné avec celui de Bose, suffit à exclure définitivement le plan projectif d’ordre 6.
Notre propre Dobble !
Maintenant qu’on comprend la structure, on peut s’amuser. En implémentant la construction des plans projectifs finis en R, on peut générer n’importe quel Dobble valide à partir d’un ordre \(q\) et de visualiser les cartes produites.
Si vous aimez comprendre ce qui se cache derrière les choses et explorer des données en R avec la même curiosité, c’est exactement l’état d’esprit que j’essaie de transmettre dans mes formations.