Professional Documents
Culture Documents
Árboles
Tema 5: Grafos
Matemática Discreta
José A. Ezquerro
Índice
GRAFOS
1 Grafos
· Definición y representación de grafos
· Isomorfismo de grafos
· Grafos eulerianos y hamiltonianos
· Representación matricial de grafos
· Mapas y coloraciones
2 Árboles
· Definición y propiedades
· Árboles generadores
· Árboles generadores minimales
· Los problemas del camino más corto y del viajante
Definición de grafo
Grafo
Un grafo G consta de un conjunto finito V , cuyos elementos
reciben el nombre de vértices, y un conjunto de E de pares de
elementos de V , cuyos elementos se conocen como aristas. Se
escribe G = (V , E ) para designar al grafo G cuyo conjunto de
vértices es V y el de aristas es E .
Tipos de grafos
Tipos de grafos
Grafo bipartido: V = V1 ∪ V2 , V1 ∩ V2 = ∅ y cada aristas es
de la forma {x, y } con x ∈ V1 e y ∈ V2 .
Tipos de grafos
Tipos de grafos
1101 1111
1001 1011
0101 0111
0001 0011
0100 0110
0000 0010
1100 1110
1000 1010
Isomorfismo de grafos
B
D C d c
Isomorfismo de grafos
Definición
Dos grafos G1 = (V1 , E1 ) y G2 = (V2 , E2 ) son isomorfos si existe
una aplicación biyectiva α : V1 → V2 tal que {x, y } ∈ E1 si y sólo
si {α(x), α(y )} ∈ E2 . A la biyección α se le denomina isomorfismo.
A a b
B
D C d c
Isomorfismo de grafos
Es evidente que para que dos grafos sean isomorfos, tienen que
tener el mismo número de vértices y de aristas.
Propiedades
Si dos grafos son isomorfos, también lo son los
correspondientes subgrafos.
Dos grafos son isomorfos si y solo si sus complementarios lo
son.
El grado de un vértice se conserva con el isomorfismo.
Dos grafos completos con el mismo número de vértices son
isomorfos.
v1 v2
v3
v5 v4
Propiedad
Si existe un recorrido en un grafo G que conecta dos vértices
distintos x e y de G , entonces existe un recorrido simple con
extremos x e y .
Definición
Un grafo G es conexo si, para cada par de vértices x e y , existe un
camino cuyos extremos son x e y . En caso contrario, decimos que
G es no conexo o disconexo.
Grafos eulerianos
Grafo euleriano
En un grafo se denomina recorrido euleriano a un recorrido
que contiene todas las aristas del grafo una sola vez.
Si el recorrido es cerrado, se denomina circuito euleriano.
Un grafo que admite un circuito euleriano recibe el nombre de
grafo euleriano.
Grafos eulerianos
Propiedades
Condición necesaria: todos los vértices de un grafo euleriano
tienen grado par.
Condición suficiente: si un grafo es conexo y todos sus vértices
tienen grado par, entonces admite un recorrido euleriano.
v1 v2 v3
v5
v4 v6
v7 v8 v9
Grafos eulerianos
Consecuencia
Si un grafo tiene un camino euleriano, entonces todo vértice
tiene grado par o, exactamente, dos de los vértices tienen
grado impar.
Un grafo conexo es euleriano si y solo si cada vértice tiene
grado par.
Propiedad
Un grafo conexo admite un camino euleriano no cerrado si y solo si
exactamente dos vértices tienen grado impar.
Grafos hamiltonianos
Grafo hamiltoniano
Un camino hamiltoniano es un camino de un grafo que
contiene todos sus vértices.
Se dice que un grafo tiene un ciclo hamiltoniano si existe un
ciclo en el grafo que contiene a todos los vértices del grafo.
Un grafo que contiene un ciclo hamiltoniano se denomina
grafo hamiltoniano.
v5 v4 v5 v4
A B A B
v6 v7 v8 v3 v6 v7 v8 v3
v1 v2 v1 v2
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16
Matriz de adayacencia
Dado un grafo G = (V , E ) con V = {v1 , v2 , . . . , vp }, se denomina
matriz de adyacencia a la matriz M = (mi,j ) de orden p × p y tal
que
mij = 1 si {vi , vj } ∈ E ,
mij = 0 si {vi , vj } ∈
/ E.
v1 v2 v4
0 1 1 0
v3 1 0 1 1
M=
1
1 0 0
0 1 0 0
Teorema
Sean G1 y G2 dos grafos tales que sus correspondientes matrices de
adyacencia son M1 y M2 . Entonces, G1 y G2 son isomorfos si y solo
si existe una matriz de permutación P tal que M2 = P −1 M1 P.
Ejemplos:
A a b E F e f
B
D C d c H G h g
Teorema
Sea M = (mij ) la matriz de adyacencia de un grafo G = (V , E ).
Entonces, el elemento (i, j) de la matriz M k nos da el número de
recorridos de longitud k entre los vértices vi y vj del grafo G .
Corolario
Sea M = (mij ) la matriz de adyacencia de un grafo conexo
G = (V , E ). Entonces, la distancia entre los vértices vi y vj es
igual a k si y solo si k es el menor entero no negativo que cumple
que el elemento (i, j) de la matriz M k es distinto de cero.
Ejemplo: v1
v2 v3
v5 v4
v1
v2 v3
v5 v4
0 1 1 0 0 2 1 1 2 2
1 0 1 1 1 1 4 3 2 2
M= 1 1 0 1 1 M2 = 1 3 4 2 2
0 1 1 0 1 2 2 2 3 2
0 1 1 1 0 2 2 2 2 3
34 67 67 52 52
67 102 103 93 93
M5 = 67 103 102 93 93
52 93 93 76 77
52 93 93 77 76
d c d c
Matemática Discreta Tema 5: Grafos 39/84
Grafos
Árboles
v1 4 3
a b
8 7
e
v2 5 6
d c v4 v3 1 2
Teorema
Sean R1 , R2 , . . . , Rn las regiones de un mapa conexo. Entonces
Fórmula de Euler
Sea G = (V , E ) un grafo plano conexo. Entonces,
|V | + |R| = |E | + 2,
1
Se excluye el caso que una región tenga un enclave aislado dentro de otro.
También se entiende que regiones que limitan sólo en un punto no tienen frontera
común.
Matemática Discreta Tema 5: Grafos 44/84
Grafos
Árboles
En este caso:
El problema se reduce a colorear los vértices de un grafo de
manera que dos que sean adyacentes no tengan el mismo
color.
Esto se conoce como una coloración de un grafo.
Coloración de grafos
Teorema
El número cromático χ(G ) de un grafo G es el menor entero
positivo k tal que PG (k) > 0.
Árboles
Los árboles son un tipo particular de grafos que destacan tanto por
su utilidad y aplicaciones prácticas como por sus importantes
propiedades matemáticas. Un problema tı́pico relacionado con
árboles es el del emparejamiento de los equipos o participantes de
una competición deportiva: los equipos se van enfrentando dos a
dos y sólo uno de ellos pasa a la siguiente ronda hasta alcanzar la
final y ser el campeón.
Árboles: ejemplo
Definición de árbol
Árbol
Un árbol es un grafo conexo que no tiene ciclos.
Propiedad
Los árboles son los grafos conexos que se pueden formar con el
menor número de aristas.
Matemática Discreta Tema 5: Grafos 53/84
Grafos
Árboles
Árboles m-arios
Es claro que la raı́z de un árbol se encuentra en el nivel 0 y que
cualquier otro vértice v en el nivel k 6= 0 es adyacente a un único
vértice w del nivel anterior. El vértice w se denomina padre de v .
De forma similar, decimos que v es un hijo de w . Ası́, un vértice es
una hoja si y solo si no tiene hijos. Si cada padre tiene m hijos, se
dice que el árbol es m-ario. Si m = 2, diremos que el árbol es
binario y si m = 3, lo llamaremos ternario.
Matemática Discreta Tema 5: Grafos 55/84
Grafos
Árboles
Todo árbol sin raı́z se puede transformar en un árbol con raı́z sin
más que elegir uno cualquiera de sus vértices como la raı́z y
dirigiendo entonces todas las aristas desde la raı́z. Por ejemplo, en
el grafo de la izquierda, se toma como raı́z el vértice etiquetado
con una d y, a partir de ahı́, se dirigen todas las aristas de
izquierda a derecha o de arriba a abajo.
Teorema de Cayley
El número de árboles distintos que se pueden formar con el
conjunto de vértices {1, 2, . . . , n} es nn−2 .
Matemática Discreta Tema 5: Grafos 58/84
Grafos
Árboles
l m
ln 24
Árbol binario, 16 hojas, equilibrado y altura h = ln 2 = d4e = 4.
Matemática Discreta Tema 5: Grafos 59/84
Grafos
Árboles
Árbol ternario
ln 7(m
= 3), 7 hojas, equilibrado y
altura h = ln 3 = d1,77124e = 2:
Árboles generadores
Árbol generador
Un árbol generador o un árbol maximal de un grafo G es un
subgrafo de G que es un árbol y contiene a todos los vértices de G .
Grafo ponderado
Sea G = (V , E ) un grafo. En ocasiones, se asocia a cada arista e
de G un valor numérico, w (e), que se denomina peso de la arista
e. A la función w : E → R+ se le denomina función peso. En este
caso, decimos que G y w constituyen un grafo ponderado.
Pila: ejemplo
Pila: ejemplo
Cola: ejemplo
Está claro que para comunicar dos edificios no es necesario un enlace directo, pues se
puede mandar un mensaje de uno a otro de forma indirecta. Por ejemplo, enviar un
mensaje de A a B y de B a C en lugar de enviarlo directamente de A a C. Supongamos
que el coste de enviar un mensaje una vez instalada la red es despreciable comparado
con el coste de hacer una comunicación directa. El problema consiste entonces en
determinar la red con el mı́nimo coste que garantice la comunicación entre los cinco
edificios del campus.
Matemática Discreta Tema 5: Grafos 72/84
Grafos
Árboles
Algoritmo de Prim
Consiste en repetir el siguiente paso hasta que el árbol T tenga
n − 1 aristas: añadir a T la arista de menor peso entre un vértice
de T y un vértice que no está en T . Como árbol inicial se toma el
formado por cualquiera de las aristas de menor peso.
Matemática Discreta Tema 5: Grafos 73/84
Grafos
Árboles
a
7
8
5 b c
7
9 5
15
d e
6 9
8
11
f g
Grafos
Árboles
a
7
8
5 b c
7
9 5
15
d e
6 9
8
11
f g
a
7
8
5 b c
7
9 5
15
d e
6 9
8
11
f g
a
7
8
5 b c
7
9 5
15
d e
6 9
8
11
f g
a
7
8
5 b c
7
9 5
15
d e
6 9
8
11
f g
a
7
8
5 b c
7
9 5
15
d e
6 9
8
11
f g
a
7
8
5 b c
7
9 5
15
d e
6 9
8
11
f g
Algoritmo de Dijkstra
Proporciona el camino más corto entre un vértice dado y el resto
de vértices de un grafo ponderado. Supongamos que hemos
comprobado que el camino más corto de un vértice v a un vértice
p tiene longitud l(p). Supongamos también que y es adyacente a p
y que solo conocemos una estimación l(y ) de la longitud del
camino más corto de v a y . La ruta más corta de v a y , a través
de p, tiene longitud l(p) + w ({p, y }) y, si ésta es menor que l(y ),
podemos mejorar nuestra estimación asignando a l(y ) un nuevo
valor igual a mı́n{l(y ), l(p) + w ({p, y }).
Matemática Discreta Tema 5: Grafos 77/84
Grafos
Árboles
Estrategia:
En lugar de buscar un algoritmo que nos proporcione la solución
óptima, buscamos los denominados algoritmos heurı́sticos, que se
acercan bastante a la solución óptima. En este caso, se trata de
decidir si gastar mucho (tiempo y/o dinero) en encontrar la
solución óptima o conformarse con obtener una solución
aproximada con un algoritmo heurı́stico.