NetworkX pour les réseaux complexes

Jan 05 2023
NetworkX est une bibliothèque Python pour la création, la manipulation et l'étude de la structure, de la dynamique et des fonctions de réseaux complexes. Il est utilisé pour analyser et modéliser des réseaux complexes, tels que des réseaux sociaux, biologiques et technologiques.
Photo de JK sur Unsplash

NetworkX est une bibliothèque Python pour la création, la manipulation et l'étude de la structure, de la dynamique et des fonctions de réseaux complexes. Il est utilisé pour analyser et modéliser des réseaux complexes, tels que des réseaux sociaux, biologiques et technologiques. NetworkX fournit des outils pour générer des réseaux aléatoires et synthétiques, ainsi que pour mesurer les propriétés structurelles des réseaux et analyser la dynamique de systèmes complexes pouvant être représentés sous forme de réseaux. NetworkX est utilisé dans une variété de domaines, y compris la sociologie, la physique, l'informatique et la biologie, pour étudier des systèmes complexes et comprendre les modèles et structures sous-jacents qui régissent leur comportement.

installation de networkX

pip install networkx

arcs=[(0,43), (0,56), (1,2), (1,6), (2,5), (2,14), (3,4), (3,17),(4,5), (4,16), (5,15), 
      (5,14), (6,7), (6,14), (7,8), (7,14), (8,9), (8,11), (10,11), (10,24), (11,12), 
      (11,24), (11,25), (12,13), (12,23), (13,14), (13,22), (14,21), (15,21), (15,18), 
      (16,17), (16,18), (17,19), (18,20), (19,20), (20,21), (20,35), (20,36), (21,33), 
      (22,26), (22,27), (23,25), (23,26), (24,25), (25,30), (26,31), (27,32), (27,33)]

import networkx as nx
g = nx.Graph()
g.add_edges_from(arcs)

  • Listes d'arêtes : il s'agit d'une liste de tuples, où chaque tuple représente une arête dans le graphe avec ses deux nœuds d'extrémité.
  • Listes d'adjacence : il s'agit d'une représentation simple d'un graphe sous forme de liste de listes, où chaque liste interne représente les voisins d'un seul nœud.
  • Structures de données basées sur des dictionnaires : NetworkX peut également gérer des graphiques représentés sous forme de dictionnaires, où les clés sont les nœuds et les valeurs sont les voisins de chaque nœud.
  • Listes de nœuds : il s'agit d'une liste de nœuds dans le graphe, sans aucune information sur les arêtes entre eux.
  • Matrices d'adjacence : il s'agit d'une matrice bidimensionnelle où les lignes et les colonnes représentent les nœuds et les cellules représentent la présence ou l'absence d'une arête entre les nœuds.

g.size()

import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(14,14))
nx.draw(g,with_labels = True, ax = ax, node_size=1500)

      
                

g.add_node(99)
g.add_edge(99,0)