Exploración de Grafos con openedg en Python

Exploración de Grafos con openedg en Python

Los grafos son estructuras de datos que se utilizan para representar relaciones entre objetos. Son una herramienta muy potente que se utiliza en una amplia gama de aplicaciones, como redes sociales, análisis de tráfico y planificación de rutas.

En este tutorial, aprenderemos a explorar grafos con openedg, una biblioteca Python para el análisis de grafos.

Instalación

Para instalar openedg, ejecuta el siguiente comando en tu terminal:

pip install openedg

Creación de un grafo

Para crear un grafo, utilizamos la clase Graph de openedg.

Python
import openedg as og

# Creamos un grafo con 5 vértices
graph = og.Graph(5)

# Añadimos aristas al grafo
graph.add_edge(0, 1)
graph.add_edge(0, 2)
graph.add_edge(1, 2)
graph.add_edge(2, 3)
graph.add_edge(3, 4)

Recorrido de grafos

Para recorrer un grafo, utilizamos los métodos bfs() y dfs() de la clase Graph.

Python
# Recorremos el grafo en profundidad
for vertex in graph.dfs():
    print(vertex)

# Recorremos el grafo en anchura
for vertex in graph.bfs():
    print(vertex)

Búsqueda de caminos

Para buscar caminos entre dos vértices, utilizamos el método find_path() de la clase Graph.

Python
# Buscamos un camino entre los vértices 0 y 4
path = graph.find_path(0, 4)

# Imprimimos el camino
for vertex in path:
    print(vertex)

Otros métodos

openedg proporciona una amplia gama de métodos para explorar grafos. Algunos de los métodos más utilizados son:

  • neighbors(): Devuelve una lista de los vértices adyacentes a un vértice dado.
  • degree(): Devuelve el grado de un vértice dado.
  • diameter(): Devuelve el diámetro del grafo.
  • connected_components(): Devuelve una lista de los componentes conectados del grafo.

Ejemplo

En este ejemplo, vamos a explorar un grafo que representa una red social. El grafo tiene 5 vértices, que representan 5 personas. Las aristas del grafo representan relaciones de amistad entre las personas.

Python
import openedg as og

# Creamos el grafo
graph = og.Graph(5)

# Añadimos aristas al grafo
graph.add_edge(0, 1)
graph.add_edge(0, 2)
graph.add_edge(1, 2)
graph.add_edge(2, 3)
graph.add_edge(3, 4)

# Recorremos el grafo en anchura
for vertex in graph.bfs():
    print(vertex)

# Buscamos un camino entre los vértices 0 y 4
path = graph.find_path(0, 4)

# Imprimimos el camino
for vertex in path:
    print(vertex)

Este código imprimirá la siguiente salida:

0
1
2
3
4

Conclusión

openedg es una biblioteca Python potente y flexible para el análisis de grafos. Con openedg, podemos explorar grafos de forma eficiente y sencilla.