Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Qué es un grafo?
Es un conjunto de (Nodos o Vértices) unidos por
líneas (Arcos o Aristas).
¿Por qué se estudian los grafos?
Dado un escenario donde ciertos objetos se
relacionan se puede modelar un grafo y luego
aplicar algoritmos para resolver distintos
problemas.
SE APLICAN EN:
1. Ingeniería en sistemas computacionales.
2. Modelado de redes.
3. Química, etc.
¿Dónde de aplican los grafos?
C=Grado 3 E=Grado 4
D=Grado 3 H=Grado 3
F=Grado 3
Grado de el grafo =numero de arcos *2
8*2=16
Tipos de grafos
Grafo simple. o simplemente grafo es aquel que acepta una sola una
arista uniendo dos vértices cualesquiera. Esto es equivalente a decir
que una arista cualquiera es la única que une dos vértices específicos.
Camino simple
Todos los nodos que lo forman son distintos (no se repiten nodos.
Camino entre 4 y 7
T1={4,6,9,7}
Longitud=3
Caminos y ciclos de Euler.
Camino de Euler.
Recorre todos los arcos sin repetirlos.
Los vértices se pueden repetir.
Ciclo de Euler.
Recorre todos los arcos sin repetirlos.
Los vértices se pueden repetir.
Inicia y termina en el mismo vértice.
Grafo semieuleriano
Es aquel grafo conexo que admite un camino de Euler.
Grafo Euleriano
Es aquel grafo conexo que admite un circuito de Euler.
Teoremas de Euler
Teorema 1 (Grafo Euleriano):
Si G es un grafo conexo y todos sus vértices son
grado par entonces existe un circuito de Euler en G.
Procedimiento:
Localizar los vértices de grado impar.
Ciclo de Hamilton:
Inicia y termina en el mismo vértice.
Recorre todos los vértices sin repetirlos (excepto el
vértice del cual parte y al cual llega).
Grafo Hamiltoniano:
Es aquel grafo que admite un circuito de Hamilton.
Relaciones de un digrafo
A={1,2,3,4}
R={(1,2),(2,2),(2,3),(3,4),(4,3)}
Matriz de adyacencia [A] (grafo no
dirigido)
Dado un grafo G=(V,E)
Está representado por una matriz de V (vértices) por
V (vértices).
1=si hay arco.
Matriz de adyacencia [A] (grafo
dirigido)
Matriz de incidencia
Una matriz de incidencia representa las relaciones binarias entre dos
elementos, en nuestro caso entre un vértice y una arista del grafo.
En esta matriz las columnas representan las aristas y las filas los
vértices.
0 si vértice i no es incidente con arista j
1 si vértice i es incidente con arista j
Matriz de incidencia (digrafo)
Matriz de vértices
Dado un grafo G=(V,E)
Está representado por una matriz de arcos A *
vértices V.
Está formada por los arcos del grafo representado.
Matriz de distancia [D]
Dado un grafo G=(V,E)
Está representado por una matriz de vértices (V) *
vértices (V)
Almacena las distancias de un vértice a otro.
Algoritmos
Algoritmos
Existen algunas maneras útiles en las cuales
se pueden ordenar sistemáticamente los
nodos de un árbol. Los más importantes
son: preorden, post-orden y en-orden.
Estos tienen tres tipos de actividades comunes:
1. Visitar el nodo raíz
2. Recorrer el subárbol izquierdo
3. Recorrer el subárbol derecho
Preorden: (raíz, izquierdo, derecho). Para
recorrer un árbol binario no vacío en preorden,
hay que realizar las siguientes operaciones
recursivamente en cada nodo, comenzando
con el nodo de raíz:
• Visite la raíz
• Atraviese el sub-árbol izquierdo
• Atraviese el sub-árbol derecho
Inorden: (izquierdo, raíz, derecho). Para
recorrer un árbol binario no vacío en inorden
(simétrico), hay que realizar las siguientes
operaciones recursivamente en cada nodo:
• Atraviese el sub-árbol izquierdo
• Visite la raíz
• Atraviese el sub-árbol derecho
Postorden: (izquierdo, derecho, raíz). Para
recorrer un árbol binario no vacío en
postorden, hay que realizar las siguientes
operaciones recursivamente en cada nodo:
• Atraviese el sub-árbol izquierdo
• Atraviese el sub-árbol derecho
• Visite la raíz
Algoritmo de Floyd Warshall
Búsqueda en anchura
La búsqueda en anchura es otro
procedimiento para visitar sistemáticamente
todos los vértices de un grafo. Es adecuado
especialmente para resolver problemas de
optimización, en los que se deba elegir la
mejor solución entre varias posibles.
Búsqueda en anchura
Búsqueda en anchura: Es equivalente a
recorrer un árbol por niveles. Dado un nodo v,
se visitan primero todos los nodos adyacentes
a v, luego todos los que están a distancia 2 (y
no visitados), a distancia 3, y así
sucesivamente hasta recorrer todos los nodos.
Búsqueda en anchura
Consta de tres elementos:
• Contador (n).
• Vector de naturales (R) para “marcar” los
vértices ya visitados y almacenar el orden de
recorrido.
• Cola (Q) para gestionar los vértices no
visitados.
Búsqueda en profundidad
En la búsqueda en profundidad se avanza de
vértice en vértice, marcando cada vértice
visitado. La búsqueda siempre avanza hacia
un vértice no marcado, internándose en el
grafo sin repetir ningún vértice. Cuando se
alcanza un vértice cuyos vecinos han sido
marcados, se retrocede al anterior vértice
visitado y se avanza desde éste.
Búsqueda en profundidad