Está en la página 1de 15

1

Coordinacin de Ciencias Computacionales - INAOE


Matemticas Discretas
Grafos
Cursos Propeduticos 2010
Ciencias Computacionales
INAOE
Dr. Luis Villaseor Pineda
villasen@inaoep.mx
http://ccc.inaoep.mx/~villasen
2
Grafos
Definiciones bsicas
Caminos y ciclos
Grafos eulerianos y hamiltonianos
Isomorfismo
rboles
3
Generalidades
Los grafos son estructuras discretas compuestas por
vrtices y aristas que conectan pares de esos puntos
Son una abstraccin til para modelar situaciones
tales como:
Redes de computadoras
Estructuras de datos
Redes elctricas y telefnicas
Circuitos elctricos
Sistemas carreteros
Sistemas de toma de decisiones
4
Qu son?
Un grafo es una representacin grfica de objetos y
relaciones binarias entre stos.
Un grafo se representa grficamente por medio de puntos o
pequeos crculos, que designan vrtices, y lneas que los
unen, que representan las aristas
1
5
4
3
2
2
5
Grafos dirigidos
Un grafo dirigido/dgrafo G = (V, E) consiste de un
conjunto de vrtices V (o nodos) y un conjunto de
aristas (o arcos) dirigidas E _ VV
Note que las aristas (a, b) tiene una direccin; un vrtice
fuente/origen a y un vrtice terminal b
V={1,2,3,4,5}
E = {(1,3), (2,3), (3,4),
(4,3), (5,3), (5,4), (5,5)}
1
5
4
3
2
6
Grafos simples
Un grafo no dirigido G = (V,E) sin auto lazos se
denomina grafo simple
E se determina por una relacin simtrica, antireflexiva, tal
que {a,b} eE si y solo si (a,b)eR
V={1,2,3,4,5}
E = {{1,2}, {1,3}, {2,3},
{3,4}, {3,5}, {4,5}, {2,5}} 1
5
4
3
2
7
Definiciones
Si e={u, v} es una arista entonces se dice que los
vrtices u y v son los extremos de e
Un vrtice y una arista son incidentes si el vrtice es
uno de los extremos de la arista
Dos vrtices u y v son adyacentes si {u, v} es una
arista
8
Representacin de grafos simples
1 2
3 4
{3,4}
{2,4} {1,3}
{2,3}
{1,4}
{1,2}
3
9
Ejemplo: vrtices
Cules vrtices son adyacentes a 1?
1 2
3 4
e
3
e
1
e
2
e
4
10
Ejemplo: vrtices
Cules vrtices son adyacentes a 1?
1 es adyacente a 2 y 3
2 es adyacente a 1 y 3
3 es adyacente a 1 y 2
4 no es adyacente a vrtice alguno
1 2
3 4
e
3
e
1
e
2
e
4
11
Ejemplo: vrtices
Cules aristas son incidentes a 1?
e
1
, e
2
, e
4
son incidentes a 2
2 es incidente con e
1
, e
2
, e
4
3 es incidente con e
2
, e
3
4 no es incidente con ninguna arista
1 2
3 4
e
3
e
1
e
2
e
4
12
Definiciones
Dos aristas asociadas al mismo par de vrtices son
aristas paralelas
Una arista incidente en un slo vrtice es un ciclo
Un vrtice que no es incidente en ninguna arista es un
vrtice aislado
4
13
Matriz de adyacencia
Forma de representar grafos y relaciones
1
2
3
4
|
|
|
|
|
.
|

\
|
1 0 0 0
1 1 0 0
1 1 1 0
1 1 1 1
14
Ejemplo
Cul es la matriz de adyacencia del grafo de la
figura?
1 2
3 4
|
|
|
|
|
.
|

\
|
1 0 0 0
0 0 1 1
0 1 2 2
0 1 2 0
Tipos de grafos
Un grafo no dirigido sin auto lazos (un ciclo sobre un
mismo vrtice) se denomina grafo simple
Un grafo con aristas paralelas (dos aristas pueden
conectar un mismo par de vrtices) es llamado
multigrafo
Un grafo completo es un grafo con arcos entre cada
par de vrtices
Un grafo pesado es aquel que tiene pesos asociados a
nodos y/o arcos
15 16
Grafos completos
Se llama grafo completo (o clique) en n vrtices a un
grafo con n vrtices v
1
, v
2
, , v
n
donde para todo a y
b que pertenecen a V existe una arista {a, b}. Este
grafo se denota K
n
, y el nmero de aristas de K
n
es
n(n-1)/2
Cada par de vrtices distintos comparte un arista
5
17
Grados
El grado de un vrtice v de un grafo es el nmero
g(v) de aristas incidentes con l. Si g(v) = 0 se dice
que v es un vrtice aislado
En grafos dirigidos existen grado de entrada y grado de
salida
La sucesin de grados de un grafo se obtiene
ordenando en forma creciente los grados de todos los
vrtices
18
Ejemplo: grado de un vrtice
Cul es grado del vrtice 2?
g(2)=1+1+1+2+2=7
1 2
3
e
1
e
3
e
2
e
4
e
5
e
6
19
Ejemplo: grado de un vrtice
Cules son los grado de entrada y salida de los
vrtices del grafo mostrado en la figura?
g
-
(1) = 0
g
-
(2) = 3
g
-
(3) = 4
g
+
(1) = 2
g
+
(2) = 3
g
+
(3) = 2
1
2
3
20
Teorema de Euler
En todo grafo G=(V, E) se cumple
Las aristas se pueden contar considerando cuantas son
incidentes en cada vrtice y sumando todos los nmeros
obtenidos. Pero asi cada arista resulta contada dos veces,
una para cada uno de sus extremos

=
V v
E v g
c
2 ) (
6
21
Ejemplos
Si un grafo tiene una sucesin de grados 0, 1, 1, 2,
3, 4, Cuntas aristas tiene?
(0+1+1+2+3+4)/2=5
Existe algn grafo cuya sucesin de grados sea 1,
1, 2, 3, 4?
No, dado que 1+1+2+3+4=11 es impar
22
Subgrafos
Si G = (V, E) y H = (W, F) son grafos tales que
W c V y F c E, entonces se dice que H es un
subgrafo de G y que G es un supergrafo de H.
Cada arista de F es incidente con vrtices en W
23
Ejemplo
b b b
a c e
d d
c a
e
d
24
Caminos y ciclos
Un camino de longitud n es un grafo G = (V, E) con
V = {v
0
, v
1
, v
2
, . . . , v
n
} y E = {v
0
v
1
, v
1
v
2
, . . . ,
v
n1
v
n
}. Un camino se representa dando la sucesin
v
0
v
1
. . . v
n
de sus vrtices, entendiendo que las aristas
son v
0
v
1
, v
1
v
2
,. . . , v
n1
v
n
. A v
0
y v
n
se les llama
extremos del camino.
Camino: Secuencia ordenada de vrtices y arcos.
Camino cerrado: Cuyo inicio es igual que el final
Camino simple: Sin aristas repetidas.
Camino elemental: Sin vrtices repetidos.
7
25
Caminos y ciclos
Un ciclo de longitud n es un grafo G = (V,E) de orden
n3, con vrtices v
0
, v
1
, . . . , v
n1
y aristas v
0
v
1
, v
1
v
2
,.
. . , v
n2
v
n1
y v
n1
v
0
.
Ciclo: Camino elemental cerrado.
Circuito: Camino simple cerrado.
26
Ejemplo
Camino de a-b
{a, b},{b, d}, {d, c}, {c, e},
{e, d}, {d, b}
Camino de b a f
b c d e c f
Camino de f a a
{f, c}, {c, e}, {e, d}, {d, a}
Camino de c a c
c e d c
a
b
d
c
f
e
27
Distancia y dimetro
La distancia d(u, v) entre dos vrtices u y v de un
grafo es la longitud del camino ms corto de u a v. Si
no existe ningn camino de u a v entonces d(u, v) =
.
El dimetro de G es la mxima distancia entre dos
vrtices de G y se denota diam(G).
28
Grafo conexo
Un grafo G = (V, E) es conexo si para cualquier par
de vrtices u, y v existe un camino en G que los une,
es decir un camino con extremos u y v.
Equivalentemente, G es conexo si diam(G) <
8
29
Ejemplo
Sea G=(V, E) un grafo no dirigido en V={a, b, c, d, e,
f, g}
El grafo no es conexo
Los dos sub-grafos son conexos
a
b
d
f
c
e g
30
Problemas de Caminos y Circuitos
Encontrar si existe un camino entre un par de vrtices
Encontrar el camino ms corto entre un par de
vrtices
Encontrar camino que pase por cada arista una sola
vez (Euler)
Encontrar circuito que pase por cada vrtice una sola
vez (Hamilton)
31
Camino simple de Euler
Un camino simple de Euler es un camino que pasa
por todas las aristas exactamente una sola vez.
Los puentes de Knigsberg
Camino simple de Euler
Teorema:
(a) Si un grafo conexo tiene ms de dos nodos con
grado impar, no existe un camino simple de Euler.
(b) Si existen exactamente dos vrtices de grado
impar, el grafo se puede recorrer, pero el camino ha
de empezar en uno de los dos vrtices de grado impar
y terminar en el otro.
(c) Si no existen vrtices de grado impar, el grafo se
puede recorrer. El camino siempre ser cerrado.
32
9
33
Ciclo de Hamilton
Sean G=(V, E) un grafo, se dice que G tiene un ciclo
de Hamilton si existe un ciclo en G que incluye todos
y cada uno de los vrtices en V.
34
Ejemplo
En el grafo de la figura, las aristas {a, b}, {b, c}, {c,
f}, {f, e}, {e, d}, {d, g}, {g, h} y {h, i} producen una
camino de Hamilton
a b
e d
c
f
h g i
Existe solucin?
Dado un grafo cualquiera, es posible determinar si
posee un camino Hamiltoniano?
Es una pregunta muy parecida a la de Euler, as que
se esperara una respuesta del mismo tipo
Sin embargo, se trata de un problema NP-completo
(Teorema de Garey-Johnson)
35 38
Clique
Grafo completo: cada par de nodos distintos son
adyacentes
Conjunto completo: subconjunto W de G que induce
un subgrafo completo de G
Clique: subconjunto de nodos que es conjunto
completo y mximo (no hay un conjunto completo
que lo contenga)
10
39
Cliques
40
Cliques
41
Cliques
42
Isomorfismo
Dos grafos G={V, E} y G={V, E} son isomorfos si
existe una biyeccin f: V V que preserva la
relacin de adyacencia, es decir tal que
{u, v} e E si y solo si {f(u), f(v)} e E
Dos grafos isomorfos deben tener el mismo nmero de
vrtices. Todas las propiedades que se deriven de la
relacin de adyacencia deben ser idnticas: mismo nmero
de aristas y sucesiones de grado
11
43
Ejemplo: isomorfismo
Los dos grafos representados en la figura son
isomorfos:
44
Ejemplo
a b
d c
w x
z y
Grafos isomorfos
45
Ejemplo
a
x z
e
b
w
y
f
c
v
u
d
Grafos no isomorfos
46
Tipos de isomorfismos
Isomorfismo de grafos
correspondencia 1:1 entre dos grafos G1 - G2
Isomorfismo de subgrafos
correspondencia entre un grafo G1 y los subgrafos de G2
Doble isomorfismo de subgrafos
correspondencia entre los subgrafos de G1 y los subgrafos
de G2
12
47
Bsqueda con backtracking
Se construye un rbol en el que las trayectorias
corresponden a isomorfismos:
se toma un nodo de G1 y todas sus posibles
correspondencias en G2 (primer nivel)
se buscan los nodos conectados a los nodos
correspondientes del primer nivel (segundo nivel)
se continua hasta que no existan correspondencias
las trayectorias en el rbol corresponden a isomorfismos
de subgrafos entre G1 y G2
48
Bsqueda con backtracking
A/A A/A
B/B
C/C C/C
49
rboles
Un rbol es un grafo conexo y acclico
Sea G(V, E) un grafo. Las afirmaciones siguientes
son equivalentes:
G es un rbol
Dos vrtices cualesquiera de G estn unidos por un nico
camino
G es conexo pero si se le quita cualquier arista deja de serlo
G es acclico pero si se le agrega una arista cualquiera deja
de serlo
50
Ejemplo
El grafo de la izquierda es un rbol pero el de la
derecha no
b a
c
e
d
f
b a
c
e
d
f
13
51
rbol
Hoja o nodo terminal: grado 1
Nodo rama o interno: grado > 1
52
rbol
Propiedades:
Hay una trayectoria simple entre cada par de nodos
El nmero de nodos = nmero de aristas + 1
Un rbol con 2 o ms nodos tiene al menos dos nodos hoja
53
rboles dirigidos
rbol (enraizado): un nodo con grado de entrada 0
(raz) y los dems con 1
Polirbol (rbol dirigido): se vuelve un rbol al
quitar las direcciones
54
rbol dirigido
Terminologa:
Raz: vrtice con grado de entrada 0
Hoja: vrtice con grado de salida 0
Interno: vrtice con grado de salida > 0
Hijo / Padre: arista de A a B, A es padre de B y B es
hijo de A
Hermanos: tienen el mismo padre
Descendientes / Ascendientes: camino de A a B, A es
ascendiente de B y B es descendiente de A
14
55
rbol dirigido
Terminologa:
Subrbol con raz A: A y todos sus descendientes
Subrbol de A: subrbol con hijo de A como raz
rbol ordenado: aristas salientes de cada nodo
etiquetados con enteros
rbol de aridad m: cada nodo rama (raz o interno)
tiene mximo m hijos. Es regular si c/u tiene
exactamente m hijos (binario m =2)
56
Teoremas
Si G=(V, E) es un grafo no dirigido, entonces G es
conectado si y slo si G tiene un rbol de cobertura
En cualquier rbol T=(V, E), |V|=|E|+1
57
Recorridos en rboles
Sea T un rbol con raz r. Si t no tiene otros vrtices,
entonces las raz constituye los recorrido pre-order y post-
order. Si |V| > 1, sean T
1
, T
2
, , T
k
los subrboles de T de
izquierda a derecha:
El recorrido en pre-order de T primero visita r y despus recorre los
vrtices de T
1
en pre-order, luego los vrtices de T
2
en pre-order y as
sucesivamente hasta que los vrtices de T
k
son recorridos en pre-
orden
El recorrido post-order de T recorre en post-order los subrboles T
1
,
T
2
, .., T
k
y despus visita la raz
58
Ejemplos
1
2 3
5
4
6 7 8 9 10
11 12 13 14 17 16 15
Recorrido en pre-order: 1, 2, 5, 11, 12, 13, 14, 3, 6, 7, 4, 8, 9,
10, 15, 16, 17
Recorrido en post-order: 11, 12, 13, 14, 5, 2, 6, 7, 3, 8, 9,15,
16, 17, 10, 4, 1
15
59
Recorrido in-order
Sea T=(V, E) un rbol binario con raz en el
vrtice r:
Si |V| = 1, entonces el vrtice r constituye el recorrido
in-order de T
Si |V| > 1, sea T
L
y T
R
los subrboles izquierdo y
derecho de T. El recorrido in-order de T visita primero
los vrtices de T
L
in-order y despus visita la raz y
finalmente recorre in-order los vrtices de T
R
60
Ejemplo
Recorrido en orden: f, c, p, j, q, a, d, r, h, e, t, n, u
r
a
c
e
h
d
f j
u
n
t
q p

También podría gustarte