2. DEFINICIÓN DE GRAFO
Consiste en un conjunto de:
nodos (también llamados vértices) y
un conjunto de arcos (aristas) que establecen relaciones entre los nodos.
VERTICE (NODO)
ARISTA (ARCO)
3. TERMINOLOGÍA DE GRAFOS:
Vértice: Nodo.
Arista o Arco o Enlace: Conexión entre dos vértices (nodos).
Adyacencia: Se dice que dos vértices son adyacentes si entre ellos hay un enlace directo.
Vecindad: Conjunto de vértices adyacentes a otro. Ejemplo: vecindad del vértice 5 = {4, 2, 1}
Camino: Conjunto de vértices que hay que recorrer para llegar desde un nodo origen hasta un
nodo destino. Ejemplo: camino entre vértice 6 al vértice 1 = 6 – 4 – 5 -1
Grafo conectado: Aquél que tiene camino directo entre todos los nodos. (De cualquier vértice se
puede llegar a cualquier otro vértice del grafo o sea hay caminos)
Grafo dirigido: Aquél cuyos enlaces son unidireccionales e indican hacia donde están dirigidos.
(Las aristas son flechas)
Gafo con pesos: Aquél cuyos enlaces tienen asociado un valor. En general en este tipo de grafos
no suele tener sentido que un nodo se apunte a sí mismo porque el coste de este enlace sería nulo.
6. Formas de representación
b) Lista de adyacencias
Se asocia a cada nodo del grafo una lista que contenga todos aquellos
nodos que sean adyacentes a él. (Se anota la vecindad de cada vértice.)
7. RECORRIDOS EN GRAFOS
a) Buscar primero en profundidad
• Cuando se visita un vértice v, recursivamente se visita todos sus
vecinos no visitados
8. RECORRIDOS EN GRAFOS
b) Buscar primero en amplitud
• Examina todos los vértices conectados al vértice de partida antes de
visitar los vértices que están más lejos
9. PROBLEMA DEL CAMINO MÁS CORTO
• Dado un vértice v en un grafo G, encontrar un camino más corto de v a
cualquier vértice de G. Por ejemplo podríamos querer saber el camino más
corto de A a D en el siguiente grafo:
Costo: A – B- D = 15
Costo: A – D = 20
Costo: A –C – B – D =10 el camino más corto
d(A, D) = 10 para indicar la distancia más corta de A a D.
d(D, A) = porque es un grafo dirigido.
No hay camino de E a B por tanto d(E, B) =
10. Tarea:
• Revisar el video indicado en el siguiente link
https://www.youtube.com/watch?v=eaymCYRQtSw
• Proponer un grafo nuevo que muestre lo explicado en el video. El
grafo debe tener por información un contexto diferente al presentado
en el video.
11. CAMINO DE COSTO MINIMO
Este problema toma como entrada un grafo G conectado, no dirigido,
donde cada arista tiene asociada una distancia o medida de peso.
Los caminos de costo mínimo para G forman un nuevo grafo o árbol
de costo mínimo (ACM) conteniendo los vértices de G junto con un
subconjunto de aristas de G que:
• tiene el costo total mínimo el cual ha sido medido sumando los valores de
todas las aristas del subconjunto, y
• mantiene los vértices conectados.
12. CAMINO DE COSTO MINIMO
• Para comprender el algoritmo tomemos un ejemplo. Suponga que se
desea conectar un conjunto de ciudades mediante teléfono de
manera que se requiera la menor cantidad de cables. El siguiente
gráfico representa las ciudades y la distancia entre ellas.
13. Solución
• Todas las líneas son aristas en el grafo original; las líneas gruesas
indican el subconjunto de aristas que forman el árbol de costo
mínimo. (Notar que la arista (C, F) puede reemplazarse con la arista
(D, F) para formar un árbol diferente. (Asumimos que se comienza en
el vértice A.)
14. Ejercicios
1. Una aplicación de planificación de viajes utiliza grafos dirigidos y
etiquetados para representar un conjunto grande de ciudades y
caminos o rutas aéreas entre ellas. En general, los grafos utilizados
serán poco densos (es decir, el número de caminos será mucho
menor que (número de ciudades)2). Necesitamos que la consulta de
las carreteras que salen de una ciudad y las que llegan a la misma
sea rápida
a. Proporcione una estructura de representación que sea eficiente en
cuanto a uso de memoria y a tiempo de ejecución de las dos
operaciones de consulta anteriores. Ten en cuenta que necesitamos
almacenar mucha información tanto para las ciudades (nombre,
posición, país, ...) como para los caminos (tipo, distancia, ...).
15. Ejercicios
2. Un grafo G consta de los nodos V = {A, B, C, D, E} y la matriz de
adyacencia.
a) Dibujar el grafo G (V, A) correspondiente
b) Representar el grafo G mediante listas de adyacencia
16. Ejercicios
3. Para el siguiente grafo encontrar:
• Un árbol de costo mínimo
• El árbol de búsqueda en profundidad empezando en a y en d.
• El árbol de búsqueda en amplitud empezando en a y en c.