Académique Documents
Professionnel Documents
Culture Documents
UClouvain, Belgique.
Décembre 2022
P
ylos est un jeu à deux joueurs et aux règles simples. Malgré cela, les parties peuvent avoir
des déroulements complexes, ce qui les rend difficiles à analyser. Dans cet article, nous
cherchons à apporter une compréhension analytique de ce jeu sur un fond mathématique.
1 Introduction à Pylos
Avant de se lancer dans de quelconques considérations mathématiques, explicitons le fonctionnement
de Pylos. Nous passons en revue les règles du jeu, puis discuterons des propriétés que nous mettrons
en lumière au travers de cet article. Une courte vidéo introduit le sujet pour les lecteurs avides de
visualisations (https://youtu.be/bASqYkZ7oTI). Cela dit, celle-ci est indépendante de cet article.
Une partie prend place sur une pyramide à base carrée. A tour de rôle, chaque joueur place une
bille sur le plateau, soit à un emplacement disponnible, soit empilée sur un carré formé de quatre billes.
La partie est remportée par le joueur qui pose la dernière bille au sommet de la pyramide. Si un joueur
Analyse combinatoire du jeu de société Pylos
Un joueur contrôle les billes blanches, tandis que l’autre les billes brunes. La taille standard du
plateau de jeu est un carré de 4 × 4 billes et donc une partie se joue sur une pyramide à 4 étages. Il est
évident qu’il est facile de généraliser cette configuration à une pyramide de base n × n. Chaque joueur
démarre la partie avec 15 billes dans sa main (dans le cas 4 × 4). Une bille est dite libre, si aucune autre
bille ne repose sur elle. Pour permettre aux joueurs de récupérer des billes déjà jouées, les trois règles
qui suivent sont ajoutées. Cependant, nous ne prendrons pas en compte les deux dernières dans notre
réflexion, nous les citons simplement par soucis de complétude vis-à-vis du jeu officiel.
1. Le saut : Plutôt que d’ajouter une nouvelle bille au plateau, un joueur peut, à la place, déplacer
une bille du plateau sur un étage strictement supérieur à un emplacement disponnible, à condition
que cette bille soit libre et soit de sa couleur.
2. Le carré : Si pendant son tour, un joueur réussi à former un carré de quatres billes de sa couleur
sur un même étage, alors il peut retirer une ou deux de ses billes libres de son choix du plateau et
les reprendre dans sa main.
3. L’alignement : À l’instar du carré, un joueur peut retirer une à deux de ses billes libres et les
reprendre dans sa main s’il parvient à aligner quatres billes de sa couleurs aux rez-de-chaussé de
la pyramide.
Figure 2 – Saut
Ainsi, chaque joueur peut à son tour soit faire sauter une bille libre, soit en ajouter une nouvelle
depuis sa main. Puis par carré ou alignement, il peut reprendre dans sa main jusqu’à deux billes libres
du plateau. Bien que ces règles semblent abordables, elles complexifient de manière conséquente le
déroulement d’une partie de Pylos. Prenons en exemple la situation dans laquelle chaque joueur a posé
trois billes sur une même ligne. A leur tour, chaque joueur choisit de compléter sa ligne de quatre billes.
Par la règle de l’allignement, ils peuvent la retirer aussi tôt pour recommencer le même procédé au tour
suivant. Autrement dit, les joueurs peuvent agir de telle manière à jouer une partie sans fin. Un cas
similaire est facilement envisageable avec la règle du carré. Pour éviter des parties interminables, nous
ne prendrons pas en compte les règles du carré et de l’alignement dans la suite de cet article.
Pour mettre en relief cette structure, nous allons étudier des plateaux de jeu de tailles arbitraires, c’est-
à-dire dont la base n’est plus de taille 4 × 4, mais n × n. Enfin, étudier la longueur d’une partie, et surtout
l’ensemble des parties, est un travail fastidieux. C’est pourquoi nous procédons à une simplification du
Page 2 of 20
Analyse combinatoire du jeu de société Pylos
jeu. Au lieu de considérer une pyramide à trois dimensions, nous nous focalisons sur son analogue à
deux dimensions dont voici l’illustration.
Même s’il ne s’agit plus d’une pyramide à proprement parler, nous la désignerons comme tel dans ce
qui suit. Il est intuitif de se dire que les raisonnements que nous établirons sur ces pyramides peuvent
s’étendre à leurs analogues tridimensionnels. Nous clôturons cette introduction en présentant les deux
questions de recherche qui guiderons notre réflexion, celles-ci sont posées sur le cas bidimensionnel
pour une taille arbitraire de pyramide.
1. Quelle est la longueur maximale d’une partie ?
Si on joue sans la règle du saut, cette question est triviale. En effet, la longueur de chaque partie,
autrement dit le nombre de coup nécessaire pour terminer la construction, est simplement égal
au nombre total de billes étant donné que chaque bille doit être jouée. La question est d’intérêt
lorsque l’on joue avec la règle du saut car dans ce cas, un joueur peut jouer un coup sans ajouter
de nouvelles billes au plateau.
Donner le nombre de parties possibles pour une pyramide de hauteur n n’est pas chose aisée, et ce
même sans la règle du saut ! Nous répondrons à cette question du mieux possible sans considérer
cette règle. En plus de calculer certaines valeurs théoriques, on établira un algorithme de dé-
nombrement qui nous fournira davantages de valeurs, numériques cette fois. De plus, on établira
des bornes théoriques dans le but de proposer tout de même un résultat lorsque l’algorithme ne
renvoie pas de réponse dans un temps raisonnable.
Au delà des ces questions de recherches, des pistes de réflexions seront proposées pour généraliser
la démarche au cas tridimensionnel. Pour finir, une annexe est disponible avec des codes Python dont
l’objet est de modéliser une pyramide, vérifier numériquement la longueur maximale d’une partie avec
saut et calculer le nombre de parties sans saut.
Page 3 of 20
Analyse combinatoire du jeu de société Pylos
C C E
A B C A B D
2 1
1 1 1
On dira que la numérotation d’une bille correspond à son poids. La longueur de la partie jouée devient
donc tout simplement la somme des poids de toutes les billes. Dans l’exemple précédent, la partie était
de longueur 7.
Chaque bille devant être mise en jeu, les poids observés sont au minimum égaux à 1, la longueur
d’une partie est donc supérieure ou égale au nombre de billes dans la pyramide, c’est à dire la somme
du nombre de billes sur chaque étage. On notera nk le nombre de billes sur l’étage k de la pyramide
(n1 pour le rez-de-chaussé). On a donc n1 étages, car chaque étage a une bille en moins que l’étage
précédent. Nous déduisons que la longueur d’une partie est supérieure ou égale à,
n1
X n1 (n1 + 1)
nk = n1 + n2 + · · · + nn1 = n1 + (n1 − 1) + · · · + 1 = .
2
k=1
Ceci nous donne une borne inférieure à la longueur d’une partie en fonction de la taille de la base de la
pyramide. On remarque que cette borne est atteinte : il suffit de jouer une partie sans faire de sauts. La
longueur minimale d’une partie de base n1 est donc n1 (n1 + 1)/2.
Nous pouvons d’ores et déjà donner une borne supérieure à la longueur d’une partie en fonction de
la taille de la base. En effet, une bille ayant effectué au moins k sauts se trouve au minimum au k + 1
ème étage, le nombre de sauts qu’une bille a effectués est donc strictement inférieur au numéro de
l’étage auquel elle se trouve. Nous déduisons que le poids d’une bille est borné par le numéro de son étage.
Page 4 of 20
Analyse combinatoire du jeu de société Pylos
Une borne supérieure de la longueur d’une partie est donc donnée par (on somme les poids étage
par étage, et on suppose que le poids de chaque bille est égal au numéro de son étage),
n1 n1 n1 n1
X X X X n1 (n1 + 1)2 n1 (n1 + 1)(2n1 + 1)
knk = k(n1 + 1 − k) = (n1 + 1) k− k2 = −
2 6
k=1 k=1 k=1 k=1
n1 (n1 + 1)(2n1 + 4)
= .
12
On obtient donc une première borne cubique en n1 de la longueur maximale d’une partie. Celle-ci n’est
néanmoins jamais atteinte ! En effet, une observation que nous pouvons faire est que la dernière bille
posée dans un étage est d’office de poids 1 : elle ne peut pas venir d’un étage inférieur par le biais d’un
saut. On n’obtient donc jamais de partie où toutes les billes du k ème étage sont de poids k (sauf dans
le cas très particulier où n1 = 1).
On remarque que les composantes xn de ces b-tuplets respectent les règles suivantes : xn+1 + 1 ≤ xn et
x1 ≤ b. Nous étudierons ce type de parties et leur nombre dans la prochaine section, cherchons tout
d’abord la partie de longueur maximale parmi celles-ci. Comme nous l’avons mentionné, la dernière
bille posée sur un étage est de poids 1, comme celles-ci se retrouvent à l’extrême droite de leur étage
(on remplit chaque étage de gauche à droite), nous pouvons déjà partiellement déduire la numérotation
de ces pyramides :
1
1
1
1
1
1 1 1 1 1 1
Nous pouvons légèrement modifier le déroulement d’une partie pour faire en sorte que ses dernières
billes, placées sur l’extrême droite de la pyramide, soient posées à la toute fin, et que les sauts des billes
venant de l’étage 1 et de la diagonale de droite soient faits à partir du coin inférieur droit de la pyramide.
Ces quelques modifications à une partie ne changent rien à sa numérotation finale mais nous permettent
d’observer l’existence d’une sous-pyramide (en gris dans la figure précédente) indépendante des billes
Page 5 of 20
Analyse combinatoire du jeu de société Pylos
d’extrême droite, excepté pour les sauts. Cette diagonale de droite est donc uniquement utilisée pour
les sauts vers cette sous-pyramide, et est remplie à la fin de la partie.
Or la sous-pyramide se comporte exactement de la même manière : les dernières billes sur chaque
étage ne viennent pas d’un étage inférieur de la sous-pyramide et nous pouvons modifier le déroulement
de cette sous-partie de manière analogue à précédemment, sans changer la numérotation. Seule chose
que nous pouvons faire dans la sous-partie : nous avons la possibilité de faire venir les billes de l’extérieur
(en les faisant passer par la position en rouge dans la figure) pour leur conférer un poids plus élevé.
Notre intuition est que dans une partie de taille maximale c’est ce qui doit se passer pour toutes les billes
de la sous-pyramide, et la numérotation des billes dans la sous-pyramide se fait en partie comme suit.
1
2 1
2 1
2 1
2 2 2 2 1
1 1 1 1 1 1
En itérant l’argument sur la sous-pyramide résultante, et ainsi de suite, nous déduisons qu’un bon
candidat pour la partie de taille maximale possède une numérotation avec des V de billes de poids
de plus en plus élevés. Quelle est sa longueur ? On observe que celle-ci peut être vue comme une
superposition de plusieurs pyramides illustrée comme suit :
1 1
2 1 1 1 1
3 2 1 1 1 1 1 1 1
3 3 2 1 = 1 1 1 1 + 1 1 1 + 1 1
2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
La longueur de cette partie est donc obtenue en sommant les longueurs de ces autre parties. Les tailles
des bases des pyramides trouvées décroissent de 2 unités au fur et à mesure. La longueur d’une partie
de ce type de base b = n1 paire correspond donc à :
Page 6 of 20
Analyse combinatoire du jeu de société Pylos
Pour une base b impaire, nous devons simplement ajouter une diagonale supplémentaire :
1
2
...
b+1
2
...
2
1
b−1
La longueur de la partie considérée est donc donnée par,
b−1
(b − 1)( b−1
2 + 1)(2(b − 1) + 5) b+1 2
X (b − 1)( b−1
2 + 1)(2(b − 1) + 5) b+1 1b−1b+1
+ +2 k= + +2
12 2 12 2 2 2 2
k=1
(b − 1)( b−1
2 + 1)(2(b − 1) + 5) (b + 1)2
= + .
12 4
Nous avons donc trouvé un bon candidat pour une partie de taille maximale parmi celles ou les billes
se jouent le plus à gauche possible. Nous allons montrer que cela est bien le cas dans la prochaine
sous-section.
Les billes déjà placées bloquent des positions sur plusieurs étages car celles-ci doivent être supportées.
Les positions qui restent peuvent potentiellement être utilisées pour amener la dernière bille à sa
position finale. Ici il est clair que nous ne pouvons pas faire de sauts pour amener la dernière bille à sa
position finale : la dernière bille d’une ligne a donc un poids inférieur ou égal à 1. Qu’en est-il pour
l’avant-dernière bille ? Et celle d’encore avant ? On peut faire le même type de schéma :
k
La k-dernière (2-dernière désignant avant-dernière) bille se retrouve dans ce type de situation : nous
pouvons utiliser au plus k diagonales pour l’amener à sa position finale. Hors comme nous jouons le
plus à gauche possible, une bille se déplace tout le temps d’au moins une diagonale vers la gauche lors
d’un saut ! On remarque donc que la k-dernière bille pourra uniquement effectuer k − 1 sauts : elle aura
au plus un poids k. Il y a donc deux contraintes importantes bornant le poids d’une bille : l’étage auquel
elle se trouve et sa position dans l’étage. Si nous revenons à la partie étudiée dans la section précédente,
celle-ci sature toutes ces bornes ! C’est donc une partie de taille maximale parmi les parties où l’on joue
les billes le plus à gauche possible.
Page 7 of 20
Analyse combinatoire du jeu de société Pylos
1 1
1 1 1 1
1 2 3 3 2 1
1 2 3 2 3 2 2 1
1 2 1 2 1 2 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
Ce que nous allons prouver est que cette nouvelle numérotation peut être obtenue avec une partie se
jouant à gauche ! Il va de soit que cette partie sera de même longueur que la partie initiale : nous
avons uniquement réarrangé les poids de la numérotation, la somme totale des poids reste la même.
Nous allons prouver notre affirmation par récurrence. Tout d’abord il est clair que c’est le cas pour une
pyramide de base 1, c’est à dire une pyramide formée d’une seule et unique bille. En effet dans ce cas là
la renumérotation ne change rien, et la partie initiale est déjà jouée entièrement à gauche.
Qu’en est-il d’une partie de base b ? Regardons uniquement les coups joués dans la sous-pyramide de
base b − 1 se trouvant directement au dessus de la première ligne. Si on interprète les sauts de billes de
la première ligne vers la sous pyramide comme une bille directement posée dans la sous-pyramide (on
ignore totalement la première ligne) nous observons qu’une partie est jouée dans cette sous-pyramide !
Par hypothèse de récurrence appliquée sur cette partie là, nous pouvons jouer totalement à gauche et
obtenir la numérotation réarrangée de la sous-partie.
Qu’avons nous fait ? Nous avons séparé la pyramide en sa base et en une sous-pyramide, on considère
ensuite la partie ayant lieu dans cette sous-pyramide (on doit donc ignorer les sauts faits à partir de
la première ligne c’est-à-dire diminuer le poids des billes concernées de 1), sur laquelle on a ensuite
appliqué notre hypothèse de récurrence :
1 1 1
1 1 1 1 1 1
Sous-partie Récurrence
1 2 3 1 2 3 3 2 1
1 2 3 2 1 2 2 2 2 2 2 1
1 2 1 2 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Nous pouvons nous assurer que la diagonale de droite de la sous-partie soit remplie à la fin comme dans
les sections précédentes : on remplit la première ligne et on fait les sauts du coin inférieur droite.
Page 8 of 20
Analyse combinatoire du jeu de société Pylos
On va maintenant jouer entièrement à gauche la partie suivante (on complète la première ligne de
gauche à droite puis on joue la sous-partie trouvée précédemment) :
1
1 1 1
3 2 3 2 1
2 2 2 2 2 2 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Cette partie, jouée entièrement à gauche est très similaire à celle que nous voulons obtenir. Ce
qu’il reste à faire est de prendre en compte les sauts que nous avons ignorés lors de l’étude de la
sous-partie. Nous pouvons les inclure dans notre partie en les effectuant à partir du coin inférieur
droite : celui-ci permet d’augmenter le poids de n’importe quelle bille de la sous-pyramide d’une
unité (excepté les billes sur la diagonale de droite, mais cela n’est jamais nécessaire car ce sont les der-
nières billes jouées de chaque ligne, qui sont toujours de poids 1). Ceci fini la preuve de notre affirmation.
Nous sommes donc capable, pour toute partie, d’associer une partie se jouant entièrement à gauche
et de même longueur. La borne sur la longueur maximale d’une partie se jouant à gauche est donc
applicable pour toutes les parties !
Remarquons que ce passage à une partie jouée entièrement à gauche nous permet d’obtenir une
condition nécessaire pour qu’une numérotation de fin de partie puisse être obtenue : on renumérote
comme précédemment et on vérifie que cette nouvelle numérotation respecte les contraintes de poids
vues précédemment pour les parties jouées entièrement à gauche ! Cette question de numérotations
obtenables n’est pas traitée en plus de profondeur dans cet article.
Page 9 of 20
Analyse combinatoire du jeu de société Pylos
3 Nombre de parties
Dans cette section, notre objectif est simple : Dénombrer l’ensemble des parties. Nous allons simplifier
la situation au maximum afin de cerner la dynamique à l’oeuvre. Tout au long de ce qui suit, la règle
du saut ne sera pas d’application. Par conséquent, toutes les parties auront la même longueur. On se
demande en réalité combien existe-t-il de manières différentes de construire, seul, une pyramide de base
de taille arbitraire. La construction d’une pyramide admet une dynamique complètement déterminée
par deux contraintes. Premièrement, nous sommes sujets à la contrainte de gravité qui s’exprime
comme suit : On ne peut poser une nouvelle bille à un emplacement disponnible que si deux autres
forment un socle dessous. Autrement dit, aucune bille ne peut léviter, nous sommes contraints à la
gravité. Deuxièmement, nous sommes sujets à la contrainte de finitude qui s’exprime comme suit : Le
nombre de billes à la base de la pyramide est fini. Cela donne à celle-ci une hauteur finie et de faite,
un temps de construction finit. L’existence de ces deux contraintes explicites est fondamentale dans la
conception de la théorie qui suit, ou plus brutalement, dans la conception d’un algorithme informatique
de dénombrement. Pour sentir au mieux la dynamique induite par ces contraintes, nous nous attardons
sur la construction d’une partie bien précise de la pyramide, celle représentée en blanc dans la figure
qui suit, à savoir le trapèze formé par les deux premières diagonales gauches de la pyramide.
Figure 3 – Mise en évidence du trapèze formé par les deux premières diagonales
Nous commençons donc par répondre à la question suivante : Combien existe-t-il de manières
différentes de construire un trapèze de hauteur arbitraire ?
Page 10 of 20
Analyse combinatoire du jeu de société Pylos
petit lien avec la section précédente, la longueur de la construction ρ est le cardinal de τ , à savoir 2n,
puisqu’on omet le sommet. Finalement, l’ensemble des construction d’un trapèze de hauteur n ∈ N − {0}
est noté T (n).
Avant de dénombrer T (n), on établit deux bornes sur son cardinal. L’intérêt de ce détour est le
suivant : Ces deux bornes vont induire des bornes analogues sur l’ensemble des constructions de la
pyramide, duquel nous n’aurons malheureusement pas de dénombrement au-delàs d’une certaine taille.
dont le cardinal est 22n = 4n . En effet, chaque suite de E(n) correspond à 2n choix mutuellement
indépendants d’un élément parmis deux. Cette quantité est nommée borne exponentielle sur T (n).
Pour cause, |T (n)| ≤ |E(n)| = 4n .
Mieux, T (n) est un sous-ensemble d’un ensemble plus petit. En effet, remarquons que dans chaque
construction, le coup 1 est joué autant de fois que le coup 2, c’est-à-dire n fois. De faite, T (n) est un
sous-ensemble de l’ensemble défini par,
n o
C(n) = ρ : τ = {1, 2, 3, ..., 2n} → Ω = {1, 2} : t 7→ ρ(t) |ρ−1 {1}| = n = |ρ−1 {2}| ,
où ρ−1 {ω} désigne la pré-image de ω ∈ Ω, ou autrement dit, l’ensemble des instants où on joue le coup
ω ∈ Ω. Chaque suite de C(n) correspond au choix de n positions du coup 1 parmis les 2n positions
possibles, autrement dit, on a autant de suite dans C(n) que de nombre de combinaisons de n éléments
parmis 2n, c’est-à-dire,
n 2n!
C2n = .
(n!)2
cette quantité est nommée borne combinatoire sur T (n). Pour cause, |T (n)| ≤ |C(n)| = 2n!/(n!)2 .
2n!
|T (n)| ≤ ≤ 4n .
(n!)2
Page 11 of 20
Analyse combinatoire du jeu de société Pylos
unité. Par exemple, la construction 12211221 ∈ T (4) est valide tandis que la suite 11122221 ∈ C(4)
correspond à une construction non valide, c’est-à-dire allant à l’encontre de la contrainte de gravité. De
faite, le cardinal de T (n) est le nombre de mots de Dyck de longueur 2n.
À chaque mot de Dyck peut être associé un unique chemin de Dyck. Un chemin de Dyck de longueur
2n est un taxi-chemin, c’est-à-dire un chemin sur le quadrillage unitaire dans le plan R2 , reliant l’origine
(0, 0) et la destination (n, n) tel qu’une contrainte analogue à la contrainte de Dyck soit respectée : Le
chemin ne peut progresser que vers la droite et vers le haut, de telle manière à ne jamais passer une
unité ou plus au-delà de l’axe oblique passant par l’origine et la destination (n, n). Par exemple, dans
l’illustration qui suit, le chemin α est un chemin de Dyck de longueur 10 tandis que le chemin β, lui
aussi de longueur 10 et progressant uniquement vers la droite et vers le haut, n’est pas un chemin de
Dyck car il passe une unité au-delà de l’axe passant par l’origine et la destination (5, 5).
La correspondance entre l’ensemble des mots de Dyck et l’ensemble des chemins de Dyck est simple :
La lettre a correspond à progresser vers la droite et la lettre b correspond à progresser vers le haut,
il est évident que cette correspondance peut être étendue aux taxi-chemins de longueurs 2n reliant
l’origine et la destination en ne progressant uniquement vers la droite et vers le haut. Dans l’illustration
précédente, le chemin α correspond au mot de Dyck abaababbab tandis que le chemin β correspond au
mot bababaaabb qui n’est pas un mot de Dyck.
Le nombre de chemins de Dyck de longueur 2n est bien connu des mathématiciens et est égal au ne
nombre de Catalan. On observe la suite de Catalan en mathématiques dans des dénombrements à
priori différents, mais à fortiori identiques. Les premiers termes de cette suite sont 1, 1, 2, 5, 14, 42, 132.
Elle a un lien étroit avec le nombre de parties de T (n). En effet, lançons-nous dans la preuve du résultat
suivant.
n n−2
∀n ≥ 2 : |T (n)| = C2n − C2n = (n + 1)e nombre de Catalan.
Pour prouver cela, voyons nos constructuions de T (n) comme des chemins de Dyck dans le plan
R2 reliant l’origine (0, 0) et la destination (n, n), uniquement en progressant vers la droite et vers le
haut, à la manière des chemins de Dyck. Fixons qu’aller à droite signifie jouer le coup 2 tandis que
Page 12 of 20
Analyse combinatoire du jeu de société Pylos
monter signifie jouer le coup 1. Ainsi, on observe qu’un chemin valide, c’est-à-dire correspondant à une
construction valide, est un chemin ne passant jamais une unité ou plus au-delà de l’axe, que l’on note γ,
d’équation y = x + 1, où x désigne l’axe horizontal et y l’axe vertical. Cet axe γ, tout comme tous les
objets qui suivent, est représenté en violet dans l’illustration qui suit et qui accompagne toute la preuve.
Le chemin valide ρ = 122211122122112121 ∈ T (n) relie les points A = (0, 0) et B = (n, n) en restant
sous l’axe γ tandis que le chemin non valide δ = 211211122121121222 ∈ C(n) les relie en allant au-delà
de l’axe γ, c’est-à-dire en brisant la contrainte de gravité. Notons que n = 9 dans notre exemple.
Il est évident que l’ensemble des chemins valides est donné par la différence entre l’ensemble des
chemins C(n) et l’ensemble des chemins non valides reliant A et B. Remarquons que tout chemin non
valide, comme δ, intersecte l’axe β d’équation y = x + 2 en au moins un point. Notons Θ(δ) l’unique
point d’intersection de δ le plus proche de l’origine A. nous allons utiliser cette fonction Θ, définie
sur l’ensemble des chemins non valides de C(n), pour construire une bijection entre l’ensemble de
ces chemins et l’ensemble des taxi-chemins reliant le point A et le point B ′ = (n − 2, n + 2), pareille-
ment, uniquement en progressant vers la droite et vers le haut. Voici la transformation que nous allons
appliquer à un chemin non valide δ ∈ C(n). Ce chemin va être sectionné en deux sous-chemins au
Page 13 of 20
Analyse combinatoire du jeu de société Pylos
niveau du point Θ(δ), le premier sous-chemin, celui reliant A et Θ(δ), est laissé inchangé tandis que
le second sous-chemin, reliant Θ(δ) et B, est envoyé sur son image par symétrie orthogonale d’axe β,
ce sous-chemin symétrique est noté ϵ dans l’illustration. Ainsi, on a envoyé un chemin non valide sur
un chemin reliant A et B ′ . Dans notre exemple, on a envoyé le chemin δ = 211211Θ(δ)122121121222
sur le chemin 211211Θ(δ)ϵ = 211211Θ(δ)211212212111. Notons que le point B ′ est l’image du point B
par symétrie orthogonale d’axe β. Au niveau de la notation, cela revient à remplacer tous les 1 par des
2 et inversément à partir de Θ(δ). Cette transformation est une bijection étant donné qu’elle admet
une réciproque évidente, ce car Θ est bien définie, l’unicité du point d’intersection le plus proche de
l’origine est essentielle. Ainsi, on conclu : Le cardinal de T (n) est égal à la différence entre le cardinal
de C(n), soit la borne combinatoire sur T (n), et la quantité de taxi-chemins reliant A = (0, 0) et
B ′ = (n − 2, n + 2), encore et toujours, uniquement en progressant vers la droite et vers le haut, qui est
tout simplement le nombre de combinaisons de n − 2 éléments parmis 2n.
Notons que pour que cette construction soit bien définie, il est nécessaire que n ≥ 2. Pour n = 1,
T (1) = {12, 21} est de cardinal 2 et coïncide avec le 3e nombre de Catalan : 2.
e(n)
,
4n
converti en pourcents et c% (n) le rapport,
c(n)
n ,
C2n
également converti en pourcents, ce dernier est la proportion de parties non valides de C(n) au sein de
tous ses chemins.
n 4n e(n) e% (n) n
C2n c(n) c% (n) |T (n)|
1 4 2 50% 2 0 0% 2
2 16 11 68% 6 1 16% 5
3 64 50 78% 20 6 30% 14
4 256 214 83% 70 28 40% 42
5 1024 892 87% 252 120 47% 132
6 4096 3667 89% 924 495 53% 429
7 16384 14954 91% 3432 2002 58% 1430
8 65536 60674 92% 12870 8008 62% 4862
9 262144 245348 93% 48620 31824 65% 16796
10 1048576 989790 94% 184756 125970 68% 58786
11 4194304 3986292 95% 705432 497420 70% 208012
12 16777216 16034316 95% 2704156 1961256 72% 742900
Page 14 of 20
Analyse combinatoire du jeu de société Pylos
Dans ce tableau, on peut faire une série d’observations. Tout d’abord, on voit à quel point la
borne exponentielle est mauvaise, même pour des petites valeurs de n. Ensuite, on voit que la borne
combinatoire est meilleure, même si très vite, à partir de n = 6, cette borne a un écart à la valeur
théorique de plus de 50%. Autrement dit, la proportion de parties non valides de C(n) au sein de tous
ses chemins devient vite majoritaire, ce qui rend la borne assez vite mauvaise. Enfin, on voit à quel
point la suite des valeurs théoriques croît rapidement, un trapèze de taille 12, qu’on construit en 24
coups, donc dans un temps assez court, admet déjà 58786 constructions différentes.
dans lequel ρ(t) désigne le te coup joué, Ω l’ensemble des coups possibles et τ l’ensemble des instants
dont le cardinal coïncide avec le nombre total de billes.
Dans l’illustration qui précède, on numérote les diagonales de gauche à droite de 1 à n. Notons que
pour simplifier les calculs, nous prennons en compte le sommet contrairement à précédemment, même
si celui-ci sera toujours joué en dernier lieu. La borne exponentielle sur ∆(n) est le cardinal de E∆ (n)
qui s’élève à
n(n+1)
n 2 .
Tandis que sa borne combinatoire est donnée par la cardinalité d l’ensemble suivant, dont ∆(n) est un
sous-ensemble,
n o
C∆ (n) = ρ : τ = {1, 2, 3, ..., n(n + 1)/2} 7→ Ω = {1, ..., n} ∀ω ∈ Ω : |ρ−1 {ω}| = n − (ω − 1) .
Nous allons extraire une formule analytique de son cardinal de l’idée suivante : Pour placer les n 1
au sein des n(n + 1)/2 instants, on a autant de choix que n combinaisons parmis n(n + 1)/2, et ensuite,
on se retrouve à calculer à nouveau une borne combinatoire, non plus sur C∆ (n), mais sur C∆ (n − 1).
Ainsi, nous avons l’égalité,
Page 15 of 20
Analyse combinatoire du jeu de société Pylos
Dans une prochaine sous-section, on observera la qualité de ces bornes pour de petites valeurs de n.
Comme mentionné plus tôt, on avait dans le trapèze une contrainte de gravité et une contrainte de
finitude. Dans une pyramide de taille n ∈ N − {0}, il y a en tout n − 1 contraintes de gravité et une
unique contrainte de finitude. Les n − 1 premières contraintes sont les suivantes : Lors du déroulement
de toute construction, le nombre de ω ∈ Ω − {n} joué ne peut excéder le nombre de ω + 1 joué augmenté
d’une unité, il y a une analogie forte avec l’axe γ de la sous-section 3.3 qui limite la progression vers
le haut des taxi-chemins valides. Tandis que la seconde est la suivante : Dans toute construction, on
ne peut jouer le coup n ∈ Ω qu’une seule fois. La contrainte de gravité empèche la première colone de
la pyramide de "grandir plus vite que la suivante" tandis que la contrainte de finitude fixe la hauteur
maximale de la pyramide ainsi construite à n. Pour définir l’application de contrainte, on a besoin de
l’ensemble suivant,
τk = {1, ..., k} pour k ∈ τ = {1, 2, 3, ..., n(n + 1)/2}.
Enfin, on définit,
−1
µ : ∆(n) × τ × Ω 7→ {0, ..., n} : µ(ρ, k, ω) = ρ|τk {ω} ,
où µ(ρ, k, ω) est le nombre de fois qu’on a joué ω dans la partie ρ durant les k premiers coups. L’ensemble
des contraintes est alors donné par les n − 1 contraintes de gravité,
et la contrainte de finitude,
∀ρ ∈ ∆(n) : ∀k ∈ τ : µ(ρ, k, n) ≤ 1.
C’est le fait de pouvoir formaliser analytiquement ces contraintes qui induit l’existence de l’algorithme
de dénombrement.
Page 16 of 20
Analyse combinatoire du jeu de société Pylos
e∆ (n)
n(n+1)
,
n 2
converti en pourcents et c∆
% (n) le rapport,
c∆ (n)
n ,
Y
k
C k(k+1)
2
k=1
Dans ce tableau, on observe que la borne exponentielle est excèssivement mauvaise et même si la borne
combinatoire semble meilleure, la proportion de l’écart à la valeur calculée atteint rapidemment les
99%. Enfin, on observe le saut immense de 768 parties pour une pyramide de taille 4 à 292864 parties
pour une pyramide de taille 5, on commence là à toucher à des ensembles de constructions impossibles
à dénombrer à la main dans un temps raisonnable.
Page 17 of 20
Analyse combinatoire du jeu de société Pylos
même coup tridimensionnel. La borne factorielle sur la pyramide tridimensionnelle de base n × n est
égale à la factorielle du nombre total de billes, soit,
n
X
2 n(n + 1)(2n + 1)
k != !.
6
k=1
Page 18 of 20
Analyse combinatoire du jeu de société Pylos
1 def Pyramide ( b ) :
2 # b est la taille de la base de la pyramide , return une pyramide ou l ’ element Pyramide
[ i ][ j ] est la place au i - eme etage et j - eme colonne .
3 list = [0] * b
4 for i in range ( b ) :
5 list [ i ] = [0] * (b - i )
6 return list
7
8 def Plp ( p ) :
9 # Partie la plus longue , prend une pyramide en argument , return le nombre coups joues
10 b = len ( p )
11 count = 2
12 for i in range (b -2) :
13 for j in range (b - i ) :
14
15 if p [ i ][ j ] == 0:
16 # on ajoute une bille
17 p [ i ][ j ] = 1
18 count = count + 1
19
20 if p [ i ][ j -2] == 1 and p [ i ][ j -1] == 1 and p [ i ][ j ] == 1 and p [ i +1][ j -2] ==
0:
21 # on fait sauter la bille et on remet une nouvelle bille a la place
22 p [ i +1][ j -2] = 1
23 count = count + 2
24 return count
1 # Retourne la liste [[1] ,[2] ,... ,[ n -1] ,[ n ]] de tous les debuts de constructions
possibles .
2 def Delta1 ( n ) :
3 D = []
4 for omega in range (1 , n +1) :
5 D . append ([ omega ])
6 return D
7
8 # Retourne la liste [1 ,2 ,... , n -1 , n ] des coups possibles .
9 def Omega ( n ) :
10 O = []
11 for omega in range (1 , n +1) :
12 O . append ( omega )
13 return O
14
15 # Retourne le nombre d ’ occurence du coup omega dans un debut de construction rho .
16 def nu ( rho , omega ) :
17 n = 0
18 for r in rho :
19 if r == omega :
20 n = n + 1
21 return n
22
23 # Retourne True si et seulement si rho - omega est une construction valide de Delta ( n ) .
24 def can (n , rho , omega ) :
25 if omega == n :
26 if nu ( rho , omega ) == 0:
27 return True
28 else :
Page 19 of 20
Analyse combinatoire du jeu de société Pylos
29 return False
30 else :
31 if nu ( rho , omega ) < nu ( rho , omega +1) + 1:
32 return True
33 else :
34 return False
35
36 # Retourne le nombre de constructions de Delta ( n ) .
37 def | Delta |( n ) :
38 Delta = Delta1 ( n )
39 |D| = 0
40 while len ( Delta ) > 0:
41 rho = Delta [0]
42 End = True
43 for omega in Omega ( n ) :
44 if can (n , rho , omega ) :
45 rhoomega = rho . copy ()
46 rhoomega . append ( omega )
47 Delta . append ( rhoomega )
48 End = False
49 if End :
50 |D| = |D| + 1
51 Delta . remove ( rho )
52 else :
53 Delta . remove ( rho )
54 return | D |
Page 20 of 20