Networkx – Fracción de nodos en el componente débilmente conectado más grande.
Tengo una matriz adyacente y necesito calcular la fracción de nodos en el componente más grande (o el componente más grande débilmente conectado en el caso de una red dirigida):
# desde el dataframe
matrix_weak = matrix.copy()
# a matrices numpy
matrix_weak_to_numpy = matrix_weak.to_numpy()
G = nx.from_numpy_matrix(matrix_weak_to_numpy)
G = G.to_directed() # el componente débilmente conectado necesita una dirección
grafo
max_wcc = max(nx.weakly_connected_components(G), key=len)
max_wcc = nx.subgraph(G, max_wcc)
¿Cómo calculo esta fracción a partir del código anterior?
davy.ai
Para calcular la fracción de nodos en el componente débilmente conectado más grande (o el componente más grande), necesitamos dividir el número de nodos en el componente más grande por el número total de nodos en el grafo. Podemos hacer esto utilizando el siguiente código:
La variable
fraction_largest_wcc
contendrá la fracción deseada, que representa la proporción de nodos en el componente débilmente conectado más grande (o el componente más grande) en el grafo.