You are on page 1of 108

Teoría de Grafos

Definiciones y conceptos

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Complementos e Isomorfismos de Grafos .Subgrafos.

E1) es un subgrafo de G si   V1 V y E1  E. . entonces G1 = (V1. donde cada arista de E1 es incidente con los vértices de V1.¿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).

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

. entonces G1 es un subgrafo recubridor de G. Si V1 = V. E).Definición Dado un grafo (dirigido o no) G = (V. E1) un subgrafo 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). sea G1=(V1.

Si U  V.Definición Sea G = (V. 2) {x. E) es un subgrafo inducido si existe   U  V tal que G’ = U. y U. y). Un subgrafo G’ de un grafo G = (V. para x. si G es dirigido o. y} para x. y U. . si G no es dirigido Denotaremos a este subgrafo como U. E) un grafo (dirigido o no). 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.

. 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}.Para los subgrafos de la figura.

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

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

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}.

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.

Definición Sea G un grafo no dirigido sin lazos con n
vértices. El complementario de G, ( 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, G 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.

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

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

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

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

no se ve de inmediato si estos grafos sean isomorfos. cada uno con diez vértices.Tenemos dos grafos. 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 .

Grados de un vértice recorridos y circuitos Eulerianos .

el grado de . En este caso. es el número de aristas en G que son incidentes con . Ahora veremos que esta idea puede todavía ayudarnos más. un lazo en un vértice  se considera como dos aristas incidentes en . . que se denota grad(). Definición Sea G un grafo o multigrafo no dirigido.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. Para cualquier vértice  de G.

EJEMPLO Para el grafo de la figura. se le llama vértice colgante. Como h tiene grado 1. 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.

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

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

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

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. .

.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.

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

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. 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.Definición Sea G = (V. El problema de los siete puentes quedará resuelto si caracterizamos los grafos que tienen un circuito Euleriano.

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

entonces G debe ser como los grafos de la figura. Ahora procederemos por inducción y supondremos que el resultado es valido para todas las situaciones con menos de n aristas. . Los circuitos Eulerianos son inmediatos en estos casos. 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 .Demostración Recíprocamente.

seleccionamos un vértice c en G como punto inicial para construir un circuito Euleriano. hemos terminado. eliminamos las aristas del circuito de G. pero puede no ser conexo. asegurándonos de eliminar cualquier vértice que haya quedado aislado. (Verifique esto examinando el recorrido más largo en G que comienza en c).) Si G tiene n aristas. Si no. 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. podemos construir al menos un circuito C que contenga a c. podemos continuar este proceso hasta construir un circuito Euleriano para G. El subgrafo restante K tiene todos los vértices de grado par. cada componente de K es conexa y tendrá un circuito Euleriano. . Además. Sin embargo. Como el grafo G es finito. En consecuencia.. 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.. Si el circuito contiene todas las aristas de G. cada uno de estos circuitos Eulerianos tiene un vértice que está en C. Como el grafo G es conexo y cada vértice tiene grado par.Demostración (Continuación.

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

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

Definición Sea G = (V. 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 . E) un grafo o multigrafo dirigido sin vértices aislados. El grado de entrada de v es el número de aristas de G que llegan a v y se denota con ge(v). Si el grafo o multigrafo dirigido tiene uno o más lazos. . E) un grafo o multigrafo dirigido. El grado de salida de v es el número de aritas de G que parten de v y se denota con gs(v). cada lazo de un vértice dado v contribuye con una unidad a ge(v) y a gs(v). Para cualquier v V. Teorema Sea G = (V.

Grafos 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. Pero hay ocasiones en que las carreteras parecen intersecarse cuando una se localiza sobre otra. las líneas que indican las carreteras y autopistas se intersecan por lo general solamente en puntos de confluencia o en poblaciones.En un mapa de carreteras. . las carreteras están en diferentes niveles o planos. en este caso.

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

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

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

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

w} de G y entonces las aristas {u. Una subdivisión elemental de G resulta cuando eliminamos una arista e ={u. Los grafos no dirigidos sin lazos G1=(V1. . w} se añaden a G – e. 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. E1) y G2=(V2.Definición Sea G = (V. {v. donde vV. v}. tal que E  . E) un grafo no dirigido sin lazos.

b}. w} y {w. Por lo tanto G1 y G2 son homeomorfos. . b} de G y se añaden las aristas {a. por lo que G3 es homeomorfo a G1 y G2. Así mismo. 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.Consideremos los grafos G. G3 puede obtenerse de G con cuatro subdivisiones elementales. El grafo G2 se obtiene de G mediante dos subdivisiones elementales. G1.

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

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

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

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

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.Cuando un grafo o multigrafo es plano y conexo obtenemos la siguiente relación descubierta por Euler. Así. y la región infinita R4 . . pero esta representación no es una inmersión plana de K4. el número (de estas regiones) se define sólo cuando se tiene una inmersión plana del grafo. Cuando observamos la figura b) podría pensarse que K4 determina 5 regiones. el resultado de la figura a) es el único que nos interesa. R1. Por ejemplo. para la cual necesitamos contar el número de regiones determinadas por un grafo o multigrafo conexo plano. R2 y R3.

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

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

Demostración (Continuación.) Caso1: Los resultados de las partes 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). . Así. ya que una de las regiones de H se divide en dos regiones para G. En todas estas situaciones.. 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. H tiene v vértices. k aristas y r – 1 regiones. 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. b). en este caso el teorema de Euler es cierto para G..

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

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

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

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

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

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

Caminos y ciclos Hamiltonianos .

de modo que cada ciudad estuviera en el ciclo (exactamente) una vez. . 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.En 1859. El objetivo del juego era encontrar un ciclo alrededor de las aristas del sólido. el matemático irlandés Sir William Rowan Hamilton (1805-1865) desarolló un juego que vendió a un fabricante de juguetes de Dublín.

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

el circuito (recorrido) recorre el grafo pasando por cada arista exactamente una vez.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. Por desgracia. El ciclo (camino) Hamiltoniano tiene como objetivo pasar por cada vértice de un grafo una sola vez. . no existen condiciones necesarias y suficientes en un grafo G que garanticen la existencia de un ciclo (camino) Hamiltoniano. no existe una relación útil entre las dos ideas y. a diferencia de los circuitos (recorridos) Eulerianos.

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

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

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

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

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

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

Usando la figura a) con n=17.Si n  7 y seguimos rotando de esta manera el ciclo de la figura a). podemos obtener ocho de estas posibles disposiciones. hasta los ángulos [k/(n–1)]( 2). 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. sin que haya dos aristas en común. donde 2 k  (n–3)/2 obtenemos un total de (n–1)/2 ciclos Hamiltonianos.

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. .

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

• Cada procesador tiene su propia memoria local . . • 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.Una arista conecta dos vértices si la representación binaria de sus etiquetas difieren en exactamente un bit .

1-cubo 2 procesadores 0.1 2-cubo 4 procesadores 00.01.10.11 .

3-cubo 8 procesadores 000 001 000.010.100. 110.101.011.001.111 010 011 100 110 111 101 .

4-cubo 16 procesadores .

Ejemplo de 16 procesadores .

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

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

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. RECORRIDO A LO PROFUNDO DE UN GRAFO Es un procedimiento para visitar cada nodo y cada arista de un grafo G=(V.E). return } . de forma ordenada y sin repetir elementos visitados .El siguiente algoritmo realiza esta búsqueda a lo profundo int.

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

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

retroceso cruce 8 1 retroceso R e 5 6 t 9 r cruce 2 r e o t 10 cruce c r 7 4 3 e o s c o e cruce s o .

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 .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 .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 . BOSQUE ABARCADOR EN PROFUNDIDAD PARA GRAFOS DIRIGIDOS • Durante un recorrido en profundidad se tienen diferentes clases de aristas .

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

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

se puede asignar un arreglo que contabiliza los nodos. De hecho un descendiente de v si y solo si numero (v)<=numero (w).Esto es . números mayores al asignado a v. /*líneas de adicionar */ • Cont:=cont+1.• 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 . • Color [v]:=’grey’ • Numero [v]:=cont. • 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 .Así la búsqueda en profundidad asigna a todos los descendientes de nodo v. • Estas dos líneas nos permiten numerar los nodos del grafo en profundidad .

.La búsqueda en PROFUNDIDAD Y EN AMPLITUD. son dos técnicas importantes de recorrido del grafo.RECORRIDOS EN UN GRAFO • En una gran cantidad de problemas con grafos. es necesario visitar sistemáticamente los vértices y aristas 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.

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

Ejemplo :Recorrer el grafo G en profundidad y en amplitud ,generando
sus árboles abarcadores

1 4

7

5 2
3

6

9

8
10

RECORRIDO A LO PROFUNDO
cruce

5 1 8
2 3
cruce cruce a
cruce
v
c
9 a
r
4 n
u
cruce c
c
10 e
e

6 7

cruce

Recorrido a lo ancho

1 8

9 10
4
cruce

6 7

Expansión a lo ancho

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

Recorrido a la profundo 1 r e 8 t 4 r avance avance o 9 6 c cruce e retroceso s 5 10 o retroceso 3 7 2 .

Recorrido a lo ancho COLA retroceso 1 4 6 7 5 3 2 4 6 8 9 10 7 r e cruce 5 9 10 t r retroceso o cruce c 3 cruce e s o 2 .