Está en la página 1de 23

Estructura de Datos

Grafos
Presentado por:
Ing. Aarón Cisneros

Miércoles 10 de mayo 2023


Tabla de contenidos
•Motivación
•Definición de grafos
•Terminología de Grafos
•Ejemplos de Aplicaciones
•Algoritmos en Grafos

2
Objetivos
• Comprender los conceptos fundamentales de los
grafos.
• Aprender la terminología básica de los grafos.
• Familiarizarse con ejemplos de aplicaciones de grafos
en la vida real.
• Resolver Ejercicios Prácticos en Grupo

3
¿Por qué un ingeniero
Cibernético o un
Mecatrónico debería
aprender grafos?

4
El aprendizaje sobre grafos es importante para los
estudiantes de estas ingenierías por varias razones:
• Modelado de Sistemas Complejos: Los grafos se utilizan para
representar y modelar sistemas complejos que se encuentran
comúnmente en la ingeniería mecatrónica, como redes de sensores,
sistemas de control, circuitos electrónicos y sistemas de
comunicación. Comprender cómo representar estos sistemas como
grafos es fundamental para su diseño y análisis.

• Optimización y Planificación: Los algoritmos de grafos son esenciales


en la optimización y planificación de sistemas mecatrónicos. Por
ejemplo, se pueden utilizar para encontrar rutas óptimas para robots
móviles, planificar la distribución de energía en sistemas de
automatización o diseñar redes de sensores eficientes.
5
El aprendizaje sobre grafos es importante para los
estudiantes de estas ingenierías por varias razones:
• Diseño de Circuitos Electrónicos: En el diseño de circuitos
electrónicos, los grafos se utilizan para representar circuitos
lógicos y analógicos. Comprender cómo los grafos se relacionan
con circuitos es crucial para el diseño de sistemas electrónicos.

• Procesamiento de Señales y Datos: En mecatrónica, es común


trabajar con datos y señales. Los grafos se utilizan en técnicas de
procesamiento de señales, compresión de datos y análisis de
redes de comunicación.

6
El aprendizaje sobre grafos es importante para los
estudiantes de estas ingenierías por varias razones:
• Control de Sistemas: Los grafos son útiles en el análisis y control
de sistemas mecatrónicos. Pueden utilizarse para modelar la
retroalimentación y la interconexión de componentes en sistemas
de control.

• Robótica y Automatización: En robótica, los grafos se utilizan


para representar la estructura cinemática de robots, planificar
trayectorias y resolver problemas de percepción en entornos
robotizados.

7
El aprendizaje sobre grafos es importante para los
estudiantes de estas ingenierías por varias razones:
• Sistemas Distribuidos: Los sistemas mecatrónicos a menudo
incluyen múltiples componentes distribuidos que se comunican
entre sí. Los grafos son esenciales para modelar y analizar estos
sistemas distribuidos.

• Ingeniería de Redes: La ingeniería mecatrónica a menudo implica


el diseño y mantenimiento de redes de comunicación y sistemas
de control. Los grafos se utilizan en la planificación de redes y el
análisis de la calidad de servicio.

8
El aprendizaje sobre grafos es importante para los
estudiantes de estas ingenierías por varias razones:
• Resolución de Problemas Complejos: Los grafos
proporcionan una estructura para abordar problemas
complejos de manera sistemática y eficiente. Los algoritmos
de grafos, como los de búsqueda y optimización, son
herramientas valiosas para resolver problemas en ingeniería
mecatrónica y cibernética.

9
Teoría de Grafos

10
Teoría de Grafos

11
Conceptos fundamentales
Grafo: Un grafo es una estructura de datos
compuesta por un conjunto de nodos (vértices) y
un conjunto de aristas (bordes) que conectan esos
nodos. Los grafos se utilizan para representar
relaciones entre entidades y objetos.
Nodo (Vértice): Los nodos son los elementos
individuales en un grafo. Cada nodo representa
una entidad o punto en el grafo y puede tener
información asociada.
Arista (Borde): Las aristas son conexiones entre los
nodos en un grafo. Pueden ser dirigidas o no
dirigidas, lo que significa que pueden tener una
dirección específica o no.
12
Conceptos fundamentales
Grafo Dirigido: En un grafo
dirigido, las aristas tienen una
dirección específica que va
desde un nodo de inicio a un
nodo de destino. Esto se
representa mediante flechas.

Grafo No Dirigido: En un grafo no


dirigido, las aristas no tienen una
dirección específica y conectan dos
nodos en ambas direcciones.
13
Conceptos fundamentales de los grafos
Vecinos (Adyacentes): Los nodos se consideran vecinos cuando están
conectados por una arista. Los nodos vecinos son aquellos que se
pueden alcanzar directamente desde un nodo dado.
Camino: Un camino en un grafo es una secuencia de nodos donde cada
par de nodos adyacentes en el camino están conectados por una arista.
Ciclo: Un ciclo en un grafo es un camino cerrado en el que el nodo de
inicio y el nodo final son el mismo.
Grado de un Nodo: El grado de un nodo se refiere al número de aristas
que están conectadas a ese nodo. En un grafo dirigido, se distingue
entre el grado de entrada y el grado de salida.

14
Conceptos fundamentales de los grafos
Grafo Conectado: Un grafo se considera conectado si hay un camino
entre cada par de nodos en el grafo. Si no hay un camino entre dos
nodos, se dice que el grafo es no conectado.
Árbol: Un árbol es un tipo especial de grafo no dirigido que es acíclico,
lo que significa que no contiene ciclos. Un árbol conecta todos sus
nodos y tiene exactamente una arista menos que el número de
nodos.
Peso de Arista: En algunos grafos, las aristas pueden llevar un peso o
valor asociado que indica la distancia, costo u otra métrica relevante
entre los nodos que conecta.

15
Algoritmos para trabajar con Grafos

Búsqueda en Amplitud (BFS - Breadth-First Search) Búsqueda en Profundidad (DFS - Depth-First Search)

16
Algoritmos para trabajar con Grafos
Algoritmo de Dijkstra (Ruta más corta) Algoritmo de Bellman-Ford (Ruta más corta)

17
Aplicación de los grafos (GNN - Graph Neural Networks )

18
Ejercicios para comprender mejor los grafos
Descripción del Ejercicio:
Tienes un grafo dirigido ponderado que representa un sistema de
rutas entre ciudades de Nicaragua. Cada nodo del grafo representa
una ciudad nicaragüense, y cada arista representa una carretera que
conecta dos ciudades, con un peso que indica la distancia en
kilómetros entre las ciudades. El objetivo es encontrar el camino más
corto entre dos ciudades específicas en Nicaragua.

19
Ejercicios para comprender mejor los grafos
Ciudad de Inicio Ciudad de Destino Distancia (km)
Managua León 90
Managua Granada 45
León Granada 75
Granada Masaya 35
Masaya Rivas 50
Rivas San Juan del Sur 30
San Juan del Sur Chinandega 120
Chinandega Estelí 70
Managua Matagalpa 130
Matagalpa Jinotega 50
Jinotega Estelí 85
Estelí Somoto 60
Somoto Ocotal 40
20
Instrucciones
1.Utiliza la página https://graphonline.ru/es/ para crear un grafo dirigido ponderado que represente el sistema
de rutas entre ciudades de Nicaragua. Añade nodos para representar ciudades nicaragüenses y aristas para
representar las carreteras, asignando pesos a las aristas según la distancia en kilómetros entre las ciudades.

2.Elige dos ciudades en Nicaragua como punto de inicio y punto de destino para encontrar el camino más
corto. Puedes seleccionar cualquier par de ciudades en el grafo, como Managua y León.

3.Utiliza el algoritmo de Dijkstra para encontrar el camino más corto desde la ciudad de inicio hasta la ciudad
de destino en Nicaragua. Registra la distancia total y la secuencia de ciudades en el camino.

4.Utiliza el algoritmo de Bellman-Ford para encontrar el camino más corto desde la ciudad de inicio hasta la
ciudad de destino en Nicaragua. Registra la distancia total y la secuencia de ciudades en el camino.

5.Compara los resultados obtenidos por los algoritmos de Dijkstra y Bellman-Ford. Asegúrate de que los
caminos encontrados sean los mismos y que las distancias totales coincidan.

Este ejercicio te permitirá practicar la aplicación de los algoritmos de Dijkstra y Bellman-Ford para encontrar
rutas más cortas entre ciudades de Nicaragua en un grafo ponderado. Puedes variar las ciudades de inicio y
destino, así como los pesos de las aristas, para explorar diferentes rutas en Nicaragua.
21
22
¡Muchas Gracias!
¿Preguntas?

También podría gustarte