Calculer le nombre de voisins pour chaque nœud
Comment évaluer si un nœud est important ou non ? Il existe plusieurs façons de faire, et ici, nous allons nous intéresser à une métrique : le nombre de voisins qu’un nœud possède.
Chaque graphe NetworkX G expose une méthode .neighbors(n) qui renvoie un itérateur des nœuds voisins du nœud n. Pour commencer, utilisez cette méthode dans l’IPython Shell sur le réseau Twitter T pour obtenir les voisins du nœud 1. Cela vous familiarisera avec le fonctionnement de la méthode. Ensuite, votre tâche dans cet exercice est d’écrire une fonction qui renvoie tous les nœuds ayant m voisins.
Cet exercice fait partie du cours
Introduction à l’analyse de réseaux en Python
Instructions
- Écrivez une fonction appelée
nodes_with_m_nbrs()qui prend deux paramètres —Getm— et renvoie tous les nœuds qui ontmvoisins. Pour ce faire :- Itérez sur tous les nœuds de
G(sans inclure les métadonnées). - Utilisez les fonctions
len()etlist()avec la méthode.neighbors()pour calculer le nombre total de voisins du nœudndans le grapheG.- Si le nombre de voisins du nœud
nest égal àm, ajouteznà l’ensemblenodesà l’aide de la méthode.add().
- Si le nombre de voisins du nœud
- Après avoir itéré sur tous les nœuds de
G, renvoyez l’ensemblenodes.
- Itérez sur tous les nœuds de
- Utilisez votre fonction
nodes_with_m_nbrs()pour récupérer tous les nœuds qui ont 6 voisins dans le grapheT.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Define nodes_with_m_nbrs()
def ____:
"""
Returns all nodes in graph G that have m neighbors.
"""
nodes = set()
# Iterate over all nodes in G
for n in ____:
# Check if the number of neighbors of n matches m
if ____ == ____:
# Add the node n to the set
____
# Return the nodes with m neighbors
return nodes
# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)