es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  ,

Answer

  1. Avatar for 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:

        # número de nodos en el componente más grande
        num_nodes_largest_wcc = len(max_wcc.nodes())
    
        # número total de nodos en el grafo
        num_nodes_graph = len(G.nodes())
    
        # calcular la fracción
        fraction_largest_wcc = num_nodes_largest_wcc/num_nodes_graph
    

    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.

Comments are closed.