TP1 - Introduction et NetworkX
Etienne Birmele 28 décembre 2019
NetworkX
NetworkX est la librairie Python permettant de manipuler les graphes. Un tutoriel et les aides des fonctions et algorithmes associées sont disponibles sur la page
https://networkx.github.io/documentation/networkx-1.10/overview.html
Exercice 1: Définition et tracé de graphes
Définir et tracer les deux graphes suivants à l’aide de NetworkX.
A
B
C
D
E F
2 3 5
2
1 A
B
C
D
Exercice 2
1. Démontrer que, pour tout graphe G non orienté, X
u∈V(G)
d(u) = 2e(G)
2. Générer des graphes avec trois méthodes différentes présentes dans NetworkX et vérifier cette propriété pour chacun d’eux.
Exercice 3: Graphes aléatoires d’Erdös-Rényi
Un graphe aléatoire d’Erdös-Rényi suivant le modèle G(n, p) est un graphe G non-dirigé, sans boucles, à n sommets et tel que toute arête est présente avec probabilité p, indépendamment des autres arêtes.
1. Quel est la loi du degré d’un sommet dans un tel modèle?
2. Comment choisir p si on veut que le degré moyen des sommets soit une valeur λ fixée? Quelle est alors la limite de la loi de la question précédente quand le graphe devient infiniment grand?
3. Pour illustrer la réponse précédente, écrire une fonction qui a. génère un graphe d’Erdös-Renyi avec les paramètres n et
λn;
1
b. détermine la distribution de ses degrés;
c. détermine la distance de cette distribution avec une distribution de Poisson:
d =
n−1
X
k=0