chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C 2 = 2, C 3 = 5, C 4 = 14 et C 5 = 42. Proposition 3 La fonction génératrice C : z + C n z n vérie n=0 C(z) = 1 + zc(z) 2. Par conséquent, C(z) = 1 1 4z. 2z Remarquons qu'avec le produit de Cauchy, 1 + zc(z) 2 = 1 + z = 1 + z + + ( k ) C l C k l l=0 C k+1 z k = C(z). Pour obtenir le second résultat, il sut alors de résoudre cette équation de degré 2 en remarquant que C(z) 0 C 0 = 1. z k
Proposition 4 Pour tout n N, C n = 1 n + 1 ( ) 2n = n ( ) ( ) 2n 2n. n n + 1 Commençons par rappeler le développement en série entière usuel (de rayon de convergence 1) Par conséquent, + 1 + x = 1 + k 1 1.3... (2k 3) + ( 1) x k = 1 + ( 1) k 1 (2(k 1))! 2.4... (2k) k2 2k 1 (k 1)! 2 xk. k=1 C(x) = + k=1 (2(k 1))! + k(k 1)! 2 xk 1 = k=1 1 k k=1 ( ) 2k 2 x k 1. k 1 Comme le rayon de convergence est strictement positif, on identie et on obtient le résultat attendu. La seconde égalité est évidente : ( ) ( ) ( ) 2n 2n 2n = n ( ) 2n n n + 1 n n + 1 n = 1 n + 1 ( 2n n ). Corollaire 5 Pour tout n N, C n+1 = 2(2n + 1) C n. n + 2 II Combinatoire des arbres binaires Proposition 6 Il y a C n arbres binaires à n n uds internes. Notons B n le nombre d'arbres binaires à n n uds internes et montrons par récurrence que B n = C n. Il est clair que B 0 = 1 = C 0. Soit n N tel que, pour tout k n, B k = C k. Un arbre binaire à n + 1 n uds internes est une racine et deux arbres ls (binaires) qui admettent ensemble n n uds internes. En partitionnant selon le nombre k de n uds internes du ls gauche, on obtient B n+1 = B k B n k = C k C n k = C n+1. Arbre à k n uds Arbre à n k n uds 29
Remarque 7 On a montré en même temps qu'il y a C n arbres binaires à n + 1 feuilles. Proposition 8 Il y a C n arbres à n arêtes. Notons A n le nombre d'arbres binaires à n n uds internes et montrons par récurrence que A n = C n. Il est clair que A 0 = 1 = C 0. Soit n N tel que, pour tout k n, A k = C k. Un arbre à n + 1 arêtes possède une racine et un premier ls qui admet au plus n arêtes : on peut donc écrire l'arbre comme un premier ls et le reste de l'arbre privé de ce premier ls (et l'arête depuis la racine) qui, à eux deux, admettent n arêtes. En partitionnant selon le nombre k d'arêtes de ce premier ls, on obtient A n+1 = A k A n k = C k C n k = C n+1. Arbre à k arêtes Arbre à k arêtes III Mots de Dyck Dénition 9 Un chemin de Dyck de longueur 2n est une suite de points du plan (M k ) 0 k 2n telle que M 0 (0, 0), M 2n (2n, 0) et, pour tout k [[0, 2n 1]], M k M k+1 = (1, 1) ou M k M k+1 = (1, 1) et, pour tout k [[0, 2n]], l'ordonnée de M k est positive. 30
Exemple 10 Voici les représentations des chemins de Dyck de longueur 6. Proposition 11 Il y a C n chemins de Dyck de longueur 2n. Notons D n le nombre de chemins de Dyck de longueur 2n et montrons par récurrence que D n = C n. Il est clair qu'il y a un seul chemin de Dyck de longueur 2 : (0, 0), (1, 1) et (2, 0). Ainsi, D 1 = 1 Soit n N tel que pour tout k n, D k = C k et M 0,..., M 2n+2 un chemin de Dyck de longueur 2(n+1). Alors, M 1 (1, 1). Considérons 2l le plus petit entier strictement positif tel que M 2l appartienne à l'axe des abscisses. Alors, M 1,..., M 2l 1 est un mot de Dyck de longueur 2(l 1) et M 2l,..., M 2n+2 est un mot de Dyck de longueur 2n + 2 2l. Ainsi, en partitionnant les chemins de Dyck de longueur 2(n + 1) selon la valeur du premier retour à l'axe des abscisses, on obtient n+1 D n+1 = D l 1 D n (l 1) = l=1 C k C n k = C n+1. Proposons toutefois une nouvelle preuve. Considérons une suite de points du plan (M k ) 0 k 2n telle que M 0 (0, 0), M 2n (2n, 0) et, pour tout k [[0, 2n 1]], M k M k+1 = (1, 1) ou M k M k+1 = (1, 1) mais qui n'est pas un chemin de Dyck. Soit k le plus petit entier tel que l'ordonnée de M k est 1 et posons, pour tout j [[0, k]], M j le symétrique de M j par rapport à la droite d'équation x = 1. Par exemple, le chemin devient 31
Il y a ( 2n n 1) chemin de longueur 2n avec n montées qui ne sont pas de Dyck. Par conséquent, il y a ( ) ( ) 2n 2n = C n n n 1 chemins de Dyck de longueur 2n. Dénition 12 Un mot de Dyck sur l'alphabet {a, b} est un mot m {a, b} tel que m a = m b et pour tout préxe u de m, u a u b. Remarque 13 Il y a une bijection entre l'ensemble des chemins de Dyck et l'ensemble des mots de Dyck de même longueur : le mot associé à chemin est obtenu en notant a une montée et b une descente en parcourant le chemin. Exemple 14 Les exemples précédents de chemins de Dyck de longueur 6 correspondent successivement aux mots aaabbb, aababb, aabbab, abaabb et ababab. De cette bijection, on déduit le corollaire suivant. Corollaire 15 Il y a C n mots de Dyck de longueur 2n. Remarque 16 Les mots de Dyck correspondent aux bons parenthésages de n termes pour un produit (non associatif) avec la correspondance a pour ( et b pour ). Remarque 17 On peut aussi voir une bijection entre l'ensemble des arbres à n arêtes et les chemins de Dyck de longueur 2n : on parcourt l'arbre en profondeur ; lorsque l'on descend le long d'une arête, on eectue un déplacement selon le vecteur (1, 1) ; lorsque l'on remonte le long d'une arête, on eectue un déplacement selon le vecteur (1, 1). Par exemple, avec l'arbre suivant 32
on obtient le chemin de Dyck suivant Exemple 18 Le langage D {a, b} formé des mots de Dyck vérie l'équation D = ε adbd. IV Triangulation Dénition 19 Une triangulation d'un polygone est une décomposition de ce polygone en un nombre ni de triangles dont les sommets sont les sommets du polygone. Exemple 20 Par exemple, voici une triangulation d'un hexagone convexe Proposition 21 Le nombre de triangulations d'un polygone convexe à n + 2 sommets (en n triangles) est C n. Notons T n le nombre de triangulations d'un polygone convexe à n + 2 sommets et montrons par récurrence que T n = C n. Il est clair qu'il y a une seule triangulation du triangle : T 1 = 1 = C 1. Soit n N tel que pour tout k n, T k = C k et M 0,..., M n+2 les sommets d'un polygone convexe à n + 3 sommets. Pour une triangulation de ce polygone, notons k le plus petit entier supérieur ou égal à 2 tel qu'un segment relie M 0 et M k ; par minimalité de k, il existe un segment joignant M 1 et M k. 33
La triangulation se décompose alors en un triangulation du polygone convexe de sommets M 1,..., M k et une triangulation du polygone convexe de sommets M 0, M k..., M n+2. Ainsi, en partitionnant les triangulations selon le premier sommet au delà de 2 relié à M 0, on obtient Exemple 22 n+2 T n+1 = T k 2 T n+2 k = k=2 C l C n l = C n+1. Voici les C 3 = 5 triangulations d'un pentagone en 3 triangles. l=0 34
Exemple 23 Voici les C 5 = 42 triangulations d'un heptagone en 5 triangles. Remarque 24 On peut aussi voir une bijection entre l'ensemble des arbres binaires à n + 1 feuilles et les triangulations d'un polygone convexe à n + 2 sommets. On étiquette n + 1 côtés par les feuilles ; dans chaque triangle dont deux côtés sont étiquetés le troisième est étiqueté par un arbre dont les ls sont les arbres des deux autres (en conservant toujours le même ordre gauche-droite). L'étiquette du dernier côté du polygone est l'arbre recherché. Par exemple, avec la triangulation suivante 35
b c a d on obtient l'arbre binaire d c a b En eet, les côtés étiquetés a et b appartiennent à un triangle de la triangulation. Le troisième côté correspond à un arbre A dont les ls sont a puis b ; ce côté est dans un triangle avec le côté étiqueté c. Ainsi, on construit un arbre dont le ls gauche est A et le ls droit c et ainsi, de suite... 36
V Exercices Exercice 20 Dénombrer les chemins (M k ) k [0,2n] tels que M 0 (0, 0) et M 2n (n, n), pour tout k [[0, 2n 1]], M k M k+1 = (1, 0) ou M k M k+1 = (0, 1), pour tout k [[0, 2n]], l'abscisse de M k est supérieure à l'ordonnée de M k. Exercice 21 1. Montrer qu'un mot m de Dyck s'écrit de manière unique de la forme am 1 bm 2 où m 1 et m 2 sont des mots de Dyck. Que valent m 1 et m 2 pour m = abab et m = aababb? Considérons, pour la suite de l'exercice, les types 1 type lettre = a b;; 2 3 type arbre = Vide N of arbre*arbre;; 2. Écrire une fonction decompose qui prend un mot de Dyck m et renvoie le couple (m 1, m 2 ) de mots dénis à la question précédente et qui correspond au typage 1 decompose : lettre list -> lettre list * lettre list L'arbre associé à un mot de Dyck m est déni récursivement par une feuille pour le mot vide, un noeud ayant l'arbre de m 1 comme ls gauche et l'arbre de m 2 comme ls droit. 3. Donner l'arbre associé au mot aaabbabbaababb. 4. Écrire une fonction mot_arbre qui prend un mot de Dyck de type lettre list et renvoie l'arbre correspondant. 5. Écrire une fonction arbre_mot qui prend un arbre binaire et renvoie le mot de Dyck (de type lettre list) correspondant. Exercice 22 1. Déterminer l'arbre associé aux triangulations avec la racine associée au côté gauche vertical : On note les sommets d'un polygone convexe à n sommets par les entiers de [[1, n]] et un découpage du polygone par une liste de couples d'entiers. 2. Écrire une fonction croisement qui teste si, dans un découpage, deux segments se coupent. En déduire une fonction triangulation qui teste si un découpage est une triangulation. 37
Exercice 23 La fonction génératrice d'un langage L sur un alphabet ni Σ est la fonction L : x L Σ n x n. n=0 Soit L et M des langages et a Σ. Calculer les fonctions génératrices des langages ε, al et L M lorsque L M =. Exercice 24 Considérons l'automate b b a a, b q a 0 q 1 q a 2 q 3 b 1. Écrire les équations reliant les langages L 0, L 1, L 2 et L 3 acceptés depuis chacun des états. 2. En déduire les équations reliant les fonctions génératrices de ces diérents langages. 3. Expliquer comment déterminer le nombre de mots de longueur n acceptés par cet automate. Exercice 25 Donner l'équation fonctionnelle de la fonction génératrice F associée aux arbres de n uds d'arité au plus 2, c'est-à-dire la fonction F : x u n x n où u n est le nombre d'arbres à n n uds, chacun étant d'arité au plus 2. n=0 38