Post on 30-Oct-2015
1Teora de GrafosTeora de Grafos
IntroduccinIntroduccin
Grafos: modelos matemticos de situaciones realesEjemplos:
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.
Origen: 1736 (Los Puentes de Knisberg. Euler)
2ndicendice
Conceptos bsicos y representacin Accesibilidad y conexin Grafos y relaciones Caminos Eulerianos y Hamiltonianos rboles Planaridad y coloreado
Conceptos bsicosConceptos 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)
Un Digrafo D = (V,A,p) dnde p: A VV p(a) = (u, v) (u es el extremo inicial u origen de a
v es el extremo final o destino de a) p(a) = (u, u) (a es un bucle)
3Representaciones de un grafoRepresentaciones de un grafo
Representacin grfica
a1
a2
a3
a4
a5
a6a7
a8
a1 a2a3 a4
v1
v2
v3
v5
v4
v1 v2 v3 v4 v5
a5
a6a7
a8
Conceptos bsicosConceptos 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
4Si 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 bsicosConceptos bsicos
Conceptos bsicosConceptos bsicos
G = (V, A, p) es subgrafo de G = (V,A,p) si:G es un grafoVV, A A y p= p|A
Subgrafo determinado por:AA, G(A) = (V, A, p|A) V extremos de los arcos de AVV, G(V) = (V, A, p|A) A arcos que unen nodos de VSubgrafo estrellado determinado por vV, G(v)= (Vv, Av, p|Av) Av
arcos emergentes de v (tales que un extremo es v) y Vv extremos de los arcos de Av (adems de v)
G1G2. G1G2
5Representaciones de un grafoRepresentaciones de un grafoMatriz 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)
v1
v2 v3
v4
v5
a1a2
a3
a4
a6a5
=
0200021000000100010200020
)(GM
Accesibilidad y conexinAccesibilidad 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
6Accesibilidad y conexin IIAccesibilidad 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 Accesibilidad (D digrafodigrafo))
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 vMatriz de accesibilidad de orden k de D, Mk, es una
matriz booleana:
D*: Mady(D*) = M1 (= M), grafo simple asociado a D
ijk
ij vdesdeaccesiblekesvm =1)(
7Accesibilidad IIAccesibilidad II
Mk = M Mk-1 (k > 1) (: producto booleano de matrices)
Mk = Mk (k 1) (potencia booleana)
Matriz de accesibilidad de D, M(D)
vi vj vi vr vjk
k-1
ijij vdesdeaccesibleesvm =1
Accesibilidad IIIAccesibilidad 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 w vj
8Accesibilidad IVAccesibilidad IV
M(D) = I M .... Mn-1 (n = |V|)
DigrafosDigrafos simples y relaciones (I)simples y relaciones (I)
D= (V,A,p) simple se puede representar como (V,R) dnde:v1Rv2 sii aA, p(a) = (v1,v2)
Ma(D) es ahora la matriz de la relacin (booleana)Mi,j = 1 sii hay un arco de vi a vj sii vi R vj
Propiedades de las relaciones binarias
Reflexiva vRvv, ),()(,, vvapav = 1, = iiMiSimtrica vRuuRvvu ,,
==
),()(,),()(,
,uvbpb
vuapavu 11,, == jiij MMji
Antisimtrica RuvuRvvu ,
=
=),()(,
),()(,uvbpb
vuapavu 01, == jiij MMji
9DigrafosDigrafos simples y relaciones (II)simples y relaciones (II)
Propiedad transitiva de las relaciones binariasu,w,v uRw y wRv uRvu,v
M2 M (A B sii i, j, aij = 1 bij = 1)
Cierre transitivo de R, RT : la menor relacin transitiva que contiene a R
u v u v
Cierre transitivoCierre 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 [Ntese MT no coincide con M(D) y que MT es la matriz de adyacencia de un grafo, no la de accesibilidad]
10
Cierre transitivo IICierre 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)]
Ntese que si R es reflexiva k =1
MadyT = M .... Mn (n = |V|)
Conexin (G no dirigido)Conexin (G no dirigido)
Dos vrtices u y v de G estn conectados en G siiexiste un camino que los une.
La relacin de conexin, C, definida en V por:uCv u y v estn conectados
es una relacin de equivalencia
El subgrafo de G determinado por el conjunto de vrtices de una clase de equivalencia de C se llama componente conexa.
11
Conexin IIConexin 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 IIIConexin 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
v m....
Gl, lm
G2G1
12
Caminos Caminos EulerianosEulerianos y y HamiltonianosHamiltonianos
Recorrer de un solo trazo sin levantar el lpiz del papel
Problema de los puentes de Knisberg (Euler, 1736)
A
B
DC
A
B
C D
Caminos Caminos EulerianosEulerianos
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
Un Camino Euleriano en G es un camino simple que contiene todos los arcos de G.
13
Caminos Caminos EulerianosEulerianos (G no dirigido)(G no dirigido)
Sea G= (V, A, p) un grafo con A,G no tiene vrtices aislados y posee un camino euleriano cerrado
G es conexo y todos sus vrtices son de grado par
9 7
8 6
3
2
1
4
5
a0
bcd
g
e
i
f
kl
jm
n
h
Caminos Caminos EulerianosEulerianos IIII
0 a 1 b 2 g 5 i 8 j 9 0
9 7
8 6
3
2
1
4
5
a0
bcd
g
e
i
f
kl
jm
n
h
9 7
8 6
3
2
1
4
5
c d
e f
kl
mn
h
G
G 1
G 2
G 3
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
14
Caminos Caminos EulerianosEulerianos IIIIIISea G= (V, A, p) un grafo sin vrtices aislados,
G posee un camino euleriano no cerrado
G es conexo y tiene dos vrtices de grado impar
a
b c e
h f
g
i
1
2 3
4
5
910
11
8
12
7 6
0
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
Caminos Caminos HamiltonianosHamiltonianos
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.
15
Caminos Caminos HamiltonianosHamiltonianos ((DigrafosDigrafos))
Para cada digrafo completo existe un camino hamiltoniano
Caso 1:
Caso 2: i
Caso 3:
u1 u2 uk
v
.....
u1 ui ui+1 uk... ...v
u1 ui ui+1 uk... ...v
u1 ui ui+1 uk... ...v
rbolesrboles
Un rbol es un grafo conexo y sin ciclos.
Sea G un grafo. Son equivalentes:1. G es un rbol2. Cada par de vrtices distintos est conectado por uno y
slo un camino simple3. G es conexo, pero si eliminamos un arco deja de serlo.4. G no tiene ciclos, pero si aadimos un arco se forma
exactamente un ciclo.
16
rboles IIrboles 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 IIIrboles III
Sea G un grafo con n 1 vrtices. Son equivalentes:
1. G es un rbol2. G no tiene ciclos y tiene n - 1 arcos.3. G es conexo y tiene n - 1 arcos.
(T22. Un grafo simple y conexo con n vrtices tiene al menos n-1 arcos )
17
rboles IVrboles IV
Un rbol generador (spanning tree) de un grafo G=(V, A, p) es un rbol T=(V, A, p|A) con AA
Todo grafo conexo posee un rbol generador
rboles Dirigidosrboles 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
18
rboles dirigidos IIrboles 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
rboles dirigidos IIIrboles dirigidos III
Representacin grfica
rbol ordenado1 2 3
11 12 31 32
321 322 323
19
rboles binariosrboles 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
No son una subclase de rboles ordenados
A
B
A
B
rboles binarios IIrboles binarios II
Representacin de expresiones algebraicas((a - 6) * b ) / (c - a)
/
* -
- b
a 6
c a
20
rboles binarios IIIrboles binarios III
El nmero de nodos del nivel i en un rbol binario es 2i
El nmero de nodos n de un rbol binario de altura h verifica n 2h+1-1
La altura h de un rbol binario de n nodos verifica h log2(n+1) -1
rboles binarios IVrboles 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
homogneo si cada nodo tiene 0 o 2 hijos
21
Recorridos de rboles binariosRecorridos de rboles binarios
Sea T un rbol binario con raz R y subrboles izquierdo y derecho TI y TD. Podemos visitar todos sus nodos en: Preorden: R, TI en preorden y TD en preorden Inorden: TI en inorden, R y TD en inorden Postorden: TI en postorden, TD en postorden y R
1
2 3
4 5
98
6 7
0
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
Grafos Planos y ColoreadosGrafos Planos y Coloreados
G es plano si admite una representacin en la que los arcos no se cortan
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)
22
ColoreamientoColoreamiento
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) = 1f(u) = min {z / z f(u) para todo u adyacente a u previamente
coloreado}
ColoreamientoColoreamiento IIII
G es 2-coloreable s, y slo s, no tiene ciclos de longitud impar
Un rbol es 2-coloreable
23
PlanaridadPlanaridad
Consideremos una representacin grfica plana de un grafo plano y conexo G: Regin (finitas e infinita) Contorno Regiones adyacentes
1 2
3
45
a
b c
hg
d
ef
i
1 2
3
45
a
b c
hg
d
ef
i
PlanaridadPlanaridad IIII
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 - 6Demostracin: para r>1, acotar la suma N de las longitudes de los
contornos de las regiones finitas.
24
PlanaridadPlanaridad IIIIII
Ejemplos de grafos no planos:
n=5 m=10
m > 3n - 6
n=6 m=9 r=5Se verifican las desigualdades del corolario. Particularizando la demostracin para l:
4r 2m