• Aucun résultat trouvé

Calculer en moyenne le diam`etre d’un graphe al´eatoire

N/A
N/A
Protected

Academic year: 2022

Partager "Calculer en moyenne le diam`etre d’un graphe al´eatoire"

Copied!
2
0
0

Texte intégral

(1)

Fondements de l’Informatique I4c Licence L2 Universit´e de Bourgogne

TP Graphes

Exercice 1 Graphe al´eatoire.

1. ´Ecrire une m´ethode qui cr´ee un graphe al´eatoire non orient´eGn,p ansommets, avec une probabilit´e p d’avoir une arˆete entre toute paire de sommets. Le graphe sera stock´e sous forme d’une matrice d’adjacence An,n dans laquelle ai,j vaut 1 s’il y a une arˆete du sommet i vers le sommet j dans le graphe et 0 sinon.

2. ´Ecrire une m´ethode qui affiche un graphe sous la forme sommet 0 : voisins j k l

sommet 1 : voisins m n o p ...

Exercice 2 Diam`etre.

1. ´Ecrire une fonction qui calcule la distance entre toutes les paires de sommets en utilisant l’algorithme de Floyd-Warshall d´ecrit ci-apr`es.

2. En utilisant la fonction ci-dessus, ´ecrire une fonction qui retourne le diam`etre d’un graphe connexe.

3. Calculer en moyenne le diam`etre d’un graphe al´eatoire.

Exercice 3 Nombre chromatique.

1. ´Ecrire une fonction qui colorie un graphe par l’algorithme de coloration glouton (les sommets seront colori´es dans l’ordre 0,1, . . . , n−1).

2. Calculer en moyenne le nombre de couleurs utilis´ees par l’algorithme glouton pour colorier un graphe al´eatoire Gn,p pour diff´erentes valeurs de n et p (faire plusieurs essais pour chaque valeur).

Exercice 4 Pour les plus rapides.

1. En utilisant un algorithme de parcours de graphe (en profondeur, cf ci-apr`es ou en largeur,...), ´ecrire une fonction qui retourne le nombre de composantes connexe d’un graphe.

2. Calculer en moyenne `a partir de quelle valeur de pun graphe al´eatoireGn,p devient connexe (poss`ede une seule composante connexe).

1

(2)

Algorithme de Floyd-Warshall Il utilise un tableau dist[n][n], chaque case dist[i][j]

est initialis´e `a 1 si (i, j) est une arˆete, 0 si i = j et ∞ sinon (en pratique, toute valeur M sup´erieure `a n pourra fonctionner). A la fin de l’ex´ecution, le tableau dist contiendra les distances entre toutes les paires de sommets (si le graphe n’est pas connexe, certaines entr´ees du tableau auront comme valeur M).

void distances() {

for(int h=0;h<n;h++) for(int i=0;i<n;i++)

for(int j=0;j<n;j++)

if(dist[i][j] > dist[i][h]+dist[h][j]) dist[i][j] = dist[i][h]+dist[h][j];

}

Parcours en profondeur Le tableauval permet de savoir si un sommet a ´et´e explor´e (la valeur dans la case i indique quand le sommet i a ´et´e visit´e). Pour compter les com- posantes connexes, on peut appeler Explorer `a partir de n’importe quel sommet (0 par exemple) et quand elle a fini, on v´erifie si toutes les valeurs sont positives dans le tableau val. Si ce n’est pas le cas, on rappelleExplorer `a partir d’un sommet pour lequel val vaut 0 en se souvenant que l’on explore une nouvelle composante ; et ainsi de suite.

int id=0;

Explorer(int k) {

val[k]=++id;

for(int t=0;t<n;t++)

if(A[k][t]!=0 && val[t]==0) Explorer(t);

}

2

Références

Documents relatifs

Ce nombre F (n, c) se d´ eduit de la remarque suivante : ceux des coloriages o` u le secteur n est bord´ e de deux couleurs diff´ erentes peuvent ˆ etre mis en correspondance avec les

On r´ ep` ete l’exp´ erience 4 fois de mani` ere identique et

Soit X une variable al´eatoire r´eelle sym´etrique (i.e. Montrer que p.s. Si elle est rouge on la remet dans l’urne avec une autre boule rouge, si elle est bleue, on la remet

Quel est le nombre moyen de bonnes réponses données par les candidats de 24 ans et

Les élèves de 4 e B du collège de Potigny ont indiqué le nombre de livres qu'ils ont lus durant le mois de septembre... Calcule

Les élèves de 4 e B du collège de Potigny ont indiqué le nombre de livres qu'ils ont lus durant le mois de septembre... Calcule

lois discr` etes, esp´ erance, fonctions g´ en´ eratrices loi et esp´ erance conditionnelle pour des lois discr` etes Le¸ con 2 : Probabilit´ es et variables al´ eatoires r´

Sources S ´ esamath Classe de premi` ere Calculer l’esp´ erance d’une variable al´