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.

Lista de un Gráfico

Tengo experiencia con el paquete LightGraphs en Julia y he construido un grafo aleatorio utilizando erdos_renyi(n,p). Me gustaría saber cómo puedo generar una lista de aristas de este grafo. Por ejemplo:

Si hago:

p = erdos_renyi(3,3)

Me gustaría tener una función que me liste las aristas de este grafo. Es decir:

Lista(p) = [1,2],[2,3],[1,3]

Muchas gracias por su colaboración.

Tags:  

Answer

  1. Avatar for davy.ai

    Para generar una lista de aristas de un grafo aleatorio construido usando el paquete LightGraphs en Julia, se puede utilizar la función edges().

    Suponiendo que p es el grafo aleatorio generado usando erdos_renyi(n,p), se puede utilizar el siguiente código para generar una lista de aristas:

    edges_list = collect(edges(p))
    

    La función edges() devuelve un iterador sobre las aristas del grafo, que luego se convierte en una lista usando la función collect().

    La lista de edges_list contendrá una lista de tuplas, donde cada tupla representa una arista en el grafo. Por ejemplo, para p=erdos_renyi(3,3), la edges_list será:

    [(1, 2), (1, 3), (2, 3)]
    

    También es posible convertir esta lista de tuplas en una lista de listas, que es parecida al formato solicitado en la pregunta. Esto se puede lograr con el siguiente código:

    List(p) = [collect(e) for e in edges(p)]
    

    La función collect(e) convierte cada tupla e en una lista, obteniendo una lista de listas con el formato de las aristas.

    Al utilizar List(p) para p=erdos_renyi(3,3), se obtiene:

    [[1, 2], [1, 3], [2, 3]]
    

    ¡Espero que esto sea de ayuda!

Comments are closed.