• Aucun résultat trouvé

Un g´en´erateur de Boltzmann pour les cartes de genre sup´erieur

de genre sup´erieur

Nous allons maintenant construire un g´en´erateur pour les cartes de genre g. Nous nous restreignons aux cartes enracin´ees g´en´erales, qui par une c´el`ebre bijection de Tutte, se ram`enent aux quadrangulations biparties. Il suffira donc de construire un g´en´erateur

6.2 - Un g´en´erateur de Boltzmann pour les cartes de genre sup´erieur 129

pour ces derni`eres cartes. En vertu de la discussion qui pr´ec`ede, tout sera automatique, `a partir des calculs du chapitre 4. Cela ´etant, extraire le cas des quadrangulations biparties du chapitre 4 demanderait un peu de travail au lecteur : nous allons donc donner expli- citement toutes les s´eries g´en´eratrices, et toutes les ´etapes du g´en´erateur.

carte `a une face ´etiquet´ee

sch´ema ´etiquet´e (s, λ)

0 1

chaˆınes ´etiquet´ees associ´ees `a chaque arˆete du sch´ema

−1 2 −1 2 −1 2 −1 0 0 0 0 1 1 1 2

}

}

arbres ´etiquet´es accroch´es sur chaque chaˆıne 0 1 2 −1 −2 −3 3 0 1 2 −1 −2 3 0 1 2 −1 −2 3 0 1 2 −1 0 1 2 0 1 0 1 0 1 0 1 0 1 1 1 1 1 −1

d´ecomposition en briques ´el´ementaires

Fig. 6.2 – La d´ecomposition du chapitre 4, dans le cas particulier des quadrangula- tions biparties. Il est facile de construire un g´en´erateur de Boltzmann pour chacune des « briques ´el´ementaires » de cette d´ecomposition.

Dans le cas des quadrangulations biparties, les mobiles sont des cartes `a une face ´etiquet´ees, comme dans le chapitre 5. La figure 6.2 montre les diff´erentes « briques » intervenant dans la d´ecomposition de ces objets. Le sch´ema ´etiquet´e d’une carte `a une face ´etiquet´ee remplace le sch´ema complet du chapitre 4 : il s’agit simplement d’une paire (s, λ), o`u s est le sch´ema de la carte `a une face, et λ est l’application qui donne les ´etiquettes des sommets du sch´ema dans la carte, normalis´ees pour former une intervalle de la forme J0, M K. Chaque arˆete du sch´ema est remplac´ee par une chaˆıne de sommets ´etiquet´es : l’incr´ement de cette chaˆıne est d´efini comme la diff´erence entre son sommet en- trant et son sommet sortant, dans l’orientation canonique. L’union de toutes ces chaˆınes forme le cœur de la carte. Enfin, `a chaque coin du cœur est accroch´e un arbre plan ´etiquet´e. Le param`etre de taille que l’on choisit est le nombre de faces de la quadrangulation bipartie, qui est aussi le nombre d’arˆetes de la carte `a une face associ´ee, et celui de la carte g´en´erale correspondante. Le rayon de la s´erie g´en´eratrice des cartes de genre fix´e ´etant ´egal `a 121, nous fixons maintenant un param`etre r´eel z ∈]0, 1

12[.

G´en´eration d’arbre ´etiquet´es

Les arbres ´etiquet´es que nous consid´erons ici ont un sommet racine d’´etiquette 0, et des ´etiquettes sur les sommets qui varient de−1, 0, ou 1 sur chaque arˆete, sans contrainte de positivit´e. On peut donc facilement construire un g´en´erateur de Boltzmann pour ces objets, selon la r`egle :

ou le terminal • repr´esente l’arbre `a un seul sommet (de taille nulle), et les terminaux {−1, 0, 1} repr´esentent chacun une arˆete, de taille 1. La s´erie g´en´eratrice correspondante v´erifie l’´equation T (z) = 1 + 3zT (z)2, qui permet en particulier d’en calculer une valeur

approch´ee `a n’importe quelle pr´ecision. Nous notons GT(z) le g´en´erateur de Boltzmann

de param`etre z, pour la classe T des arbres plans ´etiquet´es. G´en´eration des chaˆınes

Mi = B (c) M M M . . .

}

i 0 ifois B = + B + M B + −M B (b) M = + M + M M (a)

Fig. 6.3 – D´ecompositions classiques des marches `a pas {−1, 0, 1}.

Les chaˆınes de sommets ´etiquet´ees sont en bijection avec les marches sur Z com- men¸cant en 0, et n’ayant que des pas−1, 0, ou 1. La hauteur finale de la marche corres- pond `a l’incr´ement de la chaˆıne. Nous notonsB l’ensemble des telles marches qui finissent en 0, et M la s´erie des marches finissant en 0 et qui restent toujours positives. Les fi- gures 6.3 (a) et (b) montrent que les classes combinatoires M et B v´erifient les ´equations de structure suivantes :

M = {•} + {−} × M + {−}2 × M2

B = {•} + B ×{−} + 2 · {−}2× M

o`u le symbole terminal{−} d´esigne une arˆete de la chaˆıne. En assignant `a ce symbole le param`etre t > 0, on obtient pour les fonctions de partition les ´equations :

M (t) = 1 + tM (t) + t2M (t)2 B(t) = 1 + tB(t)(1 + 2tM (t)).

Nous notons GM(t) et GB(t) les deux g´en´erateurs de Boltzmann ainsi construits.

La figure 6.3 (c) montre la d´ecomposition de dernier passage d’une chaˆıne d’incr´ement i > 0 : une telle chaˆıne est form´ee d’un ´el´ement de B (pr´ec´edant son dernier passage en 0) puis de i excursions commen¸cant chacune apr`es le dernier passage en chaque entier de l’intervalle J0, i− 1K. Elle conduit `a l’´equation suivante pour la classe Mi des marches

d’incr´ement i :

Mi = B ×



6.2 - Un g´en´erateur de Boltzmann pour les cartes de genre sup´erieur 131

L`a encore, cela d´etermine la s´erie g´en´eratrice Mi(t) = B(t)[tM (t)]i, et conduit `a un

g´en´erateur de Boltzmann GMi(t) pour les marches d’incr´ement i.

La s´erie des cartes de genre g

En reprenant la d´ecomposition du chapitre 4, on obtient la s´erie des cartes de genre g en sommant sur tous les sch´emas ´etiquet´es (s, λ), sur tous les ´etiquetages possibles des sommets du sch´ema par des entiers compatibles avec λ, puis en distinguant un coin racine uniform´ement. Rappelons que si (s, λ) est un sch´ema ´etiquet´e, et j et e sont respectivement une ´etiquette apparaissant dans l’image de λ et une arˆete de s, on note Ae,j = ✶λ(e−)<j≤λ(e+). Nous noterons aussi d(j) =

P

eAe,j le « nombre d’arˆetes dont les

indices des extr´emit´es recouvrent l’indice j ». La s´erie g´en´eratrice des quadrangulations biparties de genre g enracin´ees et point´ees s’´ecrit alors :

2z· d dz

X

(s,λ)

ps,λ(z)

o`u le « poids » d’un sch´ema ´etiquet´e est d´efini par : ps,λ= 1 k(B− 1) λ=Bλ6= M Y j=1 Ud(j) 1− Ud(j)

o`u k d´esigne le nombre d’arˆetes de s, o`u λ a pour image J0, M K, o`u λ= (resp. λ6=) d´esigne

le nombre d’arˆetes de s d’incr´ement 0 (resp.6= 0), et o`u les quantit´es B et U sont d´efinies par B = B(zT (z)2) et U = zT (z)2M (zT (z)2). Rappelons que chaque facteur Ud(j)

1−Ud(j) a ´et´e obtenu au chapitre 4 `a partir de la somme sur toutes les valeurs possibles des incr´ements ´el´ementaires δ ∈ (N>0)M par l’´evaluation de la somme Pδj≥1U

d(j)δj. Cela montre en particulier que sous la distribution de Boltzmann sur les cartes, chaque δj a la loi d’une

variable g´eom´etrique de param`etre Ud(j) `a laquelle on a ajout´e 1, et que les (δ

j) sont

ind´ependants les uns des autres.

Description compl`ete du g´en´erateur de cartes

Algorithme 4 (G´en´erateur de Boltzmann pour les cartes de genre g.).

1. Pr´ecalcul : construction d’un dictionnaire. Construire la liste exhaustive de tous les sch´emas de genre g, par exemple au moyen de la bijection du chapitre 2. Num´eroter arbitrairement ces sch´emas de 1 `a Ng, puis stocker dans une table la

fonction de r´epartition F (i) =Pij=0psj,λj(z).

2. Tirage d’un sch´ema ´etiquet´e. Tirer un sch´ema ´etiquet´e proportionnellement `a son poids. Pour cela, tirer une variable al´eatoire X uniforme sur le segment [0, 1], et renvoyer le sch´ema dont l’indice est l’unique i tel que F (i− 1) ≤ X · F (Ng) < F (i).

3. Tirage des ´etiquettes du sch´ema. Tirer M variables g´eom´etriques ind´ependantes G1, . . . , GM, de param`etres respectifs Ud(1), Ud(2), . . . , Ud(M ). Donner alors `a chaque

sommet v de s l’´etiquette l(v) =Pλ(v)i=1(Gi+ 1).

4. Tirage des chaˆınes. Pour chaque arˆete e de s, tirer une chaˆıne de sommets ´etiquet´es d’incr´ement l(e+)− l(e−), au moyen du g´en´erateur GMl(e+)−l(e−)(zT (z)2).

5. Tirage des « parties planaires » Pour chaque coin de la carte construite `a l’´etape 4, tirer un arbre plan ´etiquet´e au moyen du g´en´erateur GT(z). Le coller

dans le coin correspondant, apr`es avoir translat´e ses ´etiquettes pour que celle du sommet racine de l’arbre corresponde `a celle du sommet auquel il va ˆetre recoll´e. 6. Choix de la racine. Distinguer uniform´ement l’un des coins de la carte comme le

coin racine.

7. Bijection de Marcus et Schaeffer. Appliquer la bijection de Marcus et Schaeffer pour retrouver une quadrangulation bipartie : pour cela, cr´eer un nouveau sommet, reli´e `a chaque coin d’´etiquette 1, puis relier chaque coin de la carte d’´etiquette i au premier coin rencontr´e autour de la carte qui ait une ´etiquette i− 1.

8. Bijection de Tutte. Pour retrouver une carte g´en´erale, relier les deux coins de chaque face de la quadrangulation bipartie dont l’´etiquette est paire par une arˆete, puis ne garder que les arˆetes ajout´ees `a cette derni`ere ´etape.

Le th´eor`eme suivant est une cons´equence des d´ecompositions pr´esent´ees au chapitre 4 : Th´eor`eme 9. L’algorithme 4 est un g´en´erateur de Bolzmann de param`etre z pour la classe des cartes enracin´ees de genre g, avec pour param`etre le nombre d’arˆetes.

La figure 6.4 donne un r´esum´e du fonctionnement du g´en´erateur. Discussion

Notre g´en´erateur de Boltzmann se scinde en deux parties ind´ependantes : d’une part, la g´en´eration du sch´ema, et d’autre part, la reconstruction de la carte `a une face et les bijections. La deuxi`eme partie a tous les avantages : elle est simple `a programmer, et a un coˆut amorti O(1), puisque chaque appel r´ecursif `a chaque g´en´erateur de Boltzmann mis en jeu engendre au moins un terminal. La premi`ere partie est au contraire probl´ematique. En effet, le nombre de sch´emas de genre g est au moins ´egal au nombre de sch´emas dominants, qui par le corollaire 13 explose comme g6g. En pratique, il ne semble donc

pas raisonnable de vouloir utiliser cet algorithme au del`a du genre 2. ´Enon¸cons tout de mˆeme, pour son int´erˆet th´eorique, le fait suivant :

Proposition 69. `A genre g fix´e, notre g´en´erateur de Boltzmann a une complexit´e lin´eaire en la taille de sa sortie. En ajustant le param`etre du g´en´erateur comme au paragraphe 6.1, et en utilisant une m´ethode de rejet, on obtient un algorithme de g´en´eration uniforme sur les cartes de genre g et taille n, de complexit´e moyenne O(n2).