Teoria de Grafos (Generalidades)
Teoria de Grafos (Generalidades)
Teoria de Grafos (Generalidades)
Introduccin
Grafos: modelos matemticos de situaciones reales Ejemplos:
Mapa de carreteras, plano de metro, callejero, red de PCs, plano de un circuito elctrico, rboles genealgicos, etc.
Aplicaciones:
Compiladores y traductores, Redes, Planificacin, etc.
ndice
Conceptos bsicos y representacin Accesibilidad y conexin Grafos y relaciones Caminos Eulerianos y Hamiltonianos rboles Planaridad y coloreado
Conceptos bsicos
Un Grafo G es una terna (V,A,p) formada por dos conjuntos V (de vrtices) y A (de arcos) y una aplicacin p: A P2(V) (de incidencia)
p(a) = {u, v}. (u, v son los extremos del arco a) p(a) = {u} (a es un bucle)
Representaciones de un grafo
Representacin grfica
v1 a5 v5 a4 a8 v4 a3 v3 a5 a6 a7 a2 a6 a1 v2 v1 v2 a8 v3 a3 v4 a7 a4 v5
a1
a2
Conceptos bsicos
Un Grafo/digrafo G=(V,A,p) es Simple si p es inyectiva Un vrtice que no es extremo de ningn arco es un vrtice aislado. Grafo nulo: todos los vrtices son aislados
Conceptos bsicos
Si D un digrafo y cada arco se considera no dirigido se obtiene un Grafo asociado a D, G(D) Si G es un grafo y por cada arco a con p(a)={u,v} (u v) se consideran a1 y a2 con p(a1) = (u,v) y p(a2) = (v,u) se obtiene un Digrafo asociado a G, D(G).
(Si p(a) = {u}, se sustituye por p(a) = (u,u))
Grafos finitos
Conceptos bsicos
G = (V, A, p) es subgrafo de G = (V,A,p) si:
G es un grafo VV, A A y p= p|A
G1G2. G1G2
Representaciones de un grafo
Matriz de Adyacencia
G= (V, A, p) con V = {v1,..., vn} Ma(G) = (aij) : i,j = 1..n
aij = nmero de arcos de extremos {vi, vj}/ (vi, vj)
a4 v1 a1 a2 a5 v2 a3 v3 v5 v4 a6
0 2 M (G ) = 0 0 0
2 0 1 0 0
0 1 0 0 0
0 0 0 1 2
0 0 0 2 0
Accesibilidad y conexin
Un camino en G es una sucesin
v0 a1 v1 a2 v2....an vn (n0) tal que los extremos (inicial y final) del arco ai son vi-1 y vi, con i = 1 .. n n es la longitud del camino v0 y vn son los extremos (inicial y final) v1, ..., vn-1 son los vrtices interiores Representaciones alternativas:
a1 a2 ....an
v0 v1 v2.... vn slo si G es simple
Accesibilidad y conexin II
Un camino v0 a1 v1 a2 v2....an vn es
cerrado si v0 = vn simple si sus arcos son distintos dos a dos elemental si sus vrtices son distintos dos a dos salvo, a lo sumo, los extremos ciclo si es cerrado, elemental, simple y de longitud positiva (>0)
Accesibilidad (D digrafo)
Sean u y v vrtices de D.
v es accesible desde u sii existe un camino en D desde u hasta v v es k-accesible desde u sii existe un camino en D de longitud k de u a v
Accesibilidad II
Mk = M Mk-1 (k > 1)
k (: producto booleano de matrices)
vi
vj
vi
vr
k-1
vj
Mk = Mk (k 1)
(potencia booleana)
Accesibilidad III
M(D) = I r1 Mr
Veamos que es suficiente con calcular un n finito de potencias
D= (V, A, p), n= |V|; vi vj V : vj es m-accesible desde vi para algn m1 vj es k-accesible desde vi para algn 1k n-1
[hay un camino de u a v hay un camino elemental de u a v]
vi
vj
Accesibilidad IV
M(D) = I M .... Mn-1
(n = |V|)
v, a, p ( a ) = (v, v )
a , p ( a ) = (u , v ) u , v b, p (b) = (v, u )
i, M ii = 1
i, j , M ij = 1 M ji = 1
M2 M
Cierre transitivo
Sea D = (V, R) con matriz de adyacencia M, calculamos DT = (V, RT) su cierre transitivo
M MT {R RT} M2 MT {RT transitiva} .... Si hay un camino no nulo de vi a vj , mTij = 1
MT = r1 Mr
Cierre transitivo II
D= (V, R), n= |V|; vi V : vi es m-accesible desde vi para algn m1 vi es k-accesible desde vi para algn 1k n
[hay un camino cerrado de longitud positiva en u hay un camino elemental, cerrado y de longitud > 0 en u (long n)]
MadyT = M .... Mn
(n = |V|)
Conexin (G no dirigido)
Dos vrtices u y v de G estn conectados en G sii existe un camino que los une. La relacin de conexin, C, definida en V por:
componente conexa.
10
Conexin II
G es conexo si posee slo una componente conexa. G es conexo u,vV existe un camino en G que conecta u con v. Las componentes conexas son grafos conexos Las componentes conexas de G son una particin de G (G = G1...Gn , GiGj= ij)
Conexin III
Un grafo simple y conexo con n vrtices tiene al menos n-1 arcos (n1)
Induccin completa en n
n=1 (trivial) n>1
Gl, lm
. . . .
G2 G1
11
A C B
A D B C D
Caminos Eulerianos
Si v es un vrtice de G, se llama grado de v , (v), al n de arcos incidentes en l (cada bucle suma 2) Si D es un digrafo:
el grado de entrada de v, E(v), es el n de arcos cuyo extremo final es v el grado de salida de v, S(v), es el n de arcos cuyo extremo inicial es v
12
Caminos Eulerianos II
0 9 j k 8 i 5 h m 7 l 6 n e 4 g f 3 a d c 2 1 b
G
9 k 8 m 7 l 6 n e 4 5 f 3 d c 2 1
G 3 G 2
h
G 1
0a1b2g5i8j90
C1 C5 C9
0 a 1c 2 f 4 e 3 d 1 b 2 g 5 h 5 i 8 j 9 m 6 n 7 l 8 k 9 0
13
c
9 10
e
4
a 1 b 0 i 11 c 10 h 5 f 9 b 2 c 3 e 4 f 6 g 7 h 8 i 12 a i 11 c 10 h 5 f 9 b 2 c 3 e 4 f 6 g 7 h 8 i 12 a 1 b
a
12
11
h
7
5 6
Caminos Hamiltonianos
Un camino hamiltoniano en un grafo G es un camino elemental que contiene todos los vrtices de G. Un digrafo D se dice completo si cada pareja de vrtices distintos estn unidos por, al menos, un arco.
14
hamiltoniano
Caso 1:
u1
u2 v
.....
ui+1
uk
u1
...
u1
ui v
...
ui+1 v
uk
Caso 2: i Caso 3:
...
ui v
ui
...
uk
uk
u1
...
ui+1
...
rboles
Un rbol es un grafo conexo y sin ciclos. Sea G un grafo. Son equivalentes:
1. 2. 3. 4. G es un rbol Cada par de vrtices distintos est conectado por uno y slo un camino simple G es conexo, pero si eliminamos un arco deja de serlo. G no tiene ciclos, pero si aadimos un arco se forma exactamente un ciclo.
15
rboles II
Todo rbol con ms de un vrtice posee, al menos, dos vrtices de grado 1.
Demostracin: por induccin completa en el n de vrtices
rboles III
Sea G un grafo con n 1 vrtices. Son equivalentes:
1. 2. 3. G es un rbol G no tiene ciclos y tiene n - 1 arcos. G es conexo y tiene n - 1 arcos.
(T22. Un grafo simple y conexo con n vrtices tiene al menos n-1 arcos )
16
rboles IV
Un rbol generador (spanning tree) de un grafo G=(V, A, p) es un rbol T=(V, A, p|A) con AA
rboles Dirigidos
Un vrtice r es la raz de un digrafo si todos los vrtices son accesibles desde l.
Un rbol con raz o dirigido es un digrafo que, si no es vaco, posee una raz y su grafo asociado es un rbol
17
rboles dirigidos II
Conceptos bsicos
Padre / hijo Ancestro / descendiente Grado de un vrtice = n de hijos Subrbol de raz u: subgrafo determinado por u y sus
descendientes
Nivel o profundidad de u: longitud del camino de la raz a u Altura o profundidad del rbol: mximo nivel de los nodos
rbol ordenado
11
1 12
2 31
3 32 323
321 322
18
rboles binarios
Un rbol binario es un conjunto de nodos:
vaco o formado por una raz, r, y dos subrboles binarios, TI y TD, subrbol izquierdo y subrbol derecho
rboles binarios II
Representacin de expresiones algebraicas ((a - 6) * b ) / (c - a)
/ * a 6 b c a
19
rboles binarios IV
Un rbol binario es lleno si todos los nodos tienen 2 hijos no vacos excepto los del
ltimo nivel que son hojas
completo
cada nivel i, 0 i h-1, tiene 2i nodos los nodos del nivel h-1 con hijos estn a la izquierda no existen hijos nicos
20
1
Preorden: 1 2 4 8 9 5 3 6 7 0 Inorden: 8 4 9 2 5 1 6 3 7 0 Postorden: 8 9 4 5 2 6 0 7 3 1
2 4 8 9 5 6
3 7 0
Un grafo es n-coloreable si existe una funcin f: V {1, 2,.., n} tal que para todo par de vrtices adyacentes, u y v, f(u) f(v)
21
Coloreamiento
El n cromtico de G, kG, es el menor n de colores suficientes para colorear el grafo. Cotas de kG
1 kG |V| (si G conexo) Si el mximo grado de los vrtices de G es m entonces kG m+1
f(v) = 1 f(u) = min {z / z f(u) para todo u adyacente a u previamente coloreado}
Coloreamiento II
G es 2-coloreable s, y slo s, no tiene ciclos de longitud impar Un rbol es 2-coloreable
22
Planaridad
Consideremos una representacin grfica plana de un grafo plano y conexo G:
Regin (finitas e infinita) Contorno Regiones adyacentes
i
b 1 a h g e f 5 4 2 d
c
b 1 a h g e f 5 4 2 d
Planaridad II
Si un grafo plano y conexo tiene n vrtices, m arcos y r regiones, entonces: n - m + r = 2 (Frmula de Euler)
Demostracin: completar un rbol generador
Si G es un grafo simple, conexo, plano, sin bucles con n vrtices, m2 arcos y r regiones, entonces: 3/2 r m 3n - 6
Demostracin: para r>1, acotar la suma N de las longitudes de los contornos de las regiones finitas.
23
Planaridad III
Ejemplos de grafos no planos:
n=6 m=9 r=5 n=5 m=10 m > 3n - 6 Se verifican las desigualdades del corolario. Particularizando la demostracin para l: 4r 2m
24