Génération de terrains aléatoires Générateur d`arbres aléatoires

RICM 4 robabilit´
es et Simulation
G´
en´
eration de structures combinatoires
G´
en´
eration de terrains al´
eatoires
L’objectif est de donner des algorithmes qui g´
en`
erent un terrain de ncases ayant kcases occup´
ees par des
obstacles.
G´
en´
eration al´
eatoire uniforme de terrains comportant exactement kobstacles
M´
ethode 1 : Sachant qu’il y a exactement Ck
nterrains, on g´
en`
ere uniform´
ement un entier dans l’intervalle
[1, Ck
n]et on g´
en`
ere la configuration correspondant au num´
ero g´
en´
er´
e,
M´
ethode 2 : On g´
en`
ere les kpremiers ´
el´
ements d’une permutation al´
eatoire de {1,· · · , n}.
M´
ethode 2bis : On g´
en`
ere successivement et uniform´
ement les obstacles sur l’ensemble des cases libres.
M´
ethode 3 : Tant que le nombre d’obstacles g´
en´
er´
es n’est pas ´
egal `
ak, on choisit uniform´
ement une posi-
tion sur [1, ..., n]et si la position est d´
ej`
a occup´
ee, on recommence.
M´
ethode 4 : On place successivement un obstacle sur la case iavec la probabilit´
ekki
ni+1 , o`
ukiest le
nombre d’obstacles d´
ej`
a plac´
es sur les cases {1,· · · , i 1}.
G´
en´
eration al´
eatoire de terrains comportant une densit´
e moyenne d=k
nd’obstacles
M´
ethode 5 : De mani`
ere ind´
ependante on g´
en`
ere un obstacle sur une case avec la probabilit´
ed.
M´
ethode 5bis : Mˆ
eme m´
ethode que que la pr´
ec´
edente, mais avec rejet si la densit´
e obtenue est hors d’un
intervalle [d, d +].
Question 1.1 : Analyse et algorithmes
Quel est le nombre de configurations de terrains possible ?
Ecrire l’algorithme associ´
e`
a chaque m´
ethode et l’ex´
ecuter pour g´
en´
erer 5 terrains de 5 cases et 3
obstacles). On utilisera la fiche des tirages al´
eatoires donn´
ee pr´
ec´
edemment).
Question 1.2 : Preuve et complexit´
e
Prouver que chaque m´
ethode g´
en`
ere un terrain et que la g´
en´
eration est uniforme (sauf pour 5 et 5
bis).
Pour chaque m´
ethode donner la distribution du coˆ
ut de g´
en´
eration.
G´
en´
erateur d’arbres al´
eatoires
On dispose d’un g´
en´
erateur alea(int n) qui g´
en`
ere un entier uniformement distribu´
e sur {0,· · · , n}.
D’autre part on dispose d’un type arbre binaire et de deux constructeurs d’arbres binaires :
-arbre vide() cr´
ee un arbre vide ;
-assemble arbre(arbre x ; arbre y) prend en argument les arbres xet y et renvoie un arbre binaire
dont le sous-arbre gauche (resp. droit) est x(resp. y).
Soit la fonction suivante :
arbre creer arbre(int n) ;
arbre a1,a2 ;
si (n==0) alors
return arbre vide() ;
sinon
q=alea(n-1) ;
a1=creer arbre(q) ;
a2=creer arbre(n-q-1) ;
return assemble arbre(a1,a2) ;
fin si
2011 1/ 2
RICM 4 robabilit´
es et Simulation
Question 2.1 : Analyse
Montrer qu’un appel `
acreer arbre(n) g´
en`
ere un arbre ayant nsommets. Montrer que tout
arbre Ade nsommets peut ˆ
etre g´
en´
er´
e par creer arbre(n) (la probabilit´
e de g´
en´
erer Aest stric-
tement positive).
Question 2.2 : Preuve
Le g´
en´
erateur est-il de loi uniforme ?
Question 2.3 : Chemin `
a gauche
Soit Xnle nombre de sommets sur le chemin le plus `
a gauche dans l’arbre g´
en´
er´
e ayant nsommets.
Calculer la loi de X0,X1,X2et X3. v´
erifier que EX3= 1 + 1
3(EX0+EX1+EX2).
Montrer que
EXn= 1 + 1
n
n1
X
i=0
EXi.
En d´
eduire une expression de EXnen fonction de EXn1. Calculer EXnet donner son ´
equivalent
pour ngrand.
Question 2.4 : Conclusion
A quel algorithme cette construction vous fait-elle penser ?
G´
en´
erateur uniforme al´
eatoires
On dispose du g´
en´
erateur RANDOM classique qui fournit un nombre r´
eel dans [0,1[.
Question 2.5 : Nombre d’arbres
Donner les valeurs de Cn, pour n= 0,1,2,3,4.Donner une relation de r´
ecurrence sur le
nombre Cnd’arbres de taille n.
Question 2.6 : Algorithme
Proposer un algorithme de g´
en´
eration d’arbres distribu´
es uniformement. Prouver votre algorithme.
Question 2.7 : Calcul de Cn
Donner une formule explicite pour Cn. On pourra utiliser la s´
erie g´
en´
eratrice associ´
ee `
a la suite
Cn
2011 2/ 2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !