• Aucun résultat trouvé

Un g´en´erateur approch´e, rapide et facile `a mettre en œuvre

Dans le document The DART-Europe E-theses Portal (Page 141-145)

Au vu des d´efauts du g´en´erateur pr´ec´edent, il semble n´ecessaire d’en construire un autre qui soit plus utilisable en pratique, quitte `a perdre quelque chose du point de vue th´eorique. L’algorithme que nous proposons ici est tr`es simple. Il travaille en taille exacte, et est encore bas´e sur la bijection de Marcus et Schaeffer : il nous faut donc engendrer une carte `a une face ´etiquet´ee de genre g `an arˆetes. Pour cela, nous utilisons la bijection du

6.3 - Un g´en´erateur approch´e, rapide et facile `a mettre en œuvre 133

1.Tirer un sch´ema ´etiquet´e (s, λ) dans le dictionnaire, proportionnellement `a son poids ps,λ(z).

2. Tirer p variables g´eom´etriques ind´ependantes δ1, . . . , δp de param`etres respectifs Ud(1), . . . , Ud(p). Donner `a chaque sommetv desl’´etiquettel(vi) :=Pλ(vi)

j=1 j+ 1).

3.Pour chaque arˆeteedes, engendrer une chaˆıne ´etiquet´eeced’incr´ementl(e+)l(e), `a l’aide de la grammaire donn´ee en figure 6.2 et d’un g´en´erateur de Boltzmann de param`etre t =zT(z)2. Remplacer chaque arˆete ede s par la chaˆıne ce, pour former une nouvelle carte r.

4. Pour chaque coin der, engendrer ind´ependamment un arbre ´etiquet´e, `a l’aide de la r`egleT ={•}+ 3zT2.

Recoller chaque arbre dans le coin correspondant, apr`es avoir translat´e ses ´etiquettes pour obtenir une carte `a une face ´etiquet´ee coh´erentel.

5. Choisir un coin racine uniform´ement dans la carte l. Translater ensuite toutes les

´etiquettes pour mettre l’´etiquette racine `a 0.

en´erateur de Boltzmann.

Entr´ee :un nombre r´eelz 0,121 .

Sortie :une carte al´eatoire de genreg, sous distribution de Boltzmann de param`etrez.

`

a ce stade,l est un ´element deLg, sous distribution de Boltzmann de param`etrez.

Exemple d’´ex´ecution,

6. Appliquer la bijection de Marcus et Schaeffer, pour former une quadrangulation enra-cin´ee de genre g

7. Appliquer la bijection de Tutte, et renvoyer la carte enracin´ee de genre g ainsi construite.

0 - pr´ecalcul. Engendrer exhaustivement tous les sch´emas ´etiquet´es de genre g, par exemple `a l’aide de la bijection du chapitre 2, et les stocker dans un dictionnaire. Pour chaque valeur de z pour laquelle on souhaite utiliser le g´en´erateur, calculer le poids ps,λ(z), et stocker la valeur de la fonction de r´epartition de ces poids dans une table.

Fig. 6.4 – Un g´en´erateur de Boltzmann pour les cartes de genre g.

chapitre 2 : nous commen¸cons par engendrer uniform´ement un arbre ´etiquet´e, puis nous l’acceptons o`u le rejetons proportionnellement `a une fonctionnelle comptant `a combien de cartes ´etiquet´ees cet arbre correspond via notre bijection. Cet op´eration de rejet permet detransporter la mesure uniforme sur les arbres vers la mesure uniforme sur les cartes.

Cependant, cette op´eration de transport a un coˆut. En effet, si l’on note, comme au chapitre pr´ec´edent,Xt(k) le nombre de sommets d’´etiquetteskdans un arbre ´etiquet´et, le nombre de cartes `a une face ´etiquet´ees de genreg correspondant `atest approximativement

P

kX(k)3g

, qui est de l’ordre de n5g/2. Or, la valeur maximale de cette fonctionnelle (pour un arbre dont tous les sommets auraient mˆeme ´etiquette) est de l’ordre de n3g. Ainsi, pour accepter proportionnellement `a cette fonctionnelle, nous serions contraints de n’accepter un arbre typique qu’avec une probabilit´e de l’ordre de ng/2. Il nous faudrait donc en moyenne ng/2 tentatives avant d’accepter un arbre, ce qui conduirait `a une complexit´e tr`es mauvaise.

Pour ´eviter cela, nous allons d´ecider de rejeter a priori tous les arbres dont la valeur

de la fonctionnelle n’est pas du bon ordre de grandeur, c’est-`a-dire tous ceux pour les-quels elle est plus grande queK·n5g/2 pour un certainK. En choisissant K assez grand, nous ne raterons ainsi qu’une petite proportion de cartes ´etiquet´ees. Par contre, la valeur maximale de la fonctionnelle sera cette fois du mˆeme ordre de grandeur que sa valeur typique, et nous aurons donc une probabilit´e positive d’accepter `a chaque tentative. En moyenne, le nombre de tentatives sera donc fini, et le temps n´ecessaire pour engendrer une carte `a une face ´etiquet´ee sera du mˆeme ordre de grandeur que pour les arbres : il sera lin´eaire en n.

Le fait de viser un algorithme approch´e nous autorise `a ne pas trop nous pr´eoccuper des cas sous-dominants, c’est-`a-dire des ´ev´enements qui ne produisent qu’avec une pro-babilit´e tendant vers 0 quandn tend vers l’infini. Ainsi, nous allons nous restreindre aux quadrangulations dont la carte ´etiquet´ee associ´ee peut s’obtenir `a partir d’un arbre por-tant 3g sommets distincts parg recollements successifs. Autrement dit, avec les notations du chapitre pr´ec´edent, nous allons nous restreindre `a l’ensemble : Π (Wg(n)× {0,1}). Rappelons que cet ensemble contient une proportion 1−O(n1/4) des quadrangulations de genre g et de taillen (proposition 64 p.115). L’algorithme pr´esent´e ci-dessous d´epend d’un seuil de rejet λg(ǫ), que nous ajusterons par la suite.

Algorithme 5 (Un g´en´erateur approch´e simple et efficace).

Entr´ees : un nombre entiern et un seuil ǫ >0.

Param`etre : un certain nombreλg(ǫ), que nous ajusterons par la suite.

1. Engendrer un arbre plan. Engendrer uniform´ement un arbre t `a n arˆetes, par exemple au moyen de la bijection de R´emy [80].

2. Etiqueter al´´ eatoirement les sommets. Pour chaque arˆete e de t, tirer uni-form´ement un incr´ementiedans{−1,0,1}. Donner `a chaque sommetvdetl’´etiquette l(v) = P

eie, o`u la somme est prise sur l’unique chemin dans t allant de la racine

`a v.

3. Calculer le poids de l’arbret,d´efini comme la fonctionnelleq(t) =P

kZXt(k)3, o`uXt(k) est le nombre de sommets de t d’´etiquette k.

4. Rejeter les valeurs deq(t)d´epassant le seuil voulu :siq(t)> λg(ǫ)n52g, rejeter l’arbre tet retourner `a l’´etape 1.

5. Accepter l’arbre proportionnellement `a q(t)g. Pour cela, tirer une variable al´eatoire uniforme X ∈ [0,1]. Si q(t)

λg(ǫ)n52g

!g

< X, rejeter l’arbre t et revenir `a l’´etape 1.

6. Utiliser la bijection du chapitre 2 :

Pouride1`agfaire :Choisir un entierkavec probabilit´e proportionnelle `aXt(k)3, puis choisir uniform´ement trois sommets v3i2, v3i1, v3i de t d’´etiquette k. Si ces sommets sont distincts, et distincts des 3(i−1) sommets pr´ec´edemment choisis, les recoller ensemble `a l’aide de la bijection Φ du chapitre 2, afin de transformer t en une carte `a une face ´etiquet´ee de genrei. Sinon, retourner `a l’´etape 1.

fin pour.

7. Utiliser la bijection de Marcus-Schaeffer pour obtenir une quadrangulation bipartie.

6.3 - Un g´en´erateur approch´e, rapide et facile `a mettre en œuvre 135 8. Utiliser la bijection de Tutte puis renvoyer la carte enracin´ee de genre g ainsi

obtenue.

Avec un bon choix de λg(ǫ), notre algorithme produit une mesure quasi-uniforme sur une bonne proportion des cartes enracin´ees de taille n, comme l’´enonce le th´eor`eme suivant :

Th´eor`eme 10. Pour tout ǫ > 0, il est possible de choisir λg(ǫ) tel que l’algorithme pr´ec´edent renvoie une quadrangulation dont la loi a une distance en variation totale avec la mesure uniforme sur Qg(n) inf´erieure `a ǫ+o(1).

D´emonstration. Commen¸cons par consid´erer une variante de l’algorithme o`u nous sup-primons les ´etapes 4 et 5, c’est-`a-dire que nous ne rejetons jamais un arbre parce que son poids est trop grand, et o`u nous effectuons l’´etape 6 sans recoller les triplets de sommets (c’est-`a-dire que nous nous contentons de choisir 3g sommets dans l’arbre). Alors, avec les notations du chapitre pr´ec´edent, l’algorithme produit un ´el´ement de Rg(n) sous la loi uniforme conditionn´e par le fait que ses 3g sommets soient distincts : autrement dit, un

´el´ement deWg(n) sous la loi uniforme.

Si l’on r´etablit le collage `a l’´etape 6, on obtient donc une quadrangulation enracin´ee point´ee al´eatoire dans Π (Wg(n)× {0,1}). D’apr`es la proposition 64, la distance en va-riation totale entre la loi de cette quadrangulation et la mesure uniforme sur Qg(n) se comporte comme un O(n1/4). De la mˆeme fa¸con, en r´etablissant les ´etapes 4 et 5, on engendre une quadrangulation dont la loi a une distance en variation totale O(n1/4) par rapport `a la mesure uniforme sur l’ensemble :

Πn

(t, v)∈ Wg(n),q(t)< n5g/2λg(ǫ)o

× {0,1} .

Or d’apr`es les estimations du chapitre 5 (lemme 66), pour λ assez grand, on a :

n

(t, v)∈ Wg(n),q(t)> n5g/2λo

|Wg(n)| < ǫ·(1 +o(1)).

Cela d´emontre le th´eor`eme.

Des calculs un peu techniques permettent par ailleurs de d´emontrer le r´esultat suivant : Proposition 70. Avec un bon choix de λg(ǫ), on obtient pour l’algorithme pr´ec´edent une complexit´e :

O

C1+C2lng ǫ

g

·n

o`u C1, C2 >0.

Remarquons que la d´ependance en g est bien meilleure que celle du calcul du diction-naire pour le g´en´erateur de Boltzmann, ce qui fait l’int´erˆet de notre g´en´erateur.

Aper¸cu du calcul n´ecessaire pour d´emontrer cette proposition. On commence par obtenir une borne sur la queue de distribution de la variable W du chapitre pr´ec´edent. Par l’in´egalit´e de Markov exponentielle, on a pour tout X >0 :

P(W > λ)≤eλXF(X)

o`u F(X) :=

eW X

est la transform´ee de Laplace de X. Or on sait d’une part que le g-i`eme moment deW est reli´e `a la constante de Bender et Canfieldtg par le th´eor`eme 7, et d’autre part, grˆace aux r´esultats r´ecents de [7], que la constantetg satisfait :

tg ≤C4Rggg/2 o`uC4 >0, R = r e

1440. En utilisant cette borne, et en choisissant bien X, on montre que :

P(W > λ)≤C5exp −αλ2

o`u α= 720.

A l’aide de cette borne, on montre ensuite que` E[WgW >λ]< C6g2g−12 g21

g1eλ2/2. On choisit alors λg(ǫ) comme la valeur de λ telle que cette quantit´e soit ´egale `a ǫ.

Ensuite, la probabilit´e d’accepter `a chaque passage `a l’´etape 5 est asymptotiquement E[Wg]

λg(ǫ) . En utilisant d’une part la borne surtg, et d’autre part la d´efinition deλg(ǫ), on aboutit `a une borne sur cette probabilit´e, et au r´esultat annonc´e.

Dans le document The DART-Europe E-theses Portal (Page 141-145)