You are on page 1of 27

Tema 5.

Grafos
Terminologa basica
Denicion 1. Sea V un conjunto nito (cuyos elementos llamaremos
vertices), y sea E un conjunto de 2-subconjuntos de V (cuyos elementos
llamaremos aristas); llamaremos grafo G al par G = (V, E).
Si E es un subconjunto de V V , es decir si importa el orden en las
aristas, diremos que G es un grafo dirigido o digrafo.
Si para cada par de vertices a, b puede haber dos o mas aristas que unan
a con b, entonces diremos que G es un multigrafo.
Una arista que empieza y termina en el mismo vertice se llamara lazo.
Denicion 2. Sea G = (V, E) un grafo (dirigido o no dirigido), se
denomina subgrafo de G a un grafo G

= (V

, E

) tal que V

V y
E

E.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 1
Denicion 3. Para cada entero positivo n denimos el grafo completo
K
n
, como el grafo de n vertices en el que cada par de vertices es
adyacente.
Ejemplo 1. Dar grafos completos K
n
para distintos valores de n.
Cuantas aristas tiene K
n
? Para que valores de n puede darse una
representacion graca de K
n
con la propiedad de que las lneas que
representan las aristas no se corten?
I. Fortes, J. Medina. Dpto. Matematica Aplicada 2
Representacion de grafos: matrices y
listas de adyacencia
La representacion graca de un grafo es util para nosotros, pero es
totalmente in util para comunicarse con un ordenador.
Denicion 4. Si G = (V, E) es un grafo y sea V = {v
1
, ..., v
n
},
llamaremos representacion matricial de G una matriz cuadrada A de
tama no n que tiene un 1 en el lugar (i, j) si existe una arista que une
v
i
con v
j
y un 0 en caso contrario.
Ejemplo 2. Representa matricialmente el grafo del Ej 1.
Denicion 5. Diremos que dos vertices x e y de un grafo son
adyacentes o vecinos si {x, y} es una arista. Llamaremos lista de
adyacencias de un grafo a una tabla en la que cada vertice encabeza una
columna en la que guran los vertices adyacentes a el.
Ejemplo 3. Realizar la lista de adyacencias del grafo del Ej 1.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 3
Isomorsmos de grafos.
Denicion 6. Diremos que dos grafos no dirigidos G
1
= (V
1
, E
1
) y
G
2
= (V
2
, E
2
) son isomorfos si existe una biyeccion : V
1
V
2
tal
que {(x), (y)} es una arista de G
2
si, y solo s, {x, y} es una arista
de G
1
. Se dice que la biyeccion es un isomorsmo de grafos.
Ejemplo 4. Estudiar si los grafos siguientes son isomorfos:

d
a
b

>
>
>
>
>
>

d
w

u
Ejemplo 5. Hacer lo mismo con los grafos:

e
a
b

4
5

I. Fortes, J. Medina. Dpto. Matematica Aplicada 4


Ejemplo 6. Son isomorfos los grafos G
1
y G
2
siguientes?
a b c d e f
b a b c b a
f c d e c e
e e d
f
u v w x y z
x y u u v v
w z y y w w
z z x
Denicion 7. Se llama grado de un vertice V de un grafo o multigrafo
no dirigido G = (V, E) al n umero de aristas de G que contienen a v,
es decir:
grad(v) = |{a E | v a}|
Nota. Los lazos se cuentan dos veces.
Ejemplo 7. Obtener los grados de los vertices de los ejemplos
anteriores.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 5
Teorema 1. Si existe un isomorsmo entre los grafos G
1
y G
2
tal
que (v) = w se tiene que grad(v) = grad(w).
Teorema 2. Dado un grafo o multigrafo no dirigido G = (V, E) , se
tiene que la suma de los grados de todos los vertices del grafo G es igual
al doble del n umero de aristas de G, es decir:

vV
grad(v) = 2|E|
Ejemplo 8. Demostrar que en cualquier grafo el n umero de vertices
impares es par.
Denicion 8. Se dice que un grafo o multigrafo no dirigido Ges regular
de grado r o r-regular, si todos sus vertices tienen el mismo grado.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 6
Observaciones.
-Si G es un grafo regular de grado r, aplicando el teorema anterior, se
tiene que |V |r = 2|E|
-Los grafos completos K
n
son regulares de grado r = n 1.
Ejemplo 9. Es posible tener un grafo regular en el que cada vertice
tiene grado 4 y hay 10 aristas?
Ejemplo 10. Buscar grafos regulares entre los ejemplos anteriores.
Ejemplo 11. Diremos que C
n
es un grafo ciclo si su representacion
graca es un polgono de n lados. Los grafos ciclo son regulares. De
que grado?
I. Fortes, J. Medina. Dpto. Matematica Aplicada 7
Caminos y ciclos de Euler
Denicion 9. Un camino de un grafo no dirigido G es una sucesion
de vertices v
1
, . . . , v
k
tal que v
i1
y v
i
son adyacentes para todo
i = 2, . . . , k.
Un camino simple es un camino en el que todos los vertices v
i
son
distintos.
Un ciclo es un camino que empieza y termina en el mismo vertice.
Un ciclo simple es un ciclo en el que todos los vertices son distintos
(salvo, evidentemente el primero y el ultimo)
I. Fortes, J. Medina. Dpto. Matematica Aplicada 8
Denicion 10. Sea G = (V, E) un grafo o multigrafo no dirigido,
diremos que Gtiene un ciclo (camino) de Euler si existe un ciclo (camino)
en G que cumple las siguientes condiciones:
visita todo vertice y toda arista de G
cada arista se visita exactamente una vez.
Relacion de equivalencia entre los vertices de un grafo.
Sean x, y vertices del grafo no dirigido G = (V, E), denimos la
siguiente relacion de equivalencia R en V :
xRy, si y solo si, existe un camino v
1
, ..., v
k
tal que v
1
= x y v
k
= y
Nota. Como R es una relacion de equivalencia, induce en V una
particion en clases de equivalencia.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 9
Denicion 11. Sean G = (V, E) un grafo no dirigido, {V
i
}
i=1,...,r
la particion de V inducida por R. Sea E
i
el subconjunto de E formado
por las aristas de G cuyos extremos estan ambos en V
i
. Los grafos
G
i
= (V
i
, E
i
) se conocen como componentes de G.
Se dice que un grafo no dirigido G es conexo si tiene una unica
componente.
Ejemplo 12. Decir si los grafos de los ejemplos anteriores son o no
conexos. Decir el n umero de componentes de cada uno.
Observaciones.
-Muchos teoremas sobre grafos se demuestran para grafos conexos, y se
trasladan a cada componente de los grafos no conexos.
-Decidir si un grafo es conexo no es facil en general, salvo que su tama no
sea peque no.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 10
Teorema 3. Sea G un grafo o multigrafo no dirigido. Entonces G
tiene un ciclo de Euler si, y solo si, es conexo y todo vertice tiene grado
par.
Teorema 4. Sea G un grafo o multigrafo no dirigido. Entonces G
tiene un camino de Euler si, y solo si, es conexo y tiene solo dos vertices
de grado impar.
Ejemplo 13. Resolver el problema de los puentes de Konigsberg.
Ejemplo 14. Dos personas, A y B, tienen pensado ir de vacaciones a una isla cuyos
puntos de interes y comunicaciones vienen dados por el siguiente grafo:
.
.
.
.
.
.
..

-
-
-
-
-
-
--
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
``

-
-
-
-
-
-
--
.
.
.
.
.
.
..
`
`
`
`
`
`
`
`

A preere visitar cada lugar una sola vez y volver al punto de partida, mientras que B
preere atravesar cada carretera una vez en cualquier direccion, sin importarle empezar
y acabar en lugares distintos. Encontrar, si es posible, rutas para A y para B.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 11
Caminos y ciclos de Hamilton
Ejemplo 15. En cada uno de los 20 vertices de un dodecaedro regular,
colocamos una etiqueta con el nombre de una ciudad distinta, Hallar un
posible viaje entre estas ciudades que empiece y termine en la misma, de
modo que se visiten todas ellas, y cada una de ellas se visite una sola
vez.
Denicion 12. Diremos que el grafo o multigrafo G tiene un ciclo
(camino) de Hamilton si existe un ciclo (camino) que verica las siguientes
condiciones:
visita todos sus vertices
cada vertice es visitado una unica vez
1
.
1
en el caso de los ciclos, el vertice inicial es visitado de nuevo para cerrar el ciclo.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 12
Nota. El problema de encontrar caminos y ciclos de Hamilton no
es parecido al de encontrar caminos y ciclos de Euler. No tenemos
teoremas que den condiciones necesarias y sucientes como en el caso
de los caminos y ciclos de Euler. Solo podemos utilizar el metodo de
ensayo-error junto con algunas observaciones utiles.
Observaciones utiles.
1. Si G tiene un ciclo de Hamilton, entonces el grado de cada uno de sus
vertices es mayor o igual que 2.
2. Si G tiene alg un vertice de grado 2, entonces las dos aristas incidentes
con este vertice deben aparecer en cualquier ciclo de Hamilton.
3. Si el grado de un vertice es mayor que 2, entonces una vez que el ciclo
de Hamilton pase por ese vertice, las aristas no utilizadas incidentes
con dicho vertice se dejan de tener en cuenta.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 13
4. Construyendo un ciclo de Hamilton para G, no se puede obtener un
ciclo simple para un subgrafo de G, a menos que contenga todos los
vertices de G.
Los dos resultados que siguen son condiciones sucientes (no necesarias)
para la existencia de caminos de Hamilton.
Teorema 5. Dado un grafo G sin lazos con n vertices. Si grad(x) +
grad(y) n 1, para todo x, y vertices de G distintos, entonces G
tiene un camino de Hamilton.
Teorema 6. Dado un grafo G sin lazos con n vertices. Si grad(x)
n1
2
, para todo x vertice de G, entonces Gtiene un camino de Hamilton.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 14
Grafos planos
Denicion 13. Diremos que Ges un grafo plano si se puede representar
en el plano de manera que sus aristas solo se toquen en los vertices.
Ejemplo 16. Dibujar grafos que sean planos y otros que no lo sean.
Denicion 14. Diremos que G = (V, E) es un grafo bipartido si
V = V
1
V
2
con V
1
V
2
= , y cada arista {x, y} de G es tal que
x V
1
e y V
2
. Si todos los vertices de V
1
estan unidos con todos
los de V
2
, tendremos un grafo bipartido completo, que notaremos K
n,s
,
siendo n el cardinal de V
1
y s el cardinal de V
2
.
Ejemplo 17. Dibujar un grafo bipartido, y el grafo bipartido K
3,3
(grafo de servicios). Son grafos planos?
I. Fortes, J. Medina. Dpto. Matematica Aplicada 15
Denicion 15. Diremos que G
1
y G
2
son grafos homeomerfos si uno
de ellos se puede obtener a partir del otro mediante la insercion o
eliminacion de vertices de grado 2.
Ejemplo 18. Dibujar grafos homeomorfos.
Nota. Si eliminamos los vertices de grado 2 de dos grafos homeomorfos,
tendremos dos grafos isomorfos. Ademas, si dos grafos son homeomorfos,
o bien ambos son planos, o bien son ambos no planos.
Teorema 7. [Teorema de Kuratowski] Un grafo no es plano si, y
solo si, tiene un subgrafo homeomorfo al grafo completo K
5
o al grafo
bipartido completo K
3,3
.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 16
Teorema 8. [Teorema de Euler] Sea G = (V, E) un grafo plano y
conexo con v vertices, a aristas y que determina r regiones en el plano.
Entonces se tiene que
v + r = a + 2
Teorema 9. Para todo grafo plano conexo G = (V, E) se tiene
3r 2a y a 3v 6.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 17
Coloracion de grafos
Ejemplo 19. Tenemos que programar 6 conferencias de una hora
a, b, c, d, e, f. Entre la posible audiencia hay quienes quieren asistir a
a y b, a y d, c y e, b y f, d y e, e y f, a y f. Cuantas horas son
necesarias para poder dar las conferencias sin solaparse y que todo el
mundo pueda asistir las que ha elegido?
Denicion 16. Una vertice-coloracion de un grafo no dirigido G =
(V, E) es una funcion c : V {1, 2, . . . , k} tal que c(x) sea distinto
de c(y) siempre que {x, y} sea una arista de G.
Denicion 17. El n umero cromatico (G) de un grafo no dirigido G
es el menor entero k para el cual existe una vertice coloracion de G.
Ejemplo 20. Asignar una vertice-coloracion al grafo del ejemplo 1 y
obtener su n umero cromatico.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 18
El algoritmo voraz para las
vertice-coloraciones
Vamos a obtener un algoritmo para asignar vertice-coloraciones a un
grafo.
Consiste en lo siguiente:
-Se ordenan los vertices.
-Se asignan los colores ordenadamente, de manera que cada vertice reciba
el primer color que no haya sido asignado a los vertices adyacentes a el.
Para programarlo, se realiza lo siguiente:
I. Fortes, J. Medina. Dpto. Matematica Aplicada 19
-Se disponen los vertices en cierto orden v
1
, v
2
, . . . , v
n
.
-Se asigna el color 1 a v
1
.
-Para cada v
i
con (i = 2 . . . n), formamos el conjunto S de colores
asignados a los vertices v
j
(j = 1 . . . i 1) que son adyacentes con v
i
.
-Asignamos a v
i
el primer color que no esta en S.
Observaciones.
-El algoritmo voraz no proporciona el mnimo n umero de colores, salvo
que se comience en el orden adecuado, pero hay n! ordenaciones posibles
y probarlas todas requerira tiempo exponencial.
-Ademas de ser util en la practica, el algoritmo voraz sirve para obtener
resultados teoricos interesantes, como los que siguen.
Ejemplo 21. Usar el algoritmo voraz para colorear el grafo del
ejemplo 1.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 20
Teorema 10. Sea G un grafo con grado maximo k. Entonces
1. (G) k + 1
2. Si ademas G es conexo y no regular, entonces (G) k
Observaciones.
-Si G es regular no tiene por que cumplirse 2. Por ejemplo (K
5
) = 5.
- Un ejemplo donde s se da 2 es (K
3,2
) = 2.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 21
Denicion 18. Sea G un grafo no dirigido, y un entero positivo,
llamaremos polinomio cromatico de G, y notaremos P(G, ), a un
polinomio en la variable que nos da el n umero de maneras distintas de
colorear G usando a lo sumo colores.
Ejemplo 22. Hallar el polinomio cromatico del grafo completo K
n
.
Teorema 11. [Teorema de descomposicion para polinomios cromaticos.]
Dado un grafo no dirigido conexo G y una arista a = {x, y} de G, se
tiene que P(G, ) = P(G
a
, ) P(G

a
, )
Nota. G
a
es el subgrafo de G obtenido eliminando la arista a, sin
suprimir los vertices x, y. G

a
es el subgrafo de G obtenido identicando
los vertices x e y.
Ejemplo 23. Usar el teorema anterior para hallar el polinomio
cromatico de un ciclo simple de longitud 4.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 22
Grafos ponderados. Algoritmo de
Dijkstra
Denicion 19. Diremos que un grafo no dirigido G = (V, E) es
un grafo ponderado si cada arista {x, y} tiene asociado un n umero
w(x, y), llamado ponderacion o peso de la arista {x, y}. Se llama peso
o ponderacion de un grafo a la suma de los pesos de cada una de sus
aristas. Frecuentemente, el peso de un camino de un grafo, se llama
longitud del camino.
Observacion. Es un problema muy interesante encontrar, en un grafo
ponderado, el camino mas corto entre dos vertices dados. El Algoritmo
de Dijkstra, como veremos, resuelve ecientemente este problema.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 23
Algoritmo del camino mas corto.
(Algoritmo de Dijkstra)
Sea G = (V, E) grafo conexo ponderado. Sean a, z vertices de G.
Queremos hallar la longitud del camino mas corto entre a y z. Para ello,
vamos a asignar a los vertices v de G unas marcas L(v) temporales o
permanentes, de manera que si L(v) es una marca permanente de v,
entonces L(v) es la longitud del camino mas corto entre a y v . Sea
T el conjunto de vertices de G con marcas temporales. Marcaremos con
un crculo cada vertice que tenga una marca permanente. Cada iteracion
del algoritmo cambia el estado de una marca de temporal a permanente.
Por lo tanto, el algoritmo puede terminar cuando z tenga una marca
permanente. En este momento, L(z) dara el camino mas corto entre a
y z.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 24
1. (Inicializacion.) Sea L(a) := 0. Para todo vertice x = a, sea
L(x) := +. Sea T el conjunto de vertices.
2. (Termino?) Si z T, hemos terminado. (L(z) es la longitud del
camino mas corto entre a y z.)
3. (Pase al vertice siguiente.) Escoja v T tal que L(v) tiene el valor
mnimo y marquelo con un crculo. Tome T := T {v}.
4. (Revise las marcas.) Para cada vertice x T, adyacente a v, se
toma:
L(x) := min{L(x), L(v) + w(v, x)}
Si se ha producido un cambio de marca, escribir la nueva junto con v.
5. Pase a la instruccion 2.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 25
Ejemplo 24. Determinar la longitud del camino mas corto entre A y el
vertice G para el siguiente grafo:
siguiente:
A B C D E F G
A 1 2
B 1 3 4
C 2 3 1 5
D 4 1 3 7 2
E 5 3 4 1
F 7 4 6
G 2 1 6
Nota.- La se nal indica que los vertices no son adyacentes.
I. Fortes, J. Medina. Dpto. Matematica Aplicada 26
Ejemplo 25. Determinar la longitud del camino mas corto entre a y el
resto de los vertices del grafo:

2
b

2
c

4
e
2
d

1
z

1
f

3
4
5
g

6
Ejemplo 26. Determinar la distancia y el camino mas corto desde a
hasta los demas vertices del grafo:

9
b

3
g

14
a

10

4
17
6
1
i
h

1
f

7
I. Fortes, J. Medina. Dpto. Matematica Aplicada 27

You might also like