Está en la página 1de 87

Algoritmia Avanzada

Teora de Grafos
Dr. Arno Formella
Departamento de Informtica
Universidad de Vigo
16/01/09
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 1 / 87
Algoritmia Avanzada: Teora de Grafos I
1
Curso
2
Bibliografa y tareas para una presentacin
3
Motivacin
4
Nociones bsicas y representaciones
5
Isomorsmo e invariantes
6
Grafos especiales
7
Conexin
8
Bosques y rboles
9
Recorridos
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 2 / 87
Algoritmia Avanzada: Teora de Grafos II
10
Teoremas y algoritmos
11
Grafos dirigidos y ponderados
12
rboles generadores y caminos mnimos
13
Minores y extremalidad
14
Planaridad y coloracin
15
Flujos y emparejamientos
16
Aplicaciones
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 3 / 87
Curso
apuntes
La pgina incial del curso es:
http://www.ei.uvigo.es/~formella/doc/tc08
Estos apuntes se acompaan con ilustraciones en pizarra dnde se
explican las notaciones, las ideas de algunas comprobaciones, y el
funcionamiento de muchos algoritmos.
El texto es meramente una brevsima introduccin (5 horas) a la Teora
de Grafos donde se pincelan ciertos aspectos ms bien para motivar y
despertar inters por este campo fascinante de la informtica.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 4 / 87
Bibliografa
libros (tambin usados para la preparacin)
Reinhard Diestel. Graph Theory. 3rd edition, Springer Verlag,
2005. ISBN 3-540-26183-4.
Existe una versin electrnica entreenlazada (no imprimible):
http://www.math.uni-hamburg.de/home/diestel/
books/graph.theory
Thomas H. Cormen, Charles E. Leiseron, Ronald L. Rivest, and
Clifford Stein. Introduction to Algorithms, Second Edition. McGraw
Hill, 2001. ISBN 0-262-03292-7.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 5 / 87
Bibliografa
enlaces (ejemplos, hay mucho ms...)
(como disponibles en enero 2009)
http://www.graphtheory.com
http://www.ericweisstein.com/encyclopedias/
books/GraphTheory.html
http://mathworld.wolfram.com/Graph.html
http://en.wikipedia.org/wiki/Graph_theory
(con cuidado)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 6 / 87
Bibliografa
apuntes (ejemplos, hay un sin n...)
(como disponibles en enero 2009)
Gregorio Hernndez Pealver, Universidad Politcnica de Madrid,
http://www.dma.fi.upm.es/docencia/segundociclo/
teorgraf
(en castellano)
Steven C. Locke, Florida Atlantic University,
http://www.math.fau.edu/locke/graphthe.htm
(en orden alfabtico)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 7 / 87
Tareas
de estudio
visualizacin de grafos: analisis de herramientas para visualizar
grafos y la informacin que contienen (AGD, GraphViz,
Dot, etc.)
libreras de programacin: analisis de herramientas de programacin
para trabajar con grafos (Leda, GraphBase, GTL, Boost,
etc.)
aplicaciones: bsqueda de aplicaciones que usen algoritmos sobre
grafos o grafos como estructuras de datos bsicas en su
funcionamiento (p.ej., planicacin de redes, optimizacin
de rutas)
Se pide una breve analisis por lo menos segn los siguientes criterios:
completitud, complejidad, entorno de uso, algoritmos disponibles,
losofa de diseo, simplicidad de uso, aplicaciones, documentacin y
recursos disponibles etc.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 8 / 87
Tareas
de programacin
Para los que estn ms interesados en la parte de algoritmia, tambin
hay dos opciones:
caminos ms cortos: busca/desarrolla una implementacin del
algoritmo que encuentra el viaje ms corto entre
ciudades dadas.
caminos ms cortos: busca/desarrolla un algoritmo que enumera
todos los caminos con longitud como mucho k que
existen entre dos vrtices en un grafo plano.
camino de peso mnimo: busca/desarrolla un algoritmo que calcule el
camino de peso mnimo entre dos vrtices en un grafo
ponderado, si se permite ciclos de pesos negativos (se
pone como restriccin adicional que ninguna arista se
recorre ms de una vez (pero s se puede visitar un
vrtice ms de una vez)).
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 9 / 87
Motivacin
aplicaciones
Grafos de forma intuitiva se encuentran por ejemplo en las siguientes
situaciones:
planos o mapas de carreteras o calles
redes de ujos (datos, lquidos, etc.)
redes de transportes urbanos
conexiones qumicas entre tomos de una molcula
relaciones de vecinidad en un mapamundi
relaciones de interferencia entre antenas en un sistema de
comunicacin inalmbrica
los enlaces entre documentos en el Internet
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 10 / 87
Motivacin
resumen
Es decir, un grafo es el concepto abstracto detrs de la
representacin de relaciones (aristas) entre entidades
(vrtices).
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 11 / 87
Motivacin
ejemplos
Ejemplos de problemas que se quieren resolver:
Dado un traje completo para vestirse con el n de ir a una boda
en Galicia en invierno, es decir, llueve, En qu orden hay que
ponerse las cosas?
Dado un callejero, Es posible realizar un paseo que recorra cada
calle exactamente una vez?
Dado un callejero, Cul es el recorrido ms corto que debe usar
un cartero si tiene que recorrer cada calle por lo menos una vez?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 12 / 87
Motivacin
mx ejemplos
Dado un callejero, Cmo orientar las calles con sentido nico,
as que se siga podiendo ir de cada punto a cada punto?
Dado una esta con igual nmero de chicas y chicos que se
conocen o no, Cules son las condiciones para que sea posible
organizar un baile de conocidos (en parejas chicachico)?
Dado una descripcin de las interconexiones de un circuito
electrnico, Cmo posicionar los chips con sus interconexiones
en una placa?
Dado un conjunto de casas por proteger de fuego, Dnde
posicionar los bomberos disponibles para minimizar su radio de
accin?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 13 / 87
Notaciones
intuitivas
Las notaciones que se suelen usar en la teora de grafos son muy
intuitivas y se basan ya casi siempre en la nomenclatura inglesa.
Se aprovecha de interpretaciones sencillas y expresivas de los
smbolos disponibles de otras ramas de la matemtica.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 14 / 87
Notaciones
bsicas
V conjunto de vrtices (nodos, puntos)
[V]
r
conjunto de todos los subconjuntos
de V de tamao r
E [V]
2
conjunto de aristas
v V vrtice
e = x, y E arista
x, y : xy xy es arista
G = (V, E) grafo
V(G), E(G) vrtices y aristas del grafo G
v G : v V(G) v es vrtice del grafo G
e G : e E(G) e es arista del grafo G
[V[ =: n nmero de vrtices
[V[ = [V(G)[ = [G[ notaciones equivalentes
[E[ =: m nmero de aristas
[E[ = [E(G)[ = |G| notaciones equivalentes
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 15 / 87
Vocabulario
bsico
trivial si [G[ = 0 o [G[ = 1, el grafo es trivial
sobre si G = (V, E), G es un grafo sobre V
incidente un vrtice v es incidente a una arista e, si v e
una arista e es incidente a un vrtice v, si v e
adyacente dos vrtices v y w son adyacentes, si v, w E
dos aristas e y f son adyacentes, si e f ,=
conecta una arista conecta sus vrtices
XYarista si x X V e y Y V, xy es XY-arista
E(X, Y) conjunto de XY-aristas
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 16 / 87
Notaciones
grado
E(v) := E(v, V v) conjunto de aristas incidentes a v
N(v) conjunto de vrtices adyacentes a v
(vecinos)
d(v) := [E(v)[ = [N(v)[ grado del vrtice v
d
G
(v) grado del vrtice v G
(G) grado mnimo de los vrtices en G
(G) grado mximo de los vrtices en G
d(G) := 2[E[/[V[ grado medio de los vrtices en G
(G) := [E[/[V[ =
d(G)
2
nmero medio de aristas per vrtice de G
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 17 / 87
Notaciones
restas
G e grafo (V, E e)
G v grafo (V v, E E(v))
G E

grafo (V, E E

)
G V

grafo (V V

, E E(V

))
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 18 / 87
Vocabulario
vecinidad
vecino v es vecino de w, si vw E(v),
es decir, si v y w son adyacentes
vecina e es vecina de f , si e f ,=
es decir, e y f son incidentes al mismo vrtice
independiente vrtices/aristas no adyacentes,
un conjunto de vrtices (aristas) mutuamente
independientes es un conjunto independiente
completo un grafo es completo,
si todos sus vrtices son vecinos
particin el conjunto de conjuntos V
0
, ..., V
r 1

es una particin de V,
si V =

i
V
i
, V
i
,= , y i ,= j : V
i

V
j
=
(G) cardinalidad del conjunto de vrtices
independientes ms grande del grafo G
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 19 / 87
Vocabulario
grafos
digrafo las aristas estn dirigidos, es decir,
en vez de conjuntos v, w se habla de
parejas (v, w) o (w, v)
es decir, E V V
multigrafo se permite ms de una arista entre vrtices
pseudografos se permite bucles en vrtices
Es decir, en la mayora de los casos se entiende como grafo
solamente el caso en el cual existe como mucho una arista (o arista
dirigida) entre dos vertices diferentes.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 20 / 87
Representacin
dibujo
Se puede visualizar un grafo pintando sus vrtices como puntos y sus
aristas como lneas entre los puntos correspondientes.
Cules son las operaciones que se quieren realizar con un grafo (y
sus componentes)?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 21 / 87
Representacin
datos
Se puede almacenar un grafo con tres mtodos bsicos:
una matriz de adyacencia
matriz cuadrada, y en el caso simple, binaria (y simtrica si no es
digrafo) que codica si existe una arista entre dos vrtices
complejidad de memoria (n
2
)
listas de adyacencia
lista o array de vrtices que contiene en cada entrada una lista de
los vrtices adyacentes
complejidad de memoria (n +m)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 22 / 87
Representacin
datos
tablas de dispersin
lista o array de vrtices que contiene en cada entrada una tabla de
dispersin de los vrtices adyacentes
complejidad de memoria (n +m)
Cules son las principales ventajas y desventajas de cada uno de los
mtodos?
Existen ms estructuras de datos para que ciertas operaciones sobre
los grafos se pueden hacer ms ecientes, especialmente para grafos
planares.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 23 / 87
Isomorsmo
denicin
Sean G = (V, E) y G

= (V

, E

) dos grafos.
Si existe una bijeccin : V V

entre los vrtices de los grafos de


tal manera que
xy E (x)(y) E

(es decir, si x e y son vecinos en G, lo son tambin (x) y (y) en G

),
entonces G es isomorfo a G

, G G

o tambin G = G

, es decir, se
dice el grafo G.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 24 / 87
Invariantes
bsicas
Una funcin f sobre grafos con f (G) = f (G

) si G G

se llama
invariante. Por ejemplo, invariantes son:
n
m
hay otras?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 25 / 87
Invariante
problema abierto
No se conoce ninguna invariante sobre grafos que se puede calcular
en tiempo polinomial (y determinista) que decida que dos grafos son
isomorfos, pero tampoco se ha comprobado hasta hoy que el
problema de isomorsmo entre grafos sea NPcompleto.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 26 / 87
NP-completo
denicin
Recordamos que signica NPcompleto:
Un problema pertence a la clase de problemas NPcompleto, si existe
una mquina de Turing nodeterminista que resuelve el problema en
tiempo polinomial respecto a la longitud de entrada y si todos los
dems problemas dentro de la clase como mucho son ms fciles.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 27 / 87
NPcompleto
propiedades
Entonces sabemos sobre problemas NPcompletos:
Existe un algoritmo para su solucin.
Si alguien nos da una solucin podemos comprobar en tiempo
polinomial que de verdad es una solucin.
Si conocemos un algoritmo polinomial para un problema
NPcompleto sabemos implcitamente algoritmos para todos los
problemas de la clase cuyos tiempos de clculo siguen siendo
polinomial.
Siempre se puede usar bsqueda exhaustiva para resolver el
problema de forma determinista (con tiempo de ejecucin
exponencial).
La pregunta de existencia de algoritmos polinomiales y
deterministas para problemas NPcompletos es una de las
grandes preguntas abiertas en la informtica.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 28 / 87
Isomorsmo
en NP
Dado una bijeccin de los nodos entre dos grafos, es muy fcil
comprobar si los dos grafos son isomorfos: basta con comparar las
matrizes de adyacencia y eso se puede realizar en tiempo O(m).
Entonces el problema de isomorsmo de grafos est en NP.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 29 / 87
Grafos
operaciones
Sean G = (V, E) y G

= (V

, E

) dos grafos.
G G

:= (V V

, E E

) unin de grafos
G G

:= (V V

, E E

) interseccin de grafos
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 30 / 87
Vocabulario
parcial
grafo parcial G

es grafo parcial de G, V

V y E

E
subgrafo G

es subgrafo de G, si G

G = G

,
es decir, G

es un grafo parcial de G
que contiene todas las aristas de G
cuyos vrtices incidentes estn en V

.
inducido para V

V el grafo (V

, E(V

, V

))
es el subgrafo G

de G inducido por V

Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 31 / 87


Vocabulario
subgrafos
G

G G

es grafo parcial de G
G[V

] subgrafo de G sobre V

asumiendo V

V
G[G

] subgrafo de G sobre V(G

) asumiendo G

G
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 32 / 87
Vocabulario
partido
r partido un grafo es r -partido, si existe una particin de V
en r conjuntos independientes
bipartido 2-partido
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 33 / 87
Grafos
especiales
grafos kregulares d(G) = (G) = k (= (G) = (G))
grafos completos K
r
G = (V, [V]
2
), [V[ = r
caminos: P
k
G = (v
0
, . . . , v
k
, v
0
v
1
, v
1
v
2
, . . . v
k1
v
k
)
ciclos C
k
G = (v
0
, . . . , v
k
, v
0
v
1
, v
1
v
2
, . . . v
k1
v
0
)
Obviamente se puede describir un camino o ciclo por su secuencia de
vrtices.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 34 / 87
Grafos
caminos
longitud nmero de aristas de un camino o ciclo
cclico un grafo que contiene un ciclo es cclico
acclico un grafo que no contiene ningn ciclo es acclico
cintura un ciclo mnimo que un grafo contiene
circumferencia ciclo mximo que un grafo contiene
g(G) longitud de la cintura de G
(g(G) = si G acclico)
D(G) longitud de la circumferencia de G
(D(G) = 0 si G acclico)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 35 / 87
Grafos
especiales
grafos bipartidos B
grafos bipartidos completos K
n
1
,n
2
hipercubos Q
k
propiedades (con excepciones para Q
0
y Q
1
):
n = [V[ = 2
k
kregular
bipartidos (Cmo particionar?)
g(Q
k
) = 4
D(Q
k
) = 2
k
(Cul es un ciclo mximo?)
(Q
k
) = 2
k1
(y hay dos)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 36 / 87
Distancia
mtrica
d(v, w) distancia entre dos vrtices
siendo la longitud del camino ms corto entre v y w
d
G
(v, w) distancia entre v y w en G
La distancia dene una mtrica, es decir,
1
d(v, w) 0
2
d(v, w) = 0 v = w
3
d(v, w) = d(w, v)
4
d(u, w) d(u, v) +d(v, w)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 37 / 87
Vocabulario
conexo
conexo v y w son conexos, si d(v, w) < ;
G es conexo,
si todas las parejas v, w V son conexas
disconexo G es disconexo si no es conexo
puente arista e G es un puente si
G es conexo pero G e es disconexo
vrtice de corte vrtice v G si
G conexo pero G v es disconexo
componentes conjunto de subgrafos
conexas conexos y maximales
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 38 / 87
Notaciones
invariantes
c(G) nmero de componentes conexas de G
(G) cardinalidad mnima de un subconjunto de vrtices de G
tal que G V sea disconexo
(G) cardinalidad mnima de un subconjunto de aristas de G
tal que G E sea disconexo
kconexo G es kconexo, si (G) k
biconexo 2conexo
karistoconexo G es karistoconexo, si (G) k
bloque subgrafo mximo biconexo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 39 / 87
Bosques
rboles
si G no tiene ciclos, G es un bosque
si G es un bosque y conexo, G es un rbol
los componentes conexos de un bosque son rboles
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 40 / 87
Bosques
rboles
Theorem
las siguientes propiedades son equivalentes:
G es un rbol
entre cada pareja de vrtices existe un camino nico
cada arista es un puente
G es acclico y n = m1
G es conexo y n = m1
G es acclico y maximal en [E[
G es conexo y minimal en [E[
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 41 / 87
rboles
generadores
rbol con raz un rbol con un vrtice marcado como raz
rbol libre un rbol sin marca en ningn vrtice
rbol generador T es rbol generador de un grafo G,
si T G y V(T) = V(G)
Theorem
cada grafo G contiene un bosque generador, y si G es conexo,
contiene un rbol generador (cuya raz puede ser cualquier vrtice)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 42 / 87
Vocabulario
recorridos
recorrido euleriano viaje entre dos vrtices
que no pasa varias veces
por la misma arista
grafo euleriano grafo con recorrido euleriano
con todas sus aristas
grafo hamiltoniano grafo con camino por todos sus vrtices
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 43 / 87
Teoremas
bsicas
Theorem (EULER)

v
d(v) = 2m
Idea of proof
contar
Theorem
cada grafo tiene un nmero par de vrtices con grado impar
Idea of proof
usa teorema de EULER
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 44 / 87
Teoremas
bsicas
Theorem
cada grafo G contiene un camino P con |P| (G), y cada grafo G
con (G) 2 contiene un ciclo C con [C[ > (G)
Idea of proof
observa los vecinos del ltimo vrtice en un camino ms largo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 45 / 87
Teoremas
bsicas
Theorem
si G no trivial: (G) (G) (G)
Theorem
cada grafo G con [E[ > 1 contiene un subgrafo H con
(H) > (H) (G)
Theorem
G es bipartido con [V
0
[ , = [V
1
[ = G no es hamiltoniano
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 46 / 87
Teoremas
bsicas
Theorem
v, w V, vw / E : d(v) +d(w) n = G es hamiltoniano
Theorem
G es hamiltoniano = S V : c(G S) [S[
Theorem
decidir si un grafo G es hamiltoniano es NPcompleto
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 47 / 87
Teoremas
bsicas
Theorem
G es bipartido G no contiene ciclos impares
Idea of proof
bicoloracin de un bosque generador
Algoritmo que decide que G es bipartido?
Theorem (EULER)
G es euleriano G es conexo y v V : d(v) es par
Idea of proof
analiza camino de longitud mxima que pasa por un vrtice
Algoritmo que calcule un recorrido euleriano?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 48 / 87
Teoremas
bsicas
Theorem
G kconexo = [E[ kn/2|
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 49 / 87
Teoremas
bsicas
Theorem (WHITNEY)
G es biconexo ([G[ > 2) = v, w VvPw, vQw : P Q =
Es decir, existen dos caminos que no se intersecan entre todas las
posibles parejas de vrtices en G.
Theorem (MADER)
cada grafo G con (G) 4k contiene un grafo kconexo como grafo
parcial
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 50 / 87
Algoritmos
DFS
Algorithm
Exploracin en profundidad
(otros dicen recorrido en profundidad, o depth rst search, DFS)
Con el algoritmo DFS se obtiene un rbol con raz T y aristas de
retroceso no pertenecientes a T. El algoritmo sirve entre otras cosas:
determinar componentes conexas
detectar puentes
detectar vrtices de corte
detectar bloques
ordenacin topolgica
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 51 / 87
DFS
propiedades
Theorem
Sea T un rbol DFS de un grafo G conexo y v su raz.
v es vrtice de corte v tiene ms de un hijo en T
Theorem
Sea T un rbol DFS de un grafo G conexo y v no sea la raz.
v es vrtice de corte no existe una arista de retroceso desde
el subrbol debajo de v hacia un antecesor de v en T
DFS tiene complejidad (n +m)
(asumiendo listas de adyacencias, y con los dems?)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 52 / 87
Algoritmos
BFS
Algorithm
Exploracin en anchura
(otros dicen recorrido en anchura, o breadth rst search, BFS)
Con el algoritmo de BFS se obtiene un rbol con raz T, aristas de
retroceso no pertenecientes a T, y aristas de cruce. El algoritmo sirve
entre otras cosas:
determinar los caminos ms cortos entre vertices
ordenacin topolgica
BFS tiene complejidad (n +m)
(asumiendo listas de adyacencias, y con los dems?)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 53 / 87
Digrafos
componentes
Sea G un grafo y G un grafo dirigido (digrafo).
fuertemente conexo G es fuertemente conexo,
si existe un recorrido
entre cada pareja de vrtices de G
orientable G es orientable,
si existe un grafo G G
que es fuertemente conexo
componente
fuertemente conexa conjunto mximo de vrtices de G
cuyo subgrafo inducido
es fuertemente conexo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 54 / 87
Digrafos
grados
d
i
(v) grado entrante
d
o
(v) grado saliente
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 55 / 87
Grafos
orientables
Theorem (ROBBINS)
G orientable = G es conexo y no contiene puentes.
Algoritmo que calcule una orientacin?
(Qu se entiende bajo una orientacin ptima?
Depende: minimizar el promedio de las distancias, minimizar el
mximo de las distancias, minimizar el mximo de las diferencias
entre las distancias en G y en G correspondientes.)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 56 / 87
Digrafos
DFS/BFS
Se puede explorar tambin un digrafo en anchura (BFS) o en
profundidad (DFS). A parte de las aristas del rbol y las aristas de
retroceso, DFS produce aristas de progreso y aristas de cruce.
DFS se usa para producir una ordenacin topolgica de un digrafo
acclico, es decir, en el orden aparece un vrtice v antes de un vrtice
w, si existe un camino desde v a w.
DFS se usa para determinar los componentes fuertemente conexos.
Algoritmo que calcule los componentes fuertemente conexos?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 57 / 87
Digrafos
recorridos
se puede seguir tambin recorridos eulerianos:
Theorem
G es euleriano G es conexo y v V : d
i
(v) = d
o
(v)
Algoritmo que calcule un camino euleriano en un digrafo?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 58 / 87
Grafos
pesos
(G, W) grafo ponderado con W : E(G) IR
+
w(G) peso de grafo G, w(G) =

eG
w(e)
w(P) peso de camino P, w(P) =

e Pw(e)
d(v, w) distancia entre dos vrtices,
d(v, w) = min
P
w(vPw)
dt (v) =

w
d(v, w) distancia total de un vrtice
con w(e) = 1e E se reproduce la distancia
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 59 / 87
(Di)Grafos
radio
e(v) excentricidad, e(v) = max
wG
d(v, w)
rad(G) radio del grafo G, rad(G) = min
vG
e(v)
diam(G) dimetro del grafo G, diam(G) = max
vG
e(v)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 60 / 87
Vocabulario
centro
centro el centro del grafo G es
el subgrafo de G inducido
por los vrtices con excentricidad mnima
mediana la mediana del grafo G es
el subgrafo de G inducido
por los vrtices con distancia total mnima
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 61 / 87
Teoremas
centro
Theorem
G conexo = rad(G) diam(G) 2 rad(G)
Theorem
Todo grafo es centro de un grafo.
Theorem
El centro de un rbol consiste en uno o dos vrtices.
Algoritmo que calcule el centro de un rbol?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 62 / 87
rboles
generadores
dado un grafo G (o un digrafo G) ponderado
preguntas interesantes son:
Cul es un bosque generador con peso mnimo en G?
dado un vertice s G, Cules son los caminos mnimos hacia
los dems vrtices?
Cules con los caminos mnimos entre todas las parejas de
vrtices?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 63 / 87
Caminos
ms cortos
Hacia cada vrtice u G existe un camino desde s con distancia
mnima.
Las distancias a todos los vrtices en uno de estos caminos a su
vez son caminos mnimos.
Si G es conexo, se puede construir un rbol con raz s G que
determina todos los caminos mnimos hacia todos los vrtices de
G.
Algoritmo que calcule un bosque mnimo de un grafo G?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 64 / 87
Caminos
algoritmos
Algorithm
KRUSKAL, unir vorazmente rboles con aristas mnimas, complejidad
O(mlogn)
Algorithm
PRIM, construir iterativamente un rbol con aristas mnimas, compleji-
dad O(m +n logn)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 65 / 87
Caminos
algoritmos
Algoritmo que calcule un rbol mnimo desde un vrtice s en G?
Algorithm
DIJKSTRA, complejidad O(n
2
)
El algoritmo funciona igual con grafos como con digrafos.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 66 / 87
Caminos
pesos negativos
Se pueden permitir pesos negativos?
pueden existir ciclos negativos, es decir, ciclos con pesos negativos
Algoritmo que calcule un rbol mnimo desde un vrtice s en G si G
contiene pesos negativos?
Algorithm
BELLMANNFORD, complejidad O(mn)
Algoritmo que calcule los caminos mnimos entre todas las parejas
de vrtices incluyendo el caso de pesos negativos?
Algorithm
FLOYDWARSHALL, complejidad O(n
3
)
Algunos algoritmos detectan la existencia de ciclos negativos en que
caso terminan sin solucin.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 67 / 87
Caminos
mejoras
si se tiene ms informacin sobre los grafos y sus pesos se puede
mejorar los algoritmos:
si los pesos estn connados por una constante W:
si el nmero de aristas m est connado por O(n logn):
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 68 / 87
Minores
deniciones
contraccin de arista
minor
minor topolgico
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 69 / 87
Minores
Teorema de los minores
Consecuencia:
Theorem (ROBERTSON/SEYMOUR)
Cada propiedad heredable sobre grafos se puede representar por un
nmero nito de minores prohibidos.
Como consecuencia se puede comprobar la existencia de un
algoritmo con tiempo de clculo cbico que comprueba si un
(ciclo de un) grafo forma un nudo en 3D.
Pero hasta ahora no se conoce ni siquiera un algoritmo
determinista que lo haga.
He encontrado un trabajo recien (2005) que describe un algoritmo
nodeterminista, con la consequencia de la existencia de un
algoritmo determinista cuyo tiempo de ejecucin es exponencial.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 70 / 87
Extremalidad
preguntas
se pueden realizar preguntas interesantes como ciertas propiedades
de grafos estn relacionados con el tamao del grafo (normalmente
nmero de aristas)
Cuntas aristas tiene que tener un grafo como mnimo para que
sea un grafo conexo?
Cul es el nmero mximo de aristas que puede tener un grafo
para que sea un grafo plano?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 71 / 87
Vocabulario
planaridad
planar un grafo es planar cuando se puede
pintar sus vrtices y sus aristas
en un plano de tal manera que
ninguna pareja de aristas se interseca
regin una regin es un rea del plano
donde se ha pintado un grafo planar
que est connado por aristas
grafo triangular un grafo es triangular,
si en su representacin planar
en el plano toda regin est
connada por tres aristas del grafo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 72 / 87
Teoremas
planaridad
Theorem (EULER)
G planar y conexo con n 1, m y l = n m +l = 2
Theorem
G planar con n 3 = m 3n 6
Theorem
G maximal planar si es un grafo triangular (y contiene 3n 6 aristas)
Theorem (KURATOWSKI)
G es planar no contiene un K
5
o un K
3,3
como minor (o
minor topolgico)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 73 / 87
Coloracin
tipos
Coloracin de vrtices
Coloracin de aristas
Coloracin de grafos planos
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 74 / 87
Coloracin
teoremas
Theorem
G planar = los vrtices de G son colorables con 4 colores
Theorem
G planar que no contiene ningn tringulo = los vrtices de G
son colorables con 3 colores
(G) nmero mnimo de colores que se necesita para
colorar los vrtices de un grafo

(G) nmero mnimo de colores que se necesita para


colorar las aristas de un grafo

(G) nmero mnimo de colores que se necesita para


colorar los vrtices y las aristas de un grafo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 75 / 87
Coloracin
teoremas
Theorem (BROOKS)
G conexo G ,= C
impar
y G ,= K
n
= (G) (G)
Theorem (KOENIG)
G bipartido =

(G) = (G)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 76 / 87
Flujos
tipos
1
Flujos y redes
2
Flujos y cortes
3
Flujos y coloracin
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 77 / 87
Vocabulario
ujos
viable f (e) w(e), es decir,
el ujo es como mucho igual a la capacidad
conservante

v
f
in
(e) =

v
f
out
(e), es decir,
tanto como entra sale de un nodo
(claro, excepto para fuente y auente).
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 78 / 87
Flujos
teorema
Theorem (FORDFULKERSON)
Mximo ujo es igual a mnimo corte.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 79 / 87
Flujos
algoritmos
Algorithm
FORDFULKERSON, complejidad O(F m) siendo F el mximo ujo
(asumiendo enteros como capacidades).
Algorithm
EDMONDSKARP, complejidad O(nm
2
).
Algorithm
DINIC, complejidad O(n
2
m).
Algorithm
KARZANOVGOLDBERGTARJAN, complejidad O(n
3
).
Se pueden variar las restricciones: capacidades mximas por nodos,
ms fuentes/auentes, introduccin de capacidades mnimas, etc.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 80 / 87
Vocabulario
emparejamientos
emparejamiento M E y e, f M : e f = , es decir,
pares de aristas no tienen vrtices en comn
perfecto M cubre todos los vrtices de G
Malternado un camino en G alternando con arista de M
Maumento camino Malternado que se puede aumentar
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 81 / 87
Emparejamientos
teoremas
Theorem (BERGE)
emparejamiento M es mximo = G no contiene caminos
Maumento
Theorem (HALL)
teorema del matrimonio: Sea G = (U V, E) un grafo bipartido. G
tiene un emparejamiento completo (para U) =
S U : [N(S)[ [S[, siendo N(S) conjunto de vecinos de S.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 82 / 87
Aplicaciones
ejemplos
1
Planicacin
2
Diseo de circuitos
3
Juegos
4
Optimizacin
5
Teora de Codicacin
6
Visualizacin
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 83 / 87
Espaol
ingls
rbol tree
rbol generador spanning tree
arista edge
arista de cruce cross edge
arista de progreso forward edge
arista de retroceso back edge
articulacin articulation
bosque forest
camino path
cintura girth
conexo connected
dirigido directed
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 84 / 87
Espaol
ingls
emparejamiento matching
exploracin en anchura breadth rst search
exploracin en profundidad depth rst search
ujo ow
fuertemente conexo strongly connected
grado degree
peso weight
ponderado weighted
puente bridge
recorrido walk
vecino neighbor
vrtice de corte cutvertex
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 85 / 87
Ingls
espaol
articulation articulacin
back edge arista de retroceso
breadth rst search exploracin en anchura
bridge puente
connected conexo
cross edge arista de cruce
cutvertex vrtice de corte
degree grado
depth rst search exploracin en profundidad
directed dirigido
edge arista
ow ujo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 86 / 87
Ingls
espaol
forest bosque
forward edge arista de progreso
girth cintura
matching emparejamiento
neighbor vecino
path camino
spanning tree rbol generador
strongly connected fuertemente conexo
tree rbol
walk recorrido
weight peso
weighted ponderado
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 87 / 87