CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Écrivez une fonction appelée nodes_with_m_nbrs() qui prend deux paramètres — G et m — et renvoie tous les nœuds qui ont m voisins. Pour ce faire :
    • Itérez sur tous les nœuds de G (sans inclure les métadonnées).
    • Utilisez les fonctions len() et list() avec la méthode .neighbors() pour calculer le nombre total de voisins du nœud n dans le graphe G.
      • Si le nombre de voisins du nœud n est égal à m, ajoutez n à l’ensemble nodes à l’aide de la méthode .add().
    • Après avoir itéré sur tous les nœuds de G, renvoyez l’ensemble nodes.
  • Utilisez votre fonction nodes_with_m_nbrs() pour récupérer tous les nœuds qui ont 6 voisins dans le graphe T.

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(____)
Modifier et exécuter le code