La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Teoría de Grafos.

Presentaciones similares


Presentación del tema: "Teoría de Grafos."— Transcripción de la presentación:

1 Teoría de Grafos

2 Definiciones y conceptos

3 Definiciones y Ejemplos
Definición Sea V un conjunto finito no vacío, y sea EVV. El par (V, E) es un grafo dirigido (sobre V), o dígrafo, donde V es el conjunto de vértices, o nodos y E es su conjunto de aristas. Escribimos G = (V, E) para denotar tal dígrafo.

4 La figura proporciona un ejemplo de un grafo dirigido sobre V= {a, b, c, d, e} con E= {(a, a), (a, b), (a, d), (b, c)}.

5 La dirección de una arista se indica al colocar una flecha dirigida sobre ella, como se muestra. Para cualquier arista, como (b ,c) decimos que la arista es incidente con los vértices b, c; b es adyacente hacia c, mientras que c es adyacente desde b. Además, el vértice b es el origen, o fuente, de la arista (b, c) y el vértice c es el término o vértice terminal. La arista (a, a) es un ejemplo de un lazo y el vértice e que no tiene aristas es un vértice aislado.

6 Cuando no importa la dirección de las aristas, la estructura G = (V, E), donde E es ahora un conjunto de pares no ordenados sobre V, es un grafo no dirigido. En un grafo no dirigido hay aristas no dirigidas, como las aristas {a, b}, {b, c} {a, c}, {c, d} de la figura.

7 Una arista como {a, b} representa {(a, b), (b, a)}.
Aunque (a, b) = (b, a) sólo si a = b, tenemos que {a, b} = {b, a} para todos a, b. En general si no se especifica que un grafo G es dirigido o no, supondremos que es no dirigido.

8 x= x0, e1, x1, e2, x2, e3,...,en-1, xn-1, en, xn=y
Definición Sean x, y vértices (no necesariamente distintos) de un grafo no dirigido G = (V, E). Un camino x-y en G es una sucesión alternada finita (sin lazos) x= x0, e1, x1, e2, x2, e3,...,en-1, xn-1, en, xn=y de vértices y aristas de G, que comienza en el vértice x y termina en el vértice y y que contiene las n aristas ei={xi-1, xi} donde 1in. La longitud de un camino es n, el número de aristas que hay en el camino (Si n = 0, no existen aristas, x = y, y el camino se denomina trivial).

9 Cualquier camino x-y donde x = y (y n > 1) es un camino cerrado
Cualquier camino x-y donde x = y (y n > 1) es un camino cerrado. En caso contrario, el camino es abierto. C1) {a,b}, {b,d}, {d,c}, {c,e}, {e,d}, {d,b}: se repiten los vértices d y b, así como las aristas {b,d}({d,b}. C2) b  c  d  e  c  f: se repite el vértice c. C3) {f, c}, {c, e}, {e, d}, {d, a}.

10 Definición Consideremos un camino x-y en un grafo no dirigido G = (V, E).
a) Si no se repite alguna arista en el camino x-y, entonces el camino es un recorrido x-y. Un recorrido x-x es un circuito. b) Cuando ningún vértice del camino x-y se presenta más de una vez, el camino es un camino simple x-y. El término ciclo se usa para describir el camino simple cerrado.

11 bcdecf es un recorrido b-f pero no un camino simple b-f.
El camino {f,c},{c,e},{e,d},{d,a} es un recorrido f-a y un camino simple f-a. Las aristas {a,b},{b,d},{d,c},{c,e},{e,d} y {d,a} forman el circuito a-a. Las aristas {a,b},{b,c},{c,d} y {d,a} forman un ciclo a-a.

12 Resumen Vértice(s) repetido(s) Arista(s) repetida(s) abierto cerrado
abierto cerrado Nombre Camino Camino (cerrado) No Recorrido Circuito Camino simple Ciclo

13 {a,x1},{x1,x2},...,{xk-1,xk},{xm,xm+1},...,{xn,b}
Teorema Sea G = (V, E) un grafo no dirigido, con a, b V, ab. Si existe un recorrido de a a b, entonces existe un camino simple de a a b. Demostración. Como hay al menos un recorrido de a a b, seleccionamos el que tenga la longitud más corta, digamos {a,x1},{x1,x2},...,{xn,b}. Si este recorrido no es un camino simple, tenemos la situación {a,x1},{x1,x2},...,{xk-1,xk},{xk,xk+1},{xk+1,xk+2},..., {xm-1,xm},{xm,xm+1},...,{xn,b}, donde k<m y xk=xm, posiblemente con k=0 y a(=x0)=xm, o m=n+1 y xk=b(=xn+1). Pero entonces {a,x1},{x1,x2},...,{xk-1,xk},{xm,xm+1},...,{xn,b} es un recorrido simple más corto de a a b.

14 Definición Sea G = (V, E) un grafo no dirigido
Definición Sea G = (V, E) un grafo no dirigido. Decimos que G es conexo si existe un camino simple entre cualquiera dos vértices distintos de G. Sea G = (V, E) un grafo dirigido. Su grafo no dirigido asociado es el grafo obtenido de G si no se tienen en cuenta las direcciones de las aristas. Si se obtiene más de una arista no dirigida de un par de vértices distintos de G, entonces sólo una de estas aristas se dibuja en el grafo no dirigido asociado. Cuando este grafo asociado es conexo, consideramos que G es conexo. Un grafo que no es conexo se llama disconexo.

15 El grafo G = (V, E), con V={a, b, c, d, e, f, g}, E={{a,b},{a,c},{a,d},{b,d}{e,f},{f,g}} no es conexo ya que, por ejemplo, no hay un camino simple de a a e. Sin embargo, el grafo está compuesto por piezas, que son grafos conexos.

16 Por lo tanto, un grafo no dirigido G = (V, E) es disconexo si y sólo si V puede separarse en al menos dos subconjuntos V1, V2 tales que no haya una arista en E de la forma {x, y} donde xV1 e yV2. Un grafo es conexo si y sólo si tiene solamente una componente. Definición Para cualquier grafo G = (V, E), el número de componentes de G se denota con (G).

17 EJEMPLO (G)=2 para el grafo de la figura.
Definición Un grafo G=(V, E) es un multigrafo si existen a,b V, ab, con dos o más aristas de la forma: 1) (a, b) para un grafo dirigido; 2) {a, b} para un grafo no dirigido.

18 La figura muestra un ejemplo de un multigrafo dirigido
La figura muestra un ejemplo de un multigrafo dirigido. Existen tres aristas de a a b, por lo que podemos decir que (a, b) tiene multiplicidad 3. Las aristas (b, c) y (d, e) tienen multiplicidad 2. Además, la arista (e, d) y cualquiera de las aristas (d, e) forman un circuito (dirigido) de longitud 2 en el multigrafo.

19 Subgrafos, Complementos e Isomorfismos de Grafos

20 ¿Qué tipo de subestructura nos sirve para analizar un grafo?
¿Es posible trazar dos grafos que parezcan distintos pero que tengan la misma estructura subyacente? Definición Si G = (V, E) es un grafo (dirigido o no), entonces G1 = (V1, E1) es un subgrafo de G si   V1 V y E1  E, donde cada arista de E1 es incidente con los vértices de V1.

21 La figura nos muestra un grafo no dirigido G y dos de sus subgrafos G1 y G2. Los vértices a, b son aislados en el subgrafo G1. La parte b) de la figura nos muestra un ejemplo de grafo dirigido. Aquí el vértice w es aislado en G’.

22 Definición Dado un grafo (dirigido o no) G = (V, E), sea G1=(V1, E1) un subgrafo de G. Si V1 = V, entonces G1 es un subgrafo recubridor de G. Los subgrafos G3 y G4 son subgrafos recubridores del grafo G en la parte a) de la figura anterior. Los grafos dirigidos G’’ y G’’’ son dos grafos recubridores de G en la parte b).

23 Definición Sea G = (V, E) un grafo (dirigido o no)
Definición Sea G = (V, E) un grafo (dirigido o no). Si U  V, el subgrafo de G inducido por U es el subgrafo cuyo conjunto de vértices es U y que contiene todas las aristas (de G) de la forma: 1) (x, y), para x, y U, si G es dirigido o; 2) {x, y} para x, y U, si G no es dirigido Denotaremos a este subgrafo como U. Un subgrafo G’ de un grafo G = (V, E) es un subgrafo inducido si existe   U  V tal que G’ = U.

24 Para los subgrafos de la figura, vemos que G2 es un subgrafo inducido de G pero el subgrafo G1 no es un subgrafo inducido ya que no aparece la arista {a, d}.

25 EJEMPLO Sea G el grafo de la figura.
Los subgrafos G1 y G2 de la figura son inducidos. G1=U1 para U1 ={b, c, d, e}. G2=U2 para U2={a, b, e, f}. G3 no es un subgrafo inducido; los vértices c, e están en G3, pero la arista {c, e} de (G) no está presente.

26 Definición Sea  un vértice en un grafo G = (V, E) (dirigido o no)
Definición Sea  un vértice en un grafo G = (V, E) (dirigido o no). El subgrafo de G denotado G – , tiene el conjunto de vértices V1=V – {} y el conjunto de aristas E1  E, tal que E1 contiene todas las aristas de G excepto las incidentes con el vértice . (Por lo tanto G –  es el subgrafo de G inducido por V1). De forma similar si e es una arista del grafo G = (V, E) (dirigido o no), obtenemos el subgrafo G – e =(V1, E1) de G, donde el conjunto de aristas es E1=E – {e}, y el conjunto de vértices no cambia (es decir, V1=V).

27 Sea G el grafo no dirigido de la figura.
G1 es tal que G1 = G – c; G1 es el subgrafo de G inducido por el conjunto de vértices U1={a,b,d,f,g,h}, y G1 =V –{c} = U1. G2 es tal que G2= G – e, y e es la arista {c, d}. Podemos eliminar más de un vértice (arista). G3=(G–b)–f = (G–f)–b = G–{b, f} = U3, para U3={a, c,d,g,h}.

28 Definición Sea V un conjunto de n vértices
Definición Sea V un conjunto de n vértices. El grafo completo sobre V, que se denota con Kn, es un grafo no dirigido sin lazos tal que para todos a, b V, a  b, existe una arista {a, b}. La figura anterior proporciona los grafos completos Kn, para 1n4.

29 Definición Sea G un grafo no dirigido sin lazos con n vértices
Definición Sea G un grafo no dirigido sin lazos con n vértices. El complementario de G, ( ) es el subgrafo de Kn formado por los n vértices de G y todas las aristas que no están en G. (Si G = Kn, es un grafo con n vértices y ninguna arista. A este grafo se le llama grafo nulo). En a) aparece un grafo no dirigido de cuatro vértices. Su complementario se muestra en la parte b). En el complementario el vértice a está aislado.

30 Definición Sean G1=(V1, E1) y G2=(V2, E2) dos grafos no dirigidos
Definición Sean G1=(V1, E1) y G2=(V2, E2) dos grafos no dirigidos. Una función f: V1  V2 es un isomorfismo de grafos si: 1) f es biyectiva 2)  a, b V1, {a, b} E1 si y sólo si {f(a), f(b)} E2. Cuando existe tal función, G1 y G2 son grafos isomorfos.

31 Para los grafos de las partes a) y b) de la figura, la función f definida por f(a)=w, f(b)=x, f(c)=y, f(d)=z da como resultado un isomorfismo. (De hecho cualquier correspondencia uno a uno entre {a, b, c, d} y {w, x, y, z} será un isomorfismo, ya que ambos grafos son completos). En consecuencia en lo que se refiere a la estructura estos grafos se consideran iguales, cada uno es isomorfo al grafo K4.

32 Para los grafos c) y d) de la figura se necesita un poco más de cuidado. La función g definida por:
 g(m)=r, g(n)=s, g(p)=t, g(q)=u es uno a uno y sobre. Sin embargo, aunque {m, q} es una arista del grafo de la parte c), { g(m), g(q)} = {r, u} no es una arista del grafo de la parte d). En consecuencia, la función g no define un isomorfismo de grafos.

33 h(m)=s, h(n)=r, h(p)=u, h(q)=t
Para mantener la correspondencia de aristas se considera la función uno a uno y sobreinyectiva h tal que: h(m)=s, h(n)=r, h(p)=u, h(q)=t En este caso tenemos las correspondencias de aristas {m,n}  {h(m),h(n)} = {s,r}; {m,p}  {h(m),h(p)} = {s,u} {m,q}  {h(m),h(q)} = {s,t}; {n,q}  {h(n),h(q)} = {r,t} {p,q}  {h(p),h(q)} = {u,t}  entonces h es un isomorfismo de grafos.

34 Tenemos dos grafos, cada uno con diez vértices, no se ve de inmediato si estos grafos sean isomorfos. aq cu er gx iz bv dy fw ht js C1: a f  h  c  b  g  j  e  d  i C2: q  w  t  u  v  x  s  r  y  z C1 se corresponde con C2

35 Grados de un vértice recorridos y circuitos Eulerianos

36 Como hemos visto el número de aristas incidentes en un vértice podría utilizarse para mostrar que dos grafos no dirigidos no son isomorfos. Ahora veremos que esta idea puede todavía ayudarnos más. Definición Sea G un grafo o multigrafo no dirigido. Para cualquier vértice  de G, el grado de , que se denota grad(), es el número de aristas en G que son incidentes con . En este caso, un lazo en un vértice  se considera como dos aristas incidentes en .

37 EJEMPLO Para el grafo de la figura, grad(b)=grad(d)= =grad(f)=grad(g)=2, grad(c)=4, grad(e)=0 y grad(h)=1. Para el vértice a se tiene grad(a)=3 ya que contamos el lazo dos veces. Como h tiene grado 1, se le llama vértice colgante.

38 Teorema Si G = (V, E) es un grafo o multigrafo no dirigido, entonces .
Demostración. Al considerar cada arista {a, b} del grafo G, encontramos que la arista contribuye con una unidad a grad(a) y a grad(b) y, en consecuencia, con dos unidades a Así, cuenta grad(v), para todo vV y .

39 Corolario Para cualquier grafo o multigrafo no dirigido, el número de vértices de grado impar debe ser par. EJEMPLO Un grafo (o multigrafo) no dirigido donde los vértices tienen el mismo grado se denomina grafo regular. Si grad(v) = k para todos los vértices v, entonces el grafo es k-regular. ¿Es posible tener un grafo 4-regular con 10 aristas?.

40 Del teorema anterior tenemos que = 20 = , por lo que tenemos cinco vértices de grado 4. La figura proporciona dos ejemplos no isomorfos que satisfacen lo solicitado. Si deseamos que cada vértice tenga grado 4, con 15 aristas en el grafo, entonces = 30 = , por lo que resulta imposible tener dicho grafo.

41 Ahora veamos la razón por la que Euler desarrolló la idea de grado de un vértice: para resolver el problema de los siete puentes de Königsberg.

42 Se decía que los habitantes hacían paseos dominicales tratando de encontrar una forma de caminar por la ciudad cruzando cada puente exactamente una vez y regresando al punto donde habían iniciado el paseo.

43 Con el fin de determinar si existía o no dicho circuito, Euler representó las cuatro zonas de la ciudad y los siete puentes con el multigrafo que se muestra en la figura. Encontró cuatro vértices con grado(a)=3 grado(c)=3 grado(d)=3 y grado(b)=5. También encontró que la existencia de tal circuito dependía del número de vértices de grado impar del grafo.

44 Definición Sea G = (V, E) un grafo o multigrafo no dirigido sin vértices aislados. Entonces G tiene un circuito Euleriano si existe un circuito en G que recorra cada arista del grafo exactamente una vez. Si existe un recorrido abierto de a a b en G que recorre cada arista de G exactamente una vez, este recorrido se llamará recorrido Euleriano. El problema de los siete puentes quedará resuelto si caracterizamos los grafos que tienen un circuito Euleriano.

45 Teorema Sea G = (V, E) un grafo o multigrafo no dirigido sin vértices aislados. Entonces G tiene un circuito Euleriano si y sólo si G es conexo y todo vértice de G tiene grado par. Demostración Si G tiene un circuito Euleriano, entonces para cualquier a, b V existe un recorrido de a a b ; a saber, la parte del circuito que comienza en a y termina en b, por lo tanto de un teorema anterior se sigue que G es conexo. Sea c el vértice inicial del circuito Euleriano. Para cualquier otro vértice v de G, cada vez que el circuito llega a v entonces partirá de ese vértice . Así, el circuito pasa por dos aristas (nuevas) incidentes con v o por un lazo (nuevo) en v. En cada caso, se contribuye con dos unidades a grad(v). Como v no es el punto inicial y cada arista incidente a v se recorre una sola vez, obtenemos dos unidades cada vez que el circuito pasa por v, de modo que grad(v) es par. Para el vértice inicial c, la primera arista del circuito debe ser distinta de la última, y como cualquier otro paso por c produce dos unidades para grad(c), tenemos que grad(c) es par.

46 Demostración Recíprocamente, sea G un grafo conexo tal que todos los vértices tienen grado par. Si el número de aristas de G es 1 o 2 , entonces G debe ser como los grafos de la figura. Los circuitos Eulerianos son inmediatos en estos casos. Ahora procederemos por inducción y supondremos que el resultado es valido para todas las situaciones con menos de n aristas.

47 Demostración (Continuación...)
Si G tiene n aristas, seleccionamos un vértice c en G como punto inicial para construir un circuito Euleriano. Como el grafo G es conexo y cada vértice tiene grado par, podemos construir al menos un circuito C que contenga a c. (Verifique esto examinando el recorrido más largo en G que comienza en c). Si el circuito contiene todas las aristas de G, hemos terminado. Si no, eliminamos las aristas del circuito de G, asegurándonos de eliminar cualquier vértice que haya quedado aislado. El subgrafo restante K tiene todos los vértices de grado par, pero puede no ser conexo. Sin embargo, cada componente de K es conexa y tendrá un circuito Euleriano. Además, cada uno de estos circuitos Eulerianos tiene un vértice que está en C. En consecuencia, podemos partir de c y recorrer C hasta llegar al vértice c1 que está en el circuito Euleriano de una componente C1 de K. Entonces se recorre este circuito Euleriano y al regresar a c1, continuamos en C hasta llegar a un vértice c2 que está en el circuito Euleriano de la componente C2 de K. Como el grafo G es finito, podemos continuar este proceso hasta construir un circuito Euleriano para G.

48 Si G es conexo y no tiene demasiados vértices de grado impar, podemos hallar al menos un recorrido Euleriano en G. Corolario Si G es un grafo o multigrafo no dirigido sin vértices aislados, entonces podemos construir un recorrido Euleriano en G si y sólo si G es conexo y tiene exactamente dos vértices de grado impar. Demostración Si G es conexo y a y b son los vértices de G de grado impar, añadimos una arista adicional {a, b} a G. Ahora tenemos un grafo G1 conexo tal que todos sus vértices son de grado par. Por lo tanto, G1 tiene un circuito Euleriano C; cuando eliminamos la arista {a, b} de C, obtenemos un recorrido Euleriano para G. (Así, el recorrido Euleriano comienza en uno de los vértices de grado impar y termina en otro vértice de grado impar).

49 Si regresamos ahora al problema de los siete puentes de Königsberg.
Nos damos cuenta que el grafo es un multigrafo conexo, pero tiene cuatro vértices de grado impar. En consecuencia, no tiene ni un recorrido Euleriano ni un circuito Euleriano.

50 Definición Sea G = (V, E) un grafo o multigrafo dirigido
Definición Sea G = (V, E) un grafo o multigrafo dirigido. Para cualquier v V, El grado de entrada de v es el número de aristas de G que llegan a v y se denota con ge(v). El grado de salida de v es el número de aritas de G que parten de v y se denota con gs(v). Si el grafo o multigrafo dirigido tiene uno o más lazos, cada lazo de un vértice dado v contribuye con una unidad a ge(v) y a gs(v). Teorema Sea G = (V, E) un grafo o multigrafo dirigido sin vértices aislados. El grafo G tiene un circuito Euleriano dirigido si y sólo si G es conexo y ge(v)=gs(v) para todo vV .

51 Grafos Planos

52 En un mapa de carreteras, las líneas que indican las carreteras y autopistas se intersecan por lo general solamente en puntos de confluencia o en poblaciones. Pero hay ocasiones en que las carreteras parecen intersecarse cuando una se localiza sobre otra, en este caso, las carreteras están en diferentes niveles o planos. Definición Un grafo (o multigrafo) G es plano si podemos dibujar G en el plano de modo que sus aristas se intersequen sólo en los vértices de G. Este dibujo de G se conoce como una inmersión de G en el plano.

53 EJEMPLO Los grafos de la figura son planos
EJEMPLO Los grafos de la figura son planos. El primero es un grafo 3-regular, ya que cada vértice tiene grado 3 ; es plano pues ningún par de aristas se intersecan, excepto en los vértices. El grafo b) parece un grafo no plano; las aristas {x, z} y {w, y} se cruzan en un punto distinto de un vértice. Sin embargo, podemos trazar nuevamente este grafo, como se muestra en la parte c) de la figura. En consecuencia K4 es plano.

54 EJEMPLO Al igual que K4, también K1, K2 y K3 son planos.
En la figura se muestra un intento de representar K5 en el plano.

55 Definición Un grafo G = (V, E) es bipartito si V = V1  V2 , V1  V2 =  y cada arista de G es de la forma {a, b} con a  V1 y b  V2. Si cada vértice de V1 está unido con los vértices de V2, se tiene un grafo bipartito completo. En este caso, si V1 =m, V2 =n, el grafo se denota con Km,n. El grafo a) satisface la definición con V1={a, b} y V2={c, d, e}. Si se añaden las aristas {b, d} y {b, c}, el resultado es el grafo bipartito completo K2,3, que es plano.

56 El grafo b) de la figura es K3,3
El grafo b) de la figura es K3,3. Sea V1 ={h1, h2, h3} y V2 ={u1, u2, u3}; interpretamos V1 como un conjunto de casa y V2 como un conjunto de servicios. Entonces K3,3 es el grafo de servicios. ¿Podemos unir las casa con los servicios, evitando que haya superposición de las líneas de servicio?. En la figura parece que esto no es posible y que K3,3 no es plano.

57 Definición Sea G = (V, E) un grafo no dirigido sin lazos, tal que E  . Una subdivisión elemental de G resulta cuando eliminamos una arista e ={u, w} de G y entonces las aristas {u, v}, {v, w} se añaden a G – e, donde vV. Los grafos no dirigidos sin lazos G1=(V1, E1) y G2=(V2, E2) son homeomorfos si son isomorfos o si ambos pueden obtenerse del mismo grafo no dirigido sin lazos H por una sucesión de subdivisiones elementales.

58 Consideremos los grafos G, G1, G2 y G3 de la figura
Consideremos los grafos G, G1, G2 y G3 de la figura. En este caso G1 se obtiene de G por medio de una subdivisión elemental: se elimina la arista {a, b} de G y se añaden las aristas {a, w} y {w, b}. El grafo G2 se obtiene de G mediante dos subdivisiones elementales. Por lo tanto G1 y G2 son homeomorfos. Así mismo, G3 puede obtenerse de G con cuatro subdivisiones elementales, por lo que G3 es homeomorfo a G1 y G2.

59 Sin embargo G1 no puede obtenerse de G2 (o G2 de G1) por una sucesión de subdivisiones elementales. Además, el grafo G3 puede obtenerse de G1 o G2 por una sucesión de subdivisiones elementales: tres para G1 y dos para G2. Pero ni G1 ni G2 pueden obtenerse de G3 por una sucesión de subdivisiones elementales.

60 Podría pensarse que los grafos homeomorfos son isomorfos excepto, posiblemente, por los vértices de grado 2. En particular, si dos grafos son homeomorfos, son simultáneamente plano (o no planos). Teorema (de Kuratowski) Un grafo no es plano si y sólo si contiene un subgrafo que es homeomorfo a K5 o K3,3. Demostración Si un grafo G tiene un subgrafo homeomorfo a K5 o K3,3, está claro que G no es plano. Sin embargo, el reciproco de este teorema es más difícil de demostrar.

61 EJEMPLO La figura es un grafo conocido llamado grafo de Petersen
EJEMPLO La figura es un grafo conocido llamado grafo de Petersen. La parte b) de la figura proporciona un subgrafo del grafo Petersen que es homeomorfo a K3,3

62 La figura muestra cómo se obtiene el subgrafo de K3,3 por una sucesión de cuatro subdivisiones elementales. Por lo tanto, el grafo de Petersen no es plano.

63 Cuando un grafo o multigrafo es plano y conexo obtenemos la siguiente relación descubierta por Euler, para la cual necesitamos contar el número de regiones determinadas por un grafo o multigrafo conexo plano, el número (de estas regiones) se define sólo cuando se tiene una inmersión plana del grafo. Por ejemplo, la inmersión plana de K4 en la parte a) de la figura demuestra cómo esta representación de K4 determina 4 regiones en el plano: 3 de área finita, R1, R2 y R3, y la región infinita R4 . Cuando observamos la figura b) podría pensarse que K4 determina 5 regiones, pero esta representación no es una inmersión plana de K4. Así, el resultado de la figura a) es el único que nos interesa.

64 Teorema Sea G = (V, E) un grafo o multigrafo plano conexo con y
Teorema Sea G = (V, E) un grafo o multigrafo plano conexo con y Sea r el número de regiones en el plano determinadas por una inmersión (o representación) plana de G; una de estas regiones tiene un área infinita y se conoce como región infinita. Entonces v – e + r = 2. Demostración La demostración se hace por inducción sobre e. Si e = 0 o 1, entonces G es isomorfo a uno de los grafos de la figura. El grafo de la parte a) tiene v = 1, e = 0 y r = 1; entonces v – e + r = 2. Para el grafo b), v = 1, e = 1 y r = 2. El grafo c) tiene v = 2, e = 1 y r = 1. En ambos casos, v – e + r =2.

65 Demostración (Continuación...)
Ahora sea kN y supongamos que el resultado es verdadero para cualquier grafo o multigrafo plano conexo con e aristas, donde 0  e  k. Si G = (V, E) es un grafo o multigrafo plano conexo con v vértices, r regiones y e = k+1 aristas, sean a, bV con {a, b}  E. Considere el subgrafo H de G obtenido al eliminar la arista {a, b} de G (Si G es un multigrafo y {a, b} es una de un conjunto de aristas entre a y b, entonces la eliminamos sólo una vez). En consecuencia, se puede escribir H = G – {a, b} o G = H + {a, b}. Consideremos los dos casos siguientes, que dependen de si H es conexo o disconexo.

66 Demostración (Continuación...)
Caso1: Los resultados de las partes a), b), c) y d) de la figura muestran cómo un grafo G puede obtenerse de un grafo conexo H cuando se dibuja el lazo (nuevo) {a, a} como en las partes a) y b) o cuando la arista (nueva) {a, b} une dos vértices distintos en H como en las partes c) y d). En todas estas situaciones, H tiene v vértices, k aristas y r – 1 regiones, ya que una de las regiones de H se divide en dos regiones para G. La hipótesis de inducción aplicada al grafo H indica que v – k + (r – 1) = 2 y de esto se sigue que 2 = v – (k + 1) + r = v – e + r. Así, en este caso el teorema de Euler es cierto para G.

67 Demostración (Continuación...)
Caso2: Ahora consideremos el caso en que G – {a, b} = H es un grafo disconexo como se muestra en la figura e) y f). En este caso, H tiene v vértices, k aristas y r regiones. Así mismo, H tiene dos componentes H1 y H2, donde Hi tiene vi vértices, ei aristas y ri regiones, para i = 1, 2. Además, v1 + v2 = v, e1 + e2 = k (= e – 1) y r1 + r2 = r + 1 ya que H1 y H2 determinan, cada uno, una región infinita. Cuando se aplica la hipótesis de inducción a H1y H2 vemos que v1 – e1 + r1=2 y v2 – e2 + r2=2.En consecuencia, (v1 + v2) – (e1 + e2) + (r1 + r2) = v – (e – 1) + (r + 1) = 4, y de esto se sigue que v – e + r = 2, y así establecemos el teorema de Euler para G.

68 Para cualquier región R en una inmersión plana de un grafo o multigrafo, el grado de R, que se denota con grad(R), es el número de aristas recorridas en un camino cerrado (el más corto) por (las aristas de) la frontera de R. Si G = (V, E) es el grafo de la figura, entonces esta inmersión plana de G tiene cuatro regiones donde: grad(R1) = 5, grad(R2) =3, grad(R3) =3, grad(R4) =7. En este caso grad(R4)=7, como lo determina el camino cerrado abghgfda.

69 La figura muestra una segunda inmersión plana de G, otra vez con cuatro regiones, y en este caso grad(R5) = 4, grad(R6) = 3, grad(R7) = 5, grad(R8) = 6. El camino cerrado bghgfb da grad(R7)=5. Se ve que Esto es cierto en general ya que cada arista de la inmersión plana es parte de la frontera de dos regiones

70 Corolario Sea G = (V, E) un grafo plano conexo sin lazos con , y r regiones.
Entonces 3r  2e y e3v – 6. Demostración Como G no tiene lazos ni es un multigrafo, la frontera de cada región (incluyendo la región infinita) contiene al menos tres aristas, por lo tanto cada región tiene grado  3. En consecuencia, 2e= = la suma de los grados de las r regiones determinadas por G y 2e  3r. Del teorema de Euler, 2 = v – e + r  v – e + (2/3)e = v – (1/3)e, por lo que 6  3v – e o e  3v – 6.

71 Consideremos ahora lo que este corolario implica y lo que no implica
Consideremos ahora lo que este corolario implica y lo que no implica. Si G =(V, E) es un grafo conexo sin lazos con |E|2, entonces si e3v – 6, se sigue que G no es plano. Sin embargo, si e  3v – 6, no se puede concluir que G sea plano. EJEMPLO El grafo K5 no tiene lazos y es conexo con 10 aristas y cinco vértices. En consecuencia, 3v–6 = 15–6 = 9  10 = e. Por lo tanto, por el corolario vemos que K5 no es plano.

72 EJEMPLO El grafo K3,3 no tiene lazos y es conexo con nueve aristas y seis vértices. En este caso, 3v – 6 = 18 – 6 = 12  9 = e. Sería un error concluir a partir de esto que K3,3 es plano; cometeríamos el error de estar argumentando al revés. Sin embargo, K3,3 no es plano. Si K3,3 fuera plano, entonces como cada región del grafo está limitada por al menos cuatro aristas, tendríamos 4r  2e. Del teorema de Euler tenemos, v – e + r = 2 o r =e – v + 2 = 9 – = 5, y 20 = 4r  2e =18. De esta contradicción se tiene que K3,3, no es plano.

73 Caminos y ciclos Hamiltonianos

74 En 1859, el matemático irlandés Sir William Rowan Hamilton ( ) desarolló un juego que vendió a un fabricante de juguetes de Dublín. El juego era un dodecaedro regular de madera con 20 esquinas (vértices) en las que aparecían inscritos los nombres de las ciudades más importantes. El objetivo del juego era encontrar un ciclo alrededor de las aristas del sólido, de modo que cada ciudad estuviera en el ciclo (exactamente) una vez.

75 Definición Si G = (V, E) es un grafo o multigrafo tal que |V| 3, decimos que G tiene un ciclo Hamiltoniano si existe un ciclo en G que contenga cada vértice de V. Un camino Hamiltoniano es un camino simple (y no un ciclo) de G que contiene todos los vértices. Dado un grafo con un ciclo hamiltoniano, la eliminación de cualquier arista en el ciclo produce un camino hamiltoniano. Sin embargo, es posible que un grafo tenga un camino hamiltoniano sin que tenga un ciclo hamiltoniano.

76 Podría parecer que la existencia de un ciclo (camino) Hamiltoniano y la existencia de un circuito (recorrido) Euleriano para un grafo son problemas similares. El ciclo (camino) Hamiltoniano tiene como objetivo pasar por cada vértice de un grafo una sola vez; el circuito (recorrido) recorre el grafo pasando por cada arista exactamente una vez. Por desgracia, no existe una relación útil entre las dos ideas y, a diferencia de los circuitos (recorridos) Eulerianos, no existen condiciones necesarias y suficientes en un grafo G que garanticen la existencia de un ciclo (camino) Hamiltoniano.

77 EJEMPLO Si G es el grafo de la figura, las aristas {a,b}, {b,c}, {c,f}, {f,e}, {e,d}, {d,g}, {g,h}, {h,i} forman un camino hamiltoniano para G. Pero ¿tiene G un ciclo Hamiltoniano?. Como G tiene nueve vértices, si existe un ciclo Hamiltoniano en G, éste debe contener nueve aristas. Comencemos en un vértice b y tratemos de construir un ciclo Hamiltoniano. Con las aristas {c, f} y {f, i} en el ciclo, no podemos tener la arista {e, f} en el ciclo. Una vez en e, ya no podemos continuar. Por lo tanto, este grafo no tiene un ciclo Hamiltoniano.

78 Sugerencias útiles para tratar de encontrar un ciclo Hamiltoniano en un grafo G = (V, E).
1) Si G tiene un ciclo Hamiltoniano, entonces para vV, grad(v)  2. 2) Si aV y grad(a) = 2, entonces las dos aristas incidentes con el vértice a deben aparecer en cualquier ciclo Hamiltoniano de G. 3) Si aV y grad(a)  2, cuando tratamos de construir un ciclo Hamiltoniano, una vez que hemos pasado por el vértice a, dejamos de tener en cuenta las aristas no utilizadas incidentes con a. 4) Al construir un ciclo Hamiltoniano para G, no podemos obtener un ciclo para un subgrafo de G a menos que contenga todos los vértices de G.

79 EJEMPLO En la figura tenemos un grafo conexo G y queremos saber si G contiene un camino Hamiltoniano. La parte b) de la figura proporciona el mismo grafo con un conjunto de etiquetas x, y. Ahora, como , si G tuviera un ciclo Hamiltoniano debería haber una sucesión alternativa de 5 letras x y 5 letras y. Solamente tenemos 4 vértices etiquetados con x. De ahí que G no tenga un camino (o ciclo) Hamiltoniano.

80 ¿Porqué funciona este argumento
¿Porqué funciona este argumento? En la figura se ha vuelto a dibujar el mismo grafo y vemos que es bipartito. Un grafo bipartito no puede tener un ciclo de longitud impar. También es cierto que si el grafo no tiene un ciclo simple de longitud impar, entonces es bipartito. En consecuencia cuando un grafo conexo no tiene ciclo de longitud impar (y es bipartito), el método descrito anteriormente puede ser útil para determinar si el grafo no tiene un camino Hamiltoniano.

81 EJEMPLO En el campamento que el profesor Alfredo ha organizado con su grupo de antropología, 17 estudiantes comen juntos en una mesa circular. Como intentan conocerse mejor, tratan cada tarde de sentarse con dos compañeros distintos. ¿Durante cuántas tardes pueden hacer esto? ¿Cómo pueden hacerlo?. Para resolver este problema, consideremos el grafo Kn, donde n  3 y n es impar. Este grafo tiene n vértices (uno para cada estudiante) y aristas. Un ciclo Hamiltoniano corresponde a una disposición de lugares. Cada uno de estos ciclos tiene n aristas, por lo que se tiene como máximo ciclos Hamiltonianos sin que dos de ellos tengan una arista en común.

82 Consideremos el círculo de la figura a) y el subgrafo de Kn que consta de n vértices y n aristas {1,2}, {2,3}, ... , {n–1, n}, {n, 1}. Mantenemos los vértices en la circunferencia fijos y rotamos este ciclo Hamiltoniano en el sentido de las manecillas del reloj, hasta el ángulo [1/(n–1)](2). Esto produce el ciclo Hamiltoniano (ver b)) formado por las aristas {1,3}, {3,5},{5,2},{2,7}, ... , { n, n–3},{n–3, n–1}, {n–1, 1}. Este ciclo Hamiltoniano no tiene aristas en común con el primer ciclo.

83 Si n  7 y seguimos rotando de esta manera el ciclo de la figura a), hasta los ángulos [k/(n–1)]( 2), donde 2 k  (n–3)/2 obtenemos un total de (n–1)/2 ciclos Hamiltonianos, sin que haya dos aristas en común. Por lo tanto, los 17 estudiantes que participan en el campamento pueden comer durante [(17-1)/2] = 8 días antes de que tengan que sentarse junto a otro estudiante por segunda vez. Usando la figura a) con n=17, podemos obtener ocho de estas posibles disposiciones.

84 El n-cubo ( hipercubo) La computadora tradicional llamada en serie, se ejecuta una instrucción a la vez . Los algoritmos que también ejecutan una instrucción a la vez son llamados algoritmos en serie.

85 En los últimos años, al disminuir el costo del hardware, se han construido “Computadoras Paralelas “con muchos procesadores, los cuales pueden ejecutar varias instrucciones a la vez Frecuentemente, se utilizan a los grafos para ilustrar la topografía de estas maquinas paralelas .Los algoritmos asociados con estos equipos son algoritmos paralelos .Muchos problemas se pueden resolver mas rápidamente en computadoras paralelas que en computadoras seriales, aunque no todos los problemas. Una maquina paralela muy utilizada actualmente es conocida como el n-cubo o hipercubo .El n-cubo tiene 2ⁿ procesadores, n > o = 1, cada procesador se representa mediante un nodo.

86 Cada procesador tiene su propia memoria local
Cada procesador tiene su propia memoria local .Una arista conecta dos vértices si la representación binaria de sus etiquetas difieren en exactamente un bit . Durante una unidad de tiempo, todos los procesadores de el n-cubo pueden ejecutar una instrucción de manera simultánea y luego comunicarse con el procesador adyacente.

87 1-cubo 2 procesadores 0,1 2-cubo 4 procesadores 00,01,10,11

88 3-cubo 000 001 8 procesadores 000,001,010,011,100,101,110,111 011 010 110 100 111 101

89 4-cubo 16 procesadores

90 Ejemplo de 16 procesadores

91 Una grafica se llama plana si puede dibujarse en un plano sin que haya cruce en sus aristas

92 Una grafica completa de n-vértices denotada por kn , es un grafica con n vértices donde cada nodo se conecta con todos los otros nodos del grafo K2 2 1 K3 1 NOTA : K5 no es plano 2 3 K5 1 K4 1 2 2 3 3 4 4 5

93 RECORRIDO A LO PROFUNDO DE UN GRAFO
Es un procedimiento para visitar cada nodo y cada arista de un grafo G=(V,E), de forma ordenada y sin repetir elementos visitados .El siguiente algoritmo realiza esta búsqueda a lo profundo int. dfinic ( ) { /* Asignar color blanco (inicial) a los nodos */ for i =1 to |v| color [i]:=’blanco’ /*visitar en orden los nodos*/ for i=1 to |v| if (color[i]==‘blanco’)dfs(i) else continue; return }

94 /*función que visita en profundidad al grafo*/
int dfs(v) { color [v]:=gris; /*procedimiento en preorden del vértice v*/ Remad;:=Adyacentes (v) While (remadj<>Nil) W:=first (remadj); if (color [w]==‘blanco’)dfs (w); else /*encontró arista de retroceso*/ remadj =resto (remadj); } /*Proceso en post-orden de v color [v]:=Negro; return

95 Aplicar la búsqueda a lo profundo
g d c h a= {b,d} c= {b,d,e} retroceso f b= {d} f= {g} cruce b a g i c retroceso g= {h,i} d e h cruce cruce

96 retroceso cruce 8 1 retroceso Ret roceso 5 6 9 retroceso 2 cruce 10 cruce 7 4 3 cruce

97 BOSQUE ABARCADOR EN PROFUNDIDAD PARA GRAFOS DIRIGIDOS
Durante un recorrido en profundidad se tienen diferentes clases de aristas .Los arcos que nos llevan a vértices sin visitar se llaman ARCOS DE ÁRBOL y forman un bosque abarcador en profundidad del grafo de entrada .Los arcos de árbol deben formar un bosque abarcador en profundidad del grafo de entrada .Los arcos de árbol deben formar realmente un bosque. Un ARCO DE RETROCESO va de un nodo a uno de sus antecedentes en el bosque abarcador .Observe que un arco que va de un vértice hacia si mismo es un arco de retroceso Un arco que no es parte del bosque abarcador que va de un vértice a un descendiente propio se llama ARCO DE AVANCE Los arcos que van de un vértice a otro que no es antecesor ni descendiente, se conoce como ARCOS CRUZADOS

98 Árboles abarcadores BOSQUE ABARCADOR f 6 1 c 4 a g 7 d b 3 e 2 5 8 9 h
i Tree 1 tree2 tree3 F B A E C G D

99 #0 A retroceso ARBOL retroceso #1 A B B #3 #2 C D C D cruce tree1 cruce #4 E cruce E F G F G #6 #5 tree2

100 Suponga que se numeran los vértices de un grafo dirigido de acuerdo con el orden en que se marcaron los nodos visitados durante la búsqueda en profundidad .Esto es ,se puede asignar un arreglo que contabiliza los nodos. Color [v]:=’grey’ Numero [v]:=cont; /*líneas de adicionar */ Cont:=cont+1; Estas dos líneas nos permiten numerar los nodos del grafo en profundidad .Así la búsqueda en profundidad asigna a todos los descendientes de nodo v, números mayores al asignado a v. De hecho un descendiente de v si y solo si numero (v)<=numero (w). Los arcos de avance irán de los vértices de baja numeración a los de alta numeración y los arcos de retroceso van de los vértices de alta numeración a los de baja numeración Todos los arcos cruzados van de vértices de alta numeración a los de baja numeración

101 RECORRIDOS EN UN GRAFO En una gran cantidad de problemas con grafos, es necesario visitar sistemáticamente los vértices y aristas del grafo .La búsqueda en PROFUNDIDAD Y EN AMPLITUD, son dos técnicas importantes de recorrido del grafo. Analicemos ahora el recorrido en Amplitud se basa en a partir del nodo actual visitar a todos sus nodos adyacentes en forma tan amplia como sea posible.

102 Al igual que en la búsqueda en profundidad, la búsqueda en amplitud construye un árbol abarcador del grafo de entrada .La gran diferencia en el orden de visitar los nodos entre la búsqueda a lo profundo y búsqueda en amplitud, consiste en la estructura utilizada para guardar los nodos a visitar; en la búsqueda a lo profundo se utiliza una pila o stack de procedimiento recursivo mientras que en la búsqueda en amplitud se utiliza una cola para guardar tales nodos a visitar. Los árboles abarcadores generados son diferentes por cada recorrido. En el caso de la búsqueda a lo profundo se trata de construir un árbol con la mayor altura, dando control de la búsqueda al nodo hijo que no había sido visitado .Mientras que un árbol generado por la búsqueda a lo ancho es un árbol frondoso, dando preferencia a la vista de todos los nodos adyacentes no visitados que son guardados en una estructura cola, para dar posteriormente control de la búsqueda al primer nodo de la cola.

103 Ejemplo :Recorrer el grafo G en profundidad y en amplitud ,generando sus árboles abarcadores
1 4 7 5 2 3 6 9 8 10

104 RECORRIDO A LO PROFUNDO
cruce 5 1 8 2 3 cruce avance cruce cruce cruce 9 4 cruce 10 6 7 cruce

105 Recorrido a lo ancho 8 1 9 10 4 cruce 6 7 Expansión a lo ancho

106 Ejemplo 2 1 4 7 5 2 3 6 9 8 10

107 Recorrido a la profundo
1 retroceso 8 4 avance avance 9 6 cruce retroceso 10 5 retroceso 3 7 2

108 Recorrido a lo ancho 4 6 7 5 3 2 9 10 COLA retroceso 1 4 8 6 7
cruce 9 10 retroceso cruce 3 cruce 2


Descargar ppt "Teoría de Grafos."

Presentaciones similares


Anuncios Google