Download - Algoritmia Avanzada - Teoría de Grafos
![Page 1: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/1.jpg)
Algoritmia AvanzadaTeoría de Grafos
Dr. Arno Formella
Departamento de InformáticaUniversidad de Vigo
16/01/09
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 1 / 87
![Page 2: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/2.jpg)
Algoritmia Avanzada: Teoría de Grafos I
1 Curso
2 Bibliografía y tareas para una presentación
3 Motivación
4 Nociones básicas y representaciones
5 Isomorfismo e invariantes
6 Grafos especiales
7 Conexión
8 Bosques y árboles
9 RecorridosDr. Arno Formella (Universidad de Vigo) AA 16/01/09 2 / 87
![Page 3: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/3.jpg)
Algoritmia Avanzada: Teoría de Grafos II10 Teoremas y algoritmos
11 Grafos dirigidos y ponderados
12 Árboles generadores y caminos mínimos
13 Minores y extremalidad
14 Planaridad y coloración
15 Flujos y emparejamientos
16 Aplicaciones
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 3 / 87
![Page 4: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/4.jpg)
Cursoapuntes
La página incial del curso es:http://www.ei.uvigo.es/~formella/doc/tc08
Estos apuntes se acompañan con ilustraciones en pizarra dónde seexplican las notaciones, las ideas de algunas comprobaciones, y elfuncionamiento de muchos algoritmos.
El texto es meramente una brevísima introducción (5 horas) a la Teoríade Grafos donde se pincelan ciertos aspectos más bien para motivar ydespertar interés por este campo fascinante de la informática.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 4 / 87
![Page 5: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/5.jpg)
Bibliografíalibros (también usados para la preparación)
Reinhard Diestel. Graph Theory. 3rd edition, Springer Verlag,2005. ISBN 3-540-26183-4.Existe una versión electrónica entre–enlazada (no imprimible):http://www.math.uni-hamburg.de/home/diestel/books/graph.theory
Thomas H. Cormen, Charles E. Leiseron, Ronald L. Rivest, andClifford Stein. Introduction to Algorithms, Second Edition. McGrawHill, 2001. ISBN 0-262-03292-7.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 5 / 87
![Page 6: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/6.jpg)
Bibliografíaenlaces (ejemplos, hay mucho más...)
(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
![Page 7: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/7.jpg)
Bibliografíaapuntes (ejemplos, hay un sin fin...)
(como disponibles en enero 2009)
Gregorio Hernández Peñalver, Universidad Politécnica 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 alfabético)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 7 / 87
![Page 8: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/8.jpg)
Tareasde estudio
visualización de grafos: analisis de herramientas para visualizargrafos y la información que contienen (AGD, GraphViz,Dot, etc.)
librerías de programación: analisis de herramientas de programaciónpara trabajar con grafos (Leda, GraphBase, GTL, Boost,etc.)
aplicaciones: búsqueda de aplicaciones que usen algoritmos sobregrafos o grafos como estructuras de datos básicas en sufuncionamiento (p.ej., planificación de redes, optimizaciónde rutas)
Se pide una breve analisis por lo menos según los siguientes criterios:completitud, complejidad, entorno de uso, algoritmos disponibles,filosofía de diseño, simplicidad de uso, aplicaciones, documentación yrecursos disponibles etc.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 8 / 87
![Page 9: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/9.jpg)
Tareasde programación
Para los que están más interesados en la parte de algoritmia, tambiénhay dos opciones:
caminos más cortos: busca/desarrolla una implementación delalgoritmo que encuentra el viaje más corto entreciudades dadas.
caminos más cortos: busca/desarrolla un algoritmo que enumeratodos los caminos con longitud como mucho k queexisten entre dos vértices en un grafo plano.
camino de peso mínimo: busca/desarrolla un algoritmo que calcule elcamino de peso mínimo entre dos vértices en un grafoponderado, si se permite ciclos de pesos negativos (sepone como restricción adicional que ninguna arista serecorre más de una vez (pero sí se puede visitar unvértice más de una vez)).
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 9 / 87
![Page 10: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/10.jpg)
Motivaciónaplicaciones
Grafos de forma intuitiva se encuentran por ejemplo en las siguientessituaciones:
planos o mapas de carreteras o callesredes de flujos (datos, líquidos, etc.)redes de transportes urbanosconexiones químicas entre átomos de una molécularelaciones de vecinidad en un mapamundirelaciones de interferencia entre antenas en un sistema decomunicación inalámbricalos enlaces entre documentos en el Internet
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 10 / 87
![Page 11: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/11.jpg)
Motivaciónresumen
Es decir, un grafo es el concepto abstracto detrás de larepresentación de relaciones (aristas) entre entidades(vértices).
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 11 / 87
![Page 12: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/12.jpg)
Motivaciónejemplos
Ejemplos de problemas que se quieren resolver:
Dado un traje completo para vestirse con el fin de ir a una bodaen Galicia en invierno, es decir, llueve, ¿En qué orden hay queponerse las cosas?Dado un callejero, ¿Es posible realizar un paseo que recorra cadacalle exactamente una vez?Dado un callejero, ¿Cuál es el recorrido más corto que debe usarun cartero si tiene que recorrer cada calle por lo menos una vez?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 12 / 87
![Page 13: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/13.jpg)
Motivaciónmáx ejemplos
Dado un callejero, ¿Cómo orientar las calles con sentido único,así que se siga podiendo ir de cada punto a cada punto?Dado una fiesta con igual número de chicas y chicos que seconocen o no, ¿Cuáles son las condiciones para que sea posibleorganizar un baile de conocidos (en parejas chica–chico)?Dado una descripción de las interconexiones de un circuitoelectrónico, ¿Cómo posicionar los chips con sus interconexionesen una placa?Dado un conjunto de casas por proteger de fuego, ¿Dóndeposicionar los bomberos disponibles para minimizar su radio deacción?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 13 / 87
![Page 14: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/14.jpg)
Notacionesintuitivas
Las notaciones que se suelen usar en la teoría de grafos son muyintuitivas y se basan ya casi siempre en la nomenclatura inglesa.
Se aprovecha de interpretaciones sencillas y expresivas de lossímbolos disponibles de otras ramas de la matemática.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 14 / 87
![Page 15: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/15.jpg)
Notacionesbásicas
V conjunto de vértices (nodos, puntos)[V ]r conjunto de todos los subconjuntos
de V de tamaño rE ⊆ [V ]2 conjunto de aristas
v ∈ V vérticee = x , y ∈ E aristax , y ⇐⇒: xy xy es arista
G = (V ,E) grafoV (G),E(G) vértices y aristas del grafo G
v ∈ G :⇐⇒ v ∈ V (G) v es vértice del grafo Ge ∈ G :⇐⇒ e ∈ E(G) e es arista del grafo G
|V | =: n número de vértices|V | = |V (G)| = |G| notaciones equivalentes
|E | =: m número de aristas|E | = |E(G)| = ‖G‖ notaciones equivalentes
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 15 / 87
![Page 16: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/16.jpg)
Vocabulariobásico
trivial si |G| = 0 o |G| = 1, el grafo es trivialsobre si G = (V ,E), G es un grafo sobre Vincidente un vértice v es incidente a una arista e, si v ∈ e
una arista e es incidente a un vértice v , si v ∈ eadyacente dos vértices v y w son adyacentes, si v ,w ∈ E
dos aristas e y f son adyacentes, si e ∩ f 6= ∅conecta una arista conecta sus vérticesX−Y –arista si x ∈ X ⊆ V e y ∈ Y ⊆ V , xy es X−Y -aristaE(X ,Y ) conjunto de X−Y -aristas
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 16 / 87
![Page 17: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/17.jpg)
Notacionesgrado
E(v) := E(v ,V \ v) conjunto de aristas incidentes a vN(v) conjunto de vértices adyacentes a v
(vecinos)d(v) := |E(v)| = |N(v)| grado del vértice v
dG(v) grado del vértice v ∈ Gδ(G) grado mínimo de los vértices en G∆(G) grado máximo de los vértices en G
d(G) := 2|E |/|V | grado medio de los vértices en Gε(G) := |E |/|V | = d(G)
2 número medio de aristas per vértice de G
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 17 / 87
![Page 18: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/18.jpg)
Notacionesrestas
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
![Page 19: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/19.jpg)
Vocabulariovecinidad
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 6= ∅es decir, e y f son incidentes al mismo vértice
independiente vértices/aristas no adyacentes,un conjunto de vértices (aristas) mutuamenteindependientes es un conjunto independiente
completo un grafo es completo,si todos sus vértices son vecinos
partición el conjunto de conjuntos V0, ...,Vr−1es una partición de V ,si V =
⋃i Vi , Vi 6= ∅, y ∀i 6= j : Vi
⋂Vj = ∅
α(G) cardinalidad del conjunto de vérticesindependientes más grande del grafo G
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 19 / 87
![Page 20: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/20.jpg)
Vocabulariografos
digrafo las aristas están dirigidos, es decir,en vez de conjuntos v ,w se habla deparejas (v ,w) o (w , v)es decir, E ⊆ V × V
multigrafo se permite más de una arista entre vérticespseudografos se permite bucles en vértices
Es decir, en la mayoría de los casos se entiende como grafosolamente el caso en el cual existe como mucho una arista (o aristadirigida) entre dos vertices diferentes.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 20 / 87
![Page 21: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/21.jpg)
Representacióndibujo
Se puede visualizar un grafo pintando sus vértices como puntos y susaristas como líneas entre los puntos correspondientes.
¿Cuáles son las operaciones que se quieren realizar con un grafo (ysus componentes)?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 21 / 87
![Page 22: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/22.jpg)
Representacióndatos
Se puede almacenar un grafo con tres métodos básicos:
una matriz de adyacenciamatriz cuadrada, y en el caso simple, binaria (y simétrica si no esdigrafo) que codifica si existe una arista entre dos vérticescomplejidad de memoria Ω(n2)
listas de adyacencialista o array de vértices que contiene en cada entrada una lista delos vértices adyacentescomplejidad de memoria Θ(n + m)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 22 / 87
![Page 23: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/23.jpg)
Representacióndatos
tablas de dispersiónlista o array de vértices que contiene en cada entrada una tabla dedispersión de los vértices adyacentescomplejidad de memoria Θ(n + m)
¿Cuáles son las principales ventajas y desventajas de cada uno de losmétodos?
Existen más estructuras de datos para que ciertas operaciones sobrelos grafos se pueden hacer más eficientes, especialmente para grafosplanares.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 23 / 87
![Page 24: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/24.jpg)
Isomorfismodefinición
Sean G = (V ,E) y G′ = (V ′,E ′) dos grafos.
Si existe una bijección ϕ : V −→ V ′ entre los vértices de los grafos detal manera que
xy ∈ E ⇐⇒ ϕ(x)ϕ(y) ∈ E ′
(es decir, si x e y son vecinos en G, lo son también ϕ(x) y ϕ(y) en G′),
entonces G es isomorfo a G′, G ' G′ o también G = G′, es decir, sedice el grafo G.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 24 / 87
![Page 25: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/25.jpg)
Invariantesbásicas
Una función f sobre grafos con f (G) = f (G′) si G ' G′ se llamainvariante. Por ejemplo, invariantes son:
nm¿hay otras?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 25 / 87
![Page 26: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/26.jpg)
Invarianteproblema abierto
No se conoce ninguna invariante sobre grafos que se puede calcularen tiempo polinomial (y determinista) que decida que dos grafos sonisomorfos, pero tampoco se ha comprobado hasta hoy que elproblema de isomorfismo entre grafos sea NP–completo.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 26 / 87
![Page 27: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/27.jpg)
NP-completodefinición
Recordamos que significa NP–completo:
Un problema pertence a la clase de problemas NP–completo, si existeuna máquina de Turing no–determinista que resuelve el problema entiempo polinomial respecto a la longitud de entrada y si todos losdemás problemas dentro de la clase como mucho son más fáciles.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 27 / 87
![Page 28: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/28.jpg)
NP–completopropiedades
Entonces sabemos sobre problemas NP–completos:
Existe un algoritmo para su solución.Si alguien nos da una solución podemos comprobar en tiempopolinomial que de verdad es una solución.Si conocemos un algoritmo polinomial para un problemaNP–completo sabemos implícitamente algoritmos para todos losproblemas de la clase cuyos tiempos de cálculo siguen siendopolinomial.Siempre se puede usar búsqueda exhaustiva para resolver elproblema de forma determinista (con tiempo de ejecuciónexponencial).La pregunta de existencia de algoritmos polinomiales ydeterministas para problemas NP–completos es una de lasgrandes preguntas abiertas en la informática.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 28 / 87
![Page 29: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/29.jpg)
Isomorfismoen NP
Dado una bijección de los nodos entre dos grafos, es muy fácilcomprobar si los dos grafos son isomorfos: basta con comparar lasmatrizes de adyacencia y eso se puede realizar en tiempo O(m).
Entonces el problema de isomorfismo de grafos está en NP.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 29 / 87
![Page 30: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/30.jpg)
Grafosoperaciones
Sean G = (V ,E) y G′ = (V ′,E ′) dos grafos.
G ∪G′ := (V ∪ V ′,E ∪ E ′) unión de grafosG ∩G′ := (V ∩ V ′,E ∩ E ′) intersección de grafos
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 30 / 87
![Page 31: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/31.jpg)
Vocabularioparcial
grafo parcial G′ es grafo parcial de G, V ′ ⊆ V y E ′ ⊆ Esubgrafo G′ es subgrafo de G, si G′ ∩G = G′,
es decir, G′ es un grafo parcial de Gque contiene todas las aristas de Gcuyos vértices incidentes están 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
![Page 32: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/32.jpg)
Vocabulariosubgrafos
G′ ⊆ G G′ es grafo parcial de GG[V ′] subgrafo de G sobre V ′ asumiendo V ′ ⊆ VG[G′] subgrafo de G sobre V (G′) asumiendo G′ ⊆ G
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 32 / 87
![Page 33: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/33.jpg)
Vocabulariopartido
r–partido un grafo es r -partido, si existe una partición de Ven r conjuntos independientes
bipartido 2-partido
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 33 / 87
![Page 34: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/34.jpg)
Grafosespeciales
grafos k–regulares d(G) = ε(G) = k (= δ(G) = ∆(G))grafos completos K r G = (V , [V ]2), |V | = rcaminos: Pk G = (v0, . . . , vk, v0v1, v1v2, . . . vk−1vk)ciclos Ck G = (v0, . . . , vk, v0v1, v1v2, . . . vk−1v0)
Obviamente se puede describir un camino o ciclo por su secuencia devértices.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 34 / 87
![Page 35: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/35.jpg)
Grafoscaminos
longitud número de aristas de un camino o ciclocíclico un grafo que contiene un ciclo es cíclicoacíclico un grafo que no contiene ningún ciclo es acíclicocintura un ciclo mínimo que un grafo contienecircumferencia ciclo máximo que un grafo contiene
g(G) longitud de la cintura de G(g(G) =∞ si G acíclico)
D(G) longitud de la circumferencia de G(D(G) = 0 si G acíclico)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 35 / 87
![Page 36: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/36.jpg)
Grafosespeciales
grafos bipartidos Bgrafos bipartidos completos K n1,n2
hipercubos Qk
propiedades (con excepciones para Q0 y Q1):n = |V | = 2k
k–regularbipartidos (¿Cómo particionar?)g(Qk ) = 4D(Qk ) = 2k (¿Cuál es un ciclo máximo?)α(Qk ) = 2k−1 (y hay dos)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 36 / 87
![Page 37: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/37.jpg)
Distanciamétrica
d(v ,w) distancia entre dos vérticessiendo la longitud del camino más corto entre v y w
dG(v ,w) distancia entre v y w en G
La distancia define una métrica, es decir,
1 d(v ,w) ≥ 02 d(v ,w) = 0⇐⇒ v = w3 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
![Page 38: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/38.jpg)
Vocabularioconexo
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 conexopuente arista e ∈ G es un puente si
G es conexo pero G \ e es disconexovértice de corte vértice v ∈ G si
G conexo pero G \ v es disconexocomponentes conjunto de subgrafosconexas conexos y maximales
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 38 / 87
![Page 39: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/39.jpg)
Notacionesinvariantes
c(G) número de componentes conexas de Gκ(G) cardinalidad mínima de un subconjunto de vértices de G
tal que G \ V sea disconexoλ(G) cardinalidad mínima de un subconjunto de aristas de G
tal que G \ E sea disconexo
k–conexo G es k–conexo, si κ(G) ≥ kbiconexo 2–conexok–aristoconexo G es k–aristoconexo, si λ(G) ≥ kbloque subgrafo máximo biconexo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 39 / 87
![Page 40: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/40.jpg)
Bosquesárboles
si G no tiene ciclos, G es un bosquesi G es un bosque y conexo, G es un árbollos componentes conexos de un bosque son árboles
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 40 / 87
![Page 41: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/41.jpg)
Bosquesárboles
Theoremlas siguientes propiedades son equivalentes:
G es un árbolentre cada pareja de vértices existe un camino únicocada arista es un puenteG es acíclico y n = m − 1G es conexo y n = m − 1G es acíclico y maximal en |E |G es conexo y minimal en |E |
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 41 / 87
![Page 42: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/42.jpg)
Árbolesgeneradores
árbol con raíz un árbol con un vértice marcado como raízárbol libre un árbol sin marca en ningún vérticeárbol generador T es árbol generador de un grafo G,
si T ⊆ G y V (T ) = V (G)
Theoremcada grafo G contiene un bosque generador, y si G es conexo,contiene un árbol generador (cuya raíz puede ser cualquier vértice)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 42 / 87
![Page 43: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/43.jpg)
Vocabulariorecorridos
recorrido euleriano viaje entre dos vérticesque no pasa varias vecespor la misma arista
grafo euleriano grafo con recorrido eulerianocon todas sus aristas
grafo hamiltoniano grafo con camino por todos sus vértices
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 43 / 87
![Page 44: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/44.jpg)
Teoremasbásicas
Theorem (EULER)∑v
d(v) = 2m
Idea of proofcontar
Theoremcada grafo tiene un número par de vértices con grado impar
Idea of proofusa teorema de EULER
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 44 / 87
![Page 45: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/45.jpg)
Teoremasbásicas
Theoremcada grafo G contiene un camino P con ‖P‖ ≥ δ(G), y cada grafo Gcon δ(G) ≥ 2 contiene un ciclo C con |C| > δ(G)
Idea of proofobserva los vecinos del último vértice en un camino más largo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 45 / 87
![Page 46: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/46.jpg)
Teoremasbásicas
Theoremsi G no trivial: κ(G) ≤ λ(G) ≤ δ(G)
Theoremcada grafo G con |E | > 1 contiene un subgrafo H conδ(H) > ε(H) ≥ ε(G)
TheoremG es bipartido con |V0| 6= |V1| =⇒ G no es hamiltoniano
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 46 / 87
![Page 47: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/47.jpg)
Teoremasbásicas
Theorem∀v ,w ∈ V , vw /∈ E : d(v) + d(w) ≥ n =⇒ G es hamiltoniano
TheoremG es hamiltoniano =⇒ ∀S ⊂ V : c(G \ S) ≤ |S|
Theoremdecidir si un grafo G es hamiltoniano es NP–completo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 47 / 87
![Page 48: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/48.jpg)
Teoremasbásicas
TheoremG es bipartido ⇐⇒ G no contiene ciclos impares
Idea of proofbi–coloración 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 proofanaliza camino de longitud máxima que pasa por un vértice
¿Algoritmo que calcule un recorrido euleriano?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 48 / 87
![Page 49: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/49.jpg)
Teoremasbásicas
TheoremG k–conexo =⇒ |E | ≥ dkn/2e
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 49 / 87
![Page 50: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/50.jpg)
Teoremasbásicas
Theorem (WHITNEY)G es biconexo (|G| > 2) =⇒ ∀v ,w ∈ V∃vPw , vQw : P ∩Q = ∅
Es decir, existen dos caminos que no se intersecan entre todas lasposibles parejas de vértices en G.
Theorem (MADER)cada grafo G con ε(G) ≥ 4k contiene un grafo k–conexo como grafoparcial
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 50 / 87
![Page 51: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/51.jpg)
AlgoritmosDFS
Algorithm
Exploración en profundidad(otros dicen recorrido en profundidad, o depth first search, DFS)
Con el algoritmo DFS se obtiene un árbol con raíz T y aristas deretroceso no pertenecientes a T . El algoritmo sirve entre otras cosas:
determinar componentes conexasdetectar puentesdetectar vértices de cortedetectar bloquesordenación topológica
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 51 / 87
![Page 52: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/52.jpg)
DFSpropiedades
TheoremSea T un árbol DFS de un grafo G conexo y v su raíz.v es vértice de corte ⇐⇒ v tiene más de un hijo en T
TheoremSea T un árbol DFS de un grafo G conexo y v no sea la raíz.v es vértice de corte ⇐⇒ no existe una arista de retroceso desdeel subárbol debajo de v hacia un antecesor de v en T
DFS tiene complejidad Θ(n + m)(asumiendo listas de adyacencias, ¿y con los demás?)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 52 / 87
![Page 53: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/53.jpg)
AlgoritmosBFS
Algorithm
Exploración en anchura(otros dicen recorrido en anchura, o breadth first search, BFS)
Con el algoritmo de BFS se obtiene un árbol con raíz T , aristas deretroceso no pertenecientes a T , y aristas de cruce. El algoritmo sirveentre otras cosas:
determinar los caminos más cortos entre verticesordenación topológica
BFS tiene complejidad Θ(n + m)(asumiendo listas de adyacencias, ¿y con los demás?)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 53 / 87
![Page 54: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/54.jpg)
Digrafoscomponentes
Sea G un grafo y G un grafo dirigido (digrafo).
fuertemente conexo G es fuertemente conexo,si existe un recorridoentre cada pareja de vértices de G
orientable G es orientable,si existe un grafo G ' Gque es fuertemente conexo
componentefuertemente conexa conjunto máximo de vértices de G
cuyo subgrafo inducidoes fuertemente conexo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 54 / 87
![Page 55: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/55.jpg)
Digrafosgrados
di(v) grado entrantedo(v) grado saliente
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 55 / 87
![Page 56: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/56.jpg)
Grafosorientables
Theorem (ROBBINS)G orientable =⇒ G es conexo y no contiene puentes.
¿Algoritmo que calcule una orientación?
(¿Qué se entiende bajo una orientación óptima?
Depende: minimizar el promedio de las distancias, minimizar elmáximo de las distancias, minimizar el máximo de las diferenciasentre las distancias en G y en G correspondientes.)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 56 / 87
![Page 57: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/57.jpg)
DigrafosDFS/BFS
Se puede explorar también un digrafo en anchura (BFS) o enprofundidad (DFS). A parte de las aristas del árbol y las aristas deretroceso, DFS produce aristas de progreso y aristas de cruce.
DFS se usa para producir una ordenación topológica de un digrafoacíclico, es decir, en el orden aparece un vértice v antes de un vérticew , 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
![Page 58: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/58.jpg)
Digrafosrecorridos
se puede seguir también recorridos eulerianos:
TheoremG es euleriano ⇐⇒ G es conexo y ∀v ∈ V : di(v) = do(v)
¿Algoritmo que calcule un camino euleriano en un digrafo?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 58 / 87
![Page 59: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/59.jpg)
Grafospesos
(G,W ) grafo ponderado con W : E(G) −→ IR+
w(G) peso de grafo G, w(G) =∑
e∈G w(e)w(P) peso de camino P, w(P) =
∑e ∈ Pw(e)
d(v ,w) distancia entre dos vértices,d(v ,w) = minPw(vPw)
dt(v) =∑
w d(v ,w) distancia total de un vértice
con w(e) = 1∀e ∈ E se reproduce la distancia
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 59 / 87
![Page 60: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/60.jpg)
(Di)Grafosradio
e(v) excentricidad, e(v) = maxw∈Gd(v ,w)rad(G) radio del grafo G, rad(G) = minv∈Ge(v)
diam(G) diámetro del grafo G, diam(G) = maxv∈Ge(v)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 60 / 87
![Page 61: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/61.jpg)
Vocabulariocentro
centro el centro del grafo G esel subgrafo de G inducidopor los vértices con excentricidad mínima
mediana la mediana del grafo G esel subgrafo de G inducidopor los vértices con distancia total mínima
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 61 / 87
![Page 62: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/62.jpg)
Teoremascentro
TheoremG conexo =⇒ rad(G) ≤ diam(G) ≤ 2 · rad(G)
TheoremTodo grafo es centro de un grafo.
TheoremEl centro de un árbol consiste en uno o dos vértices.
¿Algoritmo que calcule el centro de un árbol?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 62 / 87
![Page 63: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/63.jpg)
Árbolesgeneradores
dado un grafo G (o un digrafo G) ponderado
preguntas interesantes son:
¿Cuál es un bosque generador con peso mínimo en G?dado un vertice s ∈ G, ¿Cuáles son los caminos mínimos hacialos demás vértices?¿Cuáles con los caminos mínimos entre todas las parejas devértices?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 63 / 87
![Page 64: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/64.jpg)
Caminosmás cortos
Hacia cada vértice u ∈ G existe un camino desde s con distanciamínima.Las distancias a todos los vértices en uno de estos caminos a suvez son caminos mínimos.Si G es conexo, se puede construir un árbol con raíz s ∈ G quedetermina todos los caminos mínimos hacia todos los vértices deG.¿Algoritmo que calcule un bosque mínimo de un grafo G?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 64 / 87
![Page 65: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/65.jpg)
Caminosalgoritmos
Algorithm
KRUSKAL, unir vorazmente árboles con aristas mínimas, complejidadO(m log n)
Algorithm
PRIM, construir iterativamente un árbol con aristas mínimas, compleji-dad O(m + n log n)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 65 / 87
![Page 66: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/66.jpg)
Caminosalgoritmos
¿Algoritmo que calcule un árbol mínimo desde un vértice s en G?Algorithm
DIJKSTRA, complejidad O(n2)
El algoritmo funciona igual con grafos como con digrafos.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 66 / 87
![Page 67: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/67.jpg)
Caminospesos negativos
¿Se pueden permitir pesos negativos?
pueden existir ciclos negativos, es decir, ciclos con pesos negativos
¿Algoritmo que calcule un árbol mínimo desde un vértice s en G si Gcontiene pesos negativos?Algorithm
BELLMANN–FORD, complejidad O(mn)
¿Algoritmo que calcule los caminos mínimos entre todas las parejasde vértices incluyendo el caso de pesos negativos?Algorithm
FLOYD–WARSHALL, complejidad O(n3)
Algunos algoritmos detectan la existencia de ciclos negativos en quecaso terminan sin solución.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 67 / 87
![Page 68: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/68.jpg)
Caminosmejoras
si se tiene más información sobre los grafos y sus pesos se puedemejorar los algoritmos:
si los pesos están confinados por una constante W :si el número de aristas m está confinado por O(n log n):
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 68 / 87
![Page 69: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/69.jpg)
Minoresdefiniciones
contracción de aristaminorminor topológico
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 69 / 87
![Page 70: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/70.jpg)
MinoresTeorema de los minores
Consecuencia:
Theorem (ROBERTSON/SEYMOUR)Cada propiedad heredable sobre grafos se puede representar por unnúmero finito de minores prohibidos.
Como consecuencia se puede comprobar la existencia de unalgoritmo con tiempo de cálculo cúbico que comprueba si un(ciclo de un) grafo forma un nudo en 3D.Pero hasta ahora no se conoce ni siquiera un algoritmodeterminista que lo haga.He encontrado un trabajo recien (2005) que describe un algoritmono–determinista, con la consequencia de la existencia de unalgoritmo determinista cuyo tiempo de ejecución es exponencial.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 70 / 87
![Page 71: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/71.jpg)
Extremalidadpreguntas
se pueden realizar preguntas interesantes como ciertas propiedadesde grafos están relacionados con el tamaño del grafo (normalmentenúmero de aristas)
¿Cuántas aristas tiene que tener un grafo como mínimo para quesea un grafo conexo?¿Cuál es el número máximo de aristas que puede tener un grafopara que sea un grafo plano?
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 71 / 87
![Page 72: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/72.jpg)
Vocabularioplanaridad
planar un grafo es planar cuando se puedepintar sus vértices y sus aristasen un plano de tal manera queninguna pareja de aristas se interseca
región una región es un área del planodonde se ha pintado un grafo planarque esté confinado por aristas
grafo triangular un grafo es triangular,si en su representación planaren el plano toda región estáconfinada por tres aristas del grafo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 72 / 87
![Page 73: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/73.jpg)
Teoremasplanaridad
Theorem (EULER)G planar y conexo con n ≤ 1, m y l =⇒ n −m + l = 2
TheoremG planar con n ≥ 3 =⇒ m ≤ 3n − 6
TheoremG 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 (ominor topológico)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 73 / 87
![Page 74: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/74.jpg)
Coloracióntipos
Coloración de vérticesColoración de aristasColoración de grafos planos
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 74 / 87
![Page 75: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/75.jpg)
Coloraciónteoremas
TheoremG planar =⇒ los vértices de G son colorables con 4 colores
TheoremG planar que no contiene ningún triángulo =⇒ los vértices de Gson colorables con 3 colores
χ(G) número mínimo de colores que se necesita paracolorar los vértices de un grafo
χ′(G) número mínimo de colores que se necesita paracolorar las aristas de un grafo
χ′′(G) número mínimo de colores que se necesita paracolorar los vértices y las aristas de un grafo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 75 / 87
![Page 76: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/76.jpg)
Coloraciónteoremas
Theorem (BROOKS)
G conexo G 6= Cimpar y G 6= K n =⇒ χ(G) ≤ ∆(G)
Theorem (KOENIG)G bipartido =⇒ χ′(G) = ∆(G)
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 76 / 87
![Page 77: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/77.jpg)
Flujostipos
1 Flujos y redes2 Flujos y cortes3 Flujos y coloración
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 77 / 87
![Page 78: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/78.jpg)
Vocabularioflujos
viable f (e) ≤ w(e), es decir,el flujo es como mucho igual a la capacidad
conservante∑
v fin(e) =∑
v fout (e), es decir,tanto como entra sale de un nodo(claro, excepto para fuente y afluente).
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 78 / 87
![Page 79: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/79.jpg)
Flujosteorema
Theorem (FORD–FULKERSON)Máximo flujo es igual a mínimo corte.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 79 / 87
![Page 80: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/80.jpg)
Flujosalgoritmos
Algorithm
FORD–FULKERSON, complejidad O(F ∗ m) siendo F el máximo flujo(asumiendo enteros como capacidades).
Algorithm
EDMONDS–KARP, complejidad O(nm2).
Algorithm
DINIC, complejidad O(n2m).
Algorithm
KARZANOV–GOLDBERG–TARJAN, complejidad O(n3).
Se pueden variar las restricciones: capacidades máximas por nodos,más fuentes/afluentes, introducción de capacidades mínimas, etc.
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 80 / 87
![Page 81: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/81.jpg)
Vocabularioemparejamientos
emparejamiento M ⊂ E y ∀e, f ∈ M : e ∪ f = ∅, es decir,pares de aristas no tienen vértices en común
perfecto M cubre todos los vértices de GM–alternado un camino en G alternando con arista de MM–aumento camino M–alternado que se puede aumentar
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 81 / 87
![Page 82: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/82.jpg)
Emparejamientosteoremas
Theorem (BERGE)emparejamiento M es máximo =⇒ G no contiene caminosM–aumento
Theorem (HALL)teorema del matrimonio: Sea G = (U ∪ V ,E) un grafo bipartido. Gtiene 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
![Page 83: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/83.jpg)
Aplicacionesejemplos
1 Planificación2 Diseño de circuitos3 Juegos4 Optimización5 Teoría de Codificación6 Visualización
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 83 / 87
![Page 84: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/84.jpg)
Españolinglés
árbol treeárbol generador spanning treearista edgearista de cruce cross edgearista de progreso forward edgearista de retroceso back edgearticulación articulationbosque forestcamino pathcintura girthconexo connecteddirigido directed
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 84 / 87
![Page 85: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/85.jpg)
Españolinglés
emparejamiento matchingexploración en anchura breadth first searchexploración en profundidad depth first searchflujo flowfuertemente conexo strongly connectedgrado degreepeso weightponderado weightedpuente bridgerecorrido walkvecino neighborvértice de corte cutvertex
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 85 / 87
![Page 86: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/86.jpg)
Inglésespañol
articulation articulaciónback edge arista de retrocesobreadth first search exploración en anchurabridge puenteconnected conexocross edge arista de crucecutvertex vértice de cortedegree gradodepth first search exploración en profundidaddirected dirigidoedge aristaflow flujo
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 86 / 87
![Page 87: Algoritmia Avanzada - Teoría de Grafos](https://reader031.vdocuments.co/reader031/viewer/2022012418/6173407c65a2e62d0a10ed50/html5/thumbnails/87.jpg)
Inglésespañol
forest bosqueforward edge arista de progresogirth cinturamatching emparejamientoneighbor vecinopath caminospanning tree árbol generadorstrongly connected fuertemente conexotree árbolwalk recorridoweight pesoweighted ponderado
Dr. Arno Formella (Universidad de Vigo) AA 16/01/09 87 / 87