SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
MLM 2070 - Teor´ıa de Grafos
Luis A. Dissett
Clase 12
1
Dos conjeturas
Conjetura (Ringel, 1964). Si T es un ´arbol dado con m aristas,
entonces K2m+1 se descompone en 2m + 1 copias de T.
Definici´on. Sea G un grafo con m aristas. Una coloraci´on
graciosa (o un etiquetado gracioso) de G es una funci´on inyectiva
f : V (G) → {0, . . . , m}
tal que
{|f(u) − f(v)|} = {1, . . . , m} .
Un grafo se dice gracioso si tiene una coloraci´on graciosa.
Conjetura (del ´arbol gracioso—Kotzil y Ringel, 1964).
Todo ´arbol es gracioso.
2
Relaci´on entre las dos conjeturas
La conjetura del ´arbol gracioso implica la conjetura de Ringel. De
hecho, tenemos:
Teorema (Rosa, 1967). Si T es un ´arbol con m aristas que tiene
una coloraci´on graciosa, entonces K2m+1 se descompone en 2m + 1
copias de T.
Demostraci´on. Numeremos los v´ertices de T de acuerdo a la
coloraci´on graciosa. As´ı, V (T) = {0, . . . , m}, y no hay dos aristas
con la misma diferencia entre extremos.
Consideramos el conjunto de v´ertices V (K2m+1) como Z2m+1, y
definimos ´arboles Tk (0 ≤ k ≤ 2m) de modo que:
• V (Tk) = {k, . . . , k + m} (mod2m + 1), y
• k + i ↔ k + j en Tk si y s´olo si i ↔ j en T.
3
Familias graciosas de ´arboles
Definici´on. Una oruga es un ´arbol en que existe un camino
incidente a todas las aristas (equivalentemente, un camino que est´a
a distancia < 2 de todos los v´ertices).
Teorema. Un ´arbol es una oruga si y s´olo si no contienen al
siguiente ´arbol Y .
Proposici´on. Toda oruga es graciosa.
Corolario. Toda estrella y todo camino son graciosos.
4
Grafos con peso
Definici´on. Un grafo con peso (o grafo con costo) es un grafo G
m´as una funci´on de peso o costo
f : E(G) → R.
En general, salvo menci´on expresa en contrario, consideramos s´olo
grafos con pesos no negativos en las aristas.
Definici´on. Sea G un grafo con peso, y sea H un subgrafo de G.
El costo total o peso total de H es
w(H) =
e∈H
w(e).
5
´Arboles de cobertura m´ınimos
En particular, estamos interesados en el caso en que H = T es un
´arbol de cobertura de G. Ya que G es finito, la funci´on w(T)
alcanza su m´ınimo en alg´un ´arbol T. Nos interesa hallar alg´un
´arbol T que minimice el costo total; dicho grafo no tiene por qu´e
ser ´unico.
6
El algoritmo de Kruskal
Entrada: Un grafo G con costos, conexo.
Idea: Mantener un subgrafo ac´ıclico cobertor H, de modo que en
cada paso exista al menos un ´arbol de cobertura de costo m´ınimo T
tal que H sea subgrafo de T. C´onsiderense las aristas de G
ordenadas por costo en forma no decreciente, los empates se
rompen arbitrariamente.
Inicializaci´on: E(H) = ∅.
Iteraci´on: Si la siguiente arista e de G (en el orden dado) une dos
componentes de H entonces agregamos e a E(H). Si no, la
ignoramos.
Terminaci´on: Term´ınese el algoritmo cuando H sea conexo o
cuando se acaben las aristas de G.
7
Correcci´on del algoritmo de Kruskal
Teorema (Kruskal, 1956). Si G es un grafo conexo con costos,
entonces el algoritmo de Kruskal termina con H un ´arbol de
cobertura de costo m´ınimo.
Demostraci´on. Claramente, el algoritmo termina.
Probemos ahora que el grafo H que resulta del algoritmo es conexo.
Si no lo es, sea e una arista de G que una dos componentes de H.
Dicha arista debe haber sido considerada en alg´un momento; si fue
rechazada es porque no un´ıa dos componentes de H en ese
momento. Pero esto es imposible (el n´umero de componentes no
crece en cada iteraci´on).
An´alogamente, podemos probar que H es ac´ıclico (nunca se elige
una arista que cree un ciclo) y que cubre G (y por lo tanto es un
´arbol de cobertura).
8
Optimalidad del ´arbol generado
Sea ahora T el ´arbol de cobertura de G producido por el algoritmo
de Kruskal. Probaremos que su costo es el m´ınimo posible.
Supongamos que no, y sea T cualquier ´arbol de cobertura de G de
costo m´ınimo. Si T = T , no hay nada que probar. Si no, sea e la
primera arista de T elegida por el algoritmo tal que e /∈ E(T ).
Ya que e /∈ E(T ), T + e contiene un ciclo C, y (por un teorema
anterior), existe e ∈ E(T ) − E(T) tal que T + e − e es un ´arbol
de cobertura.
Si w(e ) < w(e), al momento de escoger e el algoritmo ya habr´ıa
considerado e . Como T contiene e y todas las aristas escogidas
antes de e, e no habr´ıa producido un ciclo, y por lo tanto habr´ıa
sido escogida por el algoritmo. Por lo tanto, w(e ) ≥ w(e).
9
Optimalidad del ´arbol generado (cont.)
As´ı, el costo de T + e − e es a lo m´as igual al de T (y por lo tanto
´optimo), y tiene m´as aristas en com´un con T que T .
Aplicando reiteradamente este procedimiento, podemos terminar
hallando un ´arbol de cobertura ´optimo T∗
que tenga todas las
aristas en co om´un con T, o sea, T∗
= T. O sea, T es ´optimo.
10
Complejidad del algoritmo de Kruskal
El algoritmo requiere que las |E| aristas est´en ordenadas
previamente. Esto toma O(|E| log(|E|) operaciones.
El proceso de examinar las |E| aristas toma a lo m´as O(|E|)
iteraciones; de ellas, n − 1 requieren actualizar la lista de
componentes a las que pertenecen los n v´ertices. Esto puede ser
hecho en un total de O(n log2 n) operaciones, o incluso en forma
m´as astuta en O(nα(n)), donde
α(n) ≤ min



i : log2(log2(. . . (log2(n)) . . . ))
i veces



= 1.
11
Rutas m´as cortas
Definici´on. En un grafo con pesos, la distancia entre dos v´ertices
es
d(u, v) = min {w(P) : P es un camino que une u y v} .
Note que en particular, esto coincide con la definici´on usual de
distancia, si consideramos la funci´on de peso w donde w(e) = 1
para todo e ∈ E(G).
Nos interesa hallar la distancia m´as corta entre dos v´ertices dados
u y v, o bien hallar todas las distancias m´as cortas entre un v´ertice
dado u y todos los otros v´ertices de G.
En general, no es mucho m´as eficiente hallar la ruta m´as corta
entre u y v que hallar todas las rutas m´as cortas entre u y los otros
v´ertices. Para esto usamos el algoritmo de Dijkstra.
12
El algoritmo de Dijkstra
Entrada: Un grafo (o digrafo) G con pesos no negativos, y un
v´ertice de partida u. El peso de una arista xy es w(xy); si xy no es
una arista diremos que w(xy) = ∞.
Idea: Mantener un conjunto S de v´ertices a los que conocemos la
distancia m´as corta desde u, junto con el predecesor de cada v´ertice
de S en dicha ruta. Para lograr esto, mantenemos una distancia
tentativa t(z) desde u a cada z ∈ V (G). Si z /∈ S, t(z) es la
distancia m´as corta encontrada hasta ahora entre u y z. Si z ∈ S,
t(z) es la distancia m´as corta entre u y z. En cualquier caso,
pred[z] es el predecesor de z la ruta u − z en cuesti´on.
Inicializaci´on: S = {u} , t(u) = 0, t(z) = w(uz) y pred[z] = u para
z = u.
13
El algoritmo de Dijkstra (cont.)
Iteraci´on: Sea v ∈ V (G) − S tal que
t(z) = min {t(v) : v ∈ V (G) − S}.
Agr´eguese v a S.
Para z ∈ V (G) − S, actual´ıcese t(z) a min {t(z), t(v) + w(vz)}.
Si cambia t(z), c´ambiese pred[z] a v.
Terminaci´on: Term´ınese el algoritmo cuando S = V (G) o cuando
t(z) = ∞ para todo z ∈ V (G) − S.
Al terminar, la distancia m´as corta entre u y v est´a dada por
d(u, v) = t(v).
14

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

2013p3
2013p32013p3
2013p3
 
La Derivada
La DerivadaLa Derivada
La Derivada
 
Aplicaciones de la derivada a funciones de una variable real
Aplicaciones de la derivada a funciones de una variable realAplicaciones de la derivada a funciones de una variable real
Aplicaciones de la derivada a funciones de una variable real
 
Semana 3
Semana 3Semana 3
Semana 3
 
Integral impropia
Integral impropiaIntegral impropia
Integral impropia
 
El algoritmo EM
El algoritmo EMEl algoritmo EM
El algoritmo EM
 
Bitácora n° 9 (09 abril a 13 de abril)
Bitácora n° 9 (09 abril a 13 de abril)Bitácora n° 9 (09 abril a 13 de abril)
Bitácora n° 9 (09 abril a 13 de abril)
 
Operaciones con funciones vectoriales
Operaciones con funciones vectorialesOperaciones con funciones vectoriales
Operaciones con funciones vectoriales
 
Jorge albah
Jorge albahJorge albah
Jorge albah
 
Tema 3 (Segunda parte)
Tema 3 (Segunda parte)Tema 3 (Segunda parte)
Tema 3 (Segunda parte)
 
Propiedades de los límites y factorizacion de productos notables
Propiedades de los límites y factorizacion de productos notablesPropiedades de los límites y factorizacion de productos notables
Propiedades de los límites y factorizacion de productos notables
 
Propiedades de los límites y factorizacion de productos notables
Propiedades de los límites y factorizacion de productos notablesPropiedades de los límites y factorizacion de productos notables
Propiedades de los límites y factorizacion de productos notables
 
La Integral Definida. Área Bajo La Curva.
La Integral Definida. Área Bajo La Curva.La Integral Definida. Área Bajo La Curva.
La Integral Definida. Área Bajo La Curva.
 
Aplicación de las derivadas
Aplicación de las derivadasAplicación de las derivadas
Aplicación de las derivadas
 
Ejercicios v com
Ejercicios v comEjercicios v com
Ejercicios v com
 
Series de fourier (n)
Series de fourier (n)Series de fourier (n)
Series de fourier (n)
 
Pilar r
Pilar rPilar r
Pilar r
 
Limites y continuidad
Limites y continuidadLimites y continuidad
Limites y continuidad
 
Tesis
TesisTesis
Tesis
 
Anderson pena
Anderson penaAnderson pena
Anderson pena
 

Similar a Clase12 (1)

Teoría de Grafos en sage
 Teoría de Grafos en sage Teoría de Grafos en sage
Teoría de Grafos en sagekennethmath
 
Ejercicios resueltos variable_compleja
Ejercicios resueltos variable_complejaEjercicios resueltos variable_compleja
Ejercicios resueltos variable_complejaHctorCarrillo4
 
Fundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de EducagratisFundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de EducagratisEducagratis
 
Regla de la cadena
Regla de la cadenaRegla de la cadena
Regla de la cadenaAna Cristina
 
Regla de la cadena
Regla de la cadenaRegla de la cadena
Regla de la cadenaAna Cristina
 
Funciones
FuncionesFunciones
FuncionesIva C
 
Presentación teorema de lagrange
Presentación teorema de lagrangePresentación teorema de lagrange
Presentación teorema de lagrangeLorena Maribel'
 
Curvas en el plano y espacio (1)
Curvas en el plano y espacio (1)Curvas en el plano y espacio (1)
Curvas en el plano y espacio (1)erica grunberg
 
Teoria aditiva de numeros
Teoria aditiva de numerosTeoria aditiva de numeros
Teoria aditiva de numeroslgbarrerav
 
Semana 9 diferencial, introduccion, antiderivadas o primitivas
Semana 9 diferencial, introduccion, antiderivadas o primitivasSemana 9 diferencial, introduccion, antiderivadas o primitivas
Semana 9 diferencial, introduccion, antiderivadas o primitivasVicenteSilva57
 
Calculo integral
Calculo integralCalculo integral
Calculo integralaameeriikaa
 
Funciones
FuncionesFunciones
FuncionesIva C
 
Numeros complejos
Numeros complejosNumeros complejos
Numeros complejosLuisM112
 

Similar a Clase12 (1) (20)

Teoría de Grafos en sage
 Teoría de Grafos en sage Teoría de Grafos en sage
Teoría de Grafos en sage
 
Grafos en sage
Grafos en sageGrafos en sage
Grafos en sage
 
Ejercicios resueltos variable_compleja
Ejercicios resueltos variable_complejaEjercicios resueltos variable_compleja
Ejercicios resueltos variable_compleja
 
Fundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de EducagratisFundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de Educagratis
 
Regla de la cadena
Regla de la cadenaRegla de la cadena
Regla de la cadena
 
Regla de la cadena
Regla de la cadenaRegla de la cadena
Regla de la cadena
 
Matematicas cap5
Matematicas cap5Matematicas cap5
Matematicas cap5
 
Teoría de Grafos.
Teoría de Grafos.Teoría de Grafos.
Teoría de Grafos.
 
Numeros complejos
Numeros complejosNumeros complejos
Numeros complejos
 
PUNTO FIJO
PUNTO FIJOPUNTO FIJO
PUNTO FIJO
 
Tensor metrico
Tensor metricoTensor metrico
Tensor metrico
 
Funciones
FuncionesFunciones
Funciones
 
Presentación teorema de lagrange
Presentación teorema de lagrangePresentación teorema de lagrange
Presentación teorema de lagrange
 
Curvas en el plano y espacio (1)
Curvas en el plano y espacio (1)Curvas en el plano y espacio (1)
Curvas en el plano y espacio (1)
 
Teoria aditiva de numeros
Teoria aditiva de numerosTeoria aditiva de numeros
Teoria aditiva de numeros
 
Semana 9 diferencial, introduccion, antiderivadas o primitivas
Semana 9 diferencial, introduccion, antiderivadas o primitivasSemana 9 diferencial, introduccion, antiderivadas o primitivas
Semana 9 diferencial, introduccion, antiderivadas o primitivas
 
Calculo integral
Calculo integralCalculo integral
Calculo integral
 
Grafos
GrafosGrafos
Grafos
 
Funciones
FuncionesFunciones
Funciones
 
Numeros complejos
Numeros complejosNumeros complejos
Numeros complejos
 

Clase12 (1)

  • 1. MLM 2070 - Teor´ıa de Grafos Luis A. Dissett Clase 12 1
  • 2. Dos conjeturas Conjetura (Ringel, 1964). Si T es un ´arbol dado con m aristas, entonces K2m+1 se descompone en 2m + 1 copias de T. Definici´on. Sea G un grafo con m aristas. Una coloraci´on graciosa (o un etiquetado gracioso) de G es una funci´on inyectiva f : V (G) → {0, . . . , m} tal que {|f(u) − f(v)|} = {1, . . . , m} . Un grafo se dice gracioso si tiene una coloraci´on graciosa. Conjetura (del ´arbol gracioso—Kotzil y Ringel, 1964). Todo ´arbol es gracioso. 2
  • 3. Relaci´on entre las dos conjeturas La conjetura del ´arbol gracioso implica la conjetura de Ringel. De hecho, tenemos: Teorema (Rosa, 1967). Si T es un ´arbol con m aristas que tiene una coloraci´on graciosa, entonces K2m+1 se descompone en 2m + 1 copias de T. Demostraci´on. Numeremos los v´ertices de T de acuerdo a la coloraci´on graciosa. As´ı, V (T) = {0, . . . , m}, y no hay dos aristas con la misma diferencia entre extremos. Consideramos el conjunto de v´ertices V (K2m+1) como Z2m+1, y definimos ´arboles Tk (0 ≤ k ≤ 2m) de modo que: • V (Tk) = {k, . . . , k + m} (mod2m + 1), y • k + i ↔ k + j en Tk si y s´olo si i ↔ j en T. 3
  • 4. Familias graciosas de ´arboles Definici´on. Una oruga es un ´arbol en que existe un camino incidente a todas las aristas (equivalentemente, un camino que est´a a distancia < 2 de todos los v´ertices). Teorema. Un ´arbol es una oruga si y s´olo si no contienen al siguiente ´arbol Y . Proposici´on. Toda oruga es graciosa. Corolario. Toda estrella y todo camino son graciosos. 4
  • 5. Grafos con peso Definici´on. Un grafo con peso (o grafo con costo) es un grafo G m´as una funci´on de peso o costo f : E(G) → R. En general, salvo menci´on expresa en contrario, consideramos s´olo grafos con pesos no negativos en las aristas. Definici´on. Sea G un grafo con peso, y sea H un subgrafo de G. El costo total o peso total de H es w(H) = e∈H w(e). 5
  • 6. ´Arboles de cobertura m´ınimos En particular, estamos interesados en el caso en que H = T es un ´arbol de cobertura de G. Ya que G es finito, la funci´on w(T) alcanza su m´ınimo en alg´un ´arbol T. Nos interesa hallar alg´un ´arbol T que minimice el costo total; dicho grafo no tiene por qu´e ser ´unico. 6
  • 7. El algoritmo de Kruskal Entrada: Un grafo G con costos, conexo. Idea: Mantener un subgrafo ac´ıclico cobertor H, de modo que en cada paso exista al menos un ´arbol de cobertura de costo m´ınimo T tal que H sea subgrafo de T. C´onsiderense las aristas de G ordenadas por costo en forma no decreciente, los empates se rompen arbitrariamente. Inicializaci´on: E(H) = ∅. Iteraci´on: Si la siguiente arista e de G (en el orden dado) une dos componentes de H entonces agregamos e a E(H). Si no, la ignoramos. Terminaci´on: Term´ınese el algoritmo cuando H sea conexo o cuando se acaben las aristas de G. 7
  • 8. Correcci´on del algoritmo de Kruskal Teorema (Kruskal, 1956). Si G es un grafo conexo con costos, entonces el algoritmo de Kruskal termina con H un ´arbol de cobertura de costo m´ınimo. Demostraci´on. Claramente, el algoritmo termina. Probemos ahora que el grafo H que resulta del algoritmo es conexo. Si no lo es, sea e una arista de G que una dos componentes de H. Dicha arista debe haber sido considerada en alg´un momento; si fue rechazada es porque no un´ıa dos componentes de H en ese momento. Pero esto es imposible (el n´umero de componentes no crece en cada iteraci´on). An´alogamente, podemos probar que H es ac´ıclico (nunca se elige una arista que cree un ciclo) y que cubre G (y por lo tanto es un ´arbol de cobertura). 8
  • 9. Optimalidad del ´arbol generado Sea ahora T el ´arbol de cobertura de G producido por el algoritmo de Kruskal. Probaremos que su costo es el m´ınimo posible. Supongamos que no, y sea T cualquier ´arbol de cobertura de G de costo m´ınimo. Si T = T , no hay nada que probar. Si no, sea e la primera arista de T elegida por el algoritmo tal que e /∈ E(T ). Ya que e /∈ E(T ), T + e contiene un ciclo C, y (por un teorema anterior), existe e ∈ E(T ) − E(T) tal que T + e − e es un ´arbol de cobertura. Si w(e ) < w(e), al momento de escoger e el algoritmo ya habr´ıa considerado e . Como T contiene e y todas las aristas escogidas antes de e, e no habr´ıa producido un ciclo, y por lo tanto habr´ıa sido escogida por el algoritmo. Por lo tanto, w(e ) ≥ w(e). 9
  • 10. Optimalidad del ´arbol generado (cont.) As´ı, el costo de T + e − e es a lo m´as igual al de T (y por lo tanto ´optimo), y tiene m´as aristas en com´un con T que T . Aplicando reiteradamente este procedimiento, podemos terminar hallando un ´arbol de cobertura ´optimo T∗ que tenga todas las aristas en co om´un con T, o sea, T∗ = T. O sea, T es ´optimo. 10
  • 11. Complejidad del algoritmo de Kruskal El algoritmo requiere que las |E| aristas est´en ordenadas previamente. Esto toma O(|E| log(|E|) operaciones. El proceso de examinar las |E| aristas toma a lo m´as O(|E|) iteraciones; de ellas, n − 1 requieren actualizar la lista de componentes a las que pertenecen los n v´ertices. Esto puede ser hecho en un total de O(n log2 n) operaciones, o incluso en forma m´as astuta en O(nα(n)), donde α(n) ≤ min    i : log2(log2(. . . (log2(n)) . . . )) i veces    = 1. 11
  • 12. Rutas m´as cortas Definici´on. En un grafo con pesos, la distancia entre dos v´ertices es d(u, v) = min {w(P) : P es un camino que une u y v} . Note que en particular, esto coincide con la definici´on usual de distancia, si consideramos la funci´on de peso w donde w(e) = 1 para todo e ∈ E(G). Nos interesa hallar la distancia m´as corta entre dos v´ertices dados u y v, o bien hallar todas las distancias m´as cortas entre un v´ertice dado u y todos los otros v´ertices de G. En general, no es mucho m´as eficiente hallar la ruta m´as corta entre u y v que hallar todas las rutas m´as cortas entre u y los otros v´ertices. Para esto usamos el algoritmo de Dijkstra. 12
  • 13. El algoritmo de Dijkstra Entrada: Un grafo (o digrafo) G con pesos no negativos, y un v´ertice de partida u. El peso de una arista xy es w(xy); si xy no es una arista diremos que w(xy) = ∞. Idea: Mantener un conjunto S de v´ertices a los que conocemos la distancia m´as corta desde u, junto con el predecesor de cada v´ertice de S en dicha ruta. Para lograr esto, mantenemos una distancia tentativa t(z) desde u a cada z ∈ V (G). Si z /∈ S, t(z) es la distancia m´as corta encontrada hasta ahora entre u y z. Si z ∈ S, t(z) es la distancia m´as corta entre u y z. En cualquier caso, pred[z] es el predecesor de z la ruta u − z en cuesti´on. Inicializaci´on: S = {u} , t(u) = 0, t(z) = w(uz) y pred[z] = u para z = u. 13
  • 14. El algoritmo de Dijkstra (cont.) Iteraci´on: Sea v ∈ V (G) − S tal que t(z) = min {t(v) : v ∈ V (G) − S}. Agr´eguese v a S. Para z ∈ V (G) − S, actual´ıcese t(z) a min {t(z), t(v) + w(vz)}. Si cambia t(z), c´ambiese pred[z] a v. Terminaci´on: Term´ınese el algoritmo cuando S = V (G) o cuando t(z) = ∞ para todo z ∈ V (G) − S. Al terminar, la distancia m´as corta entre u y v est´a dada por d(u, v) = t(v). 14