Beruflich Dokumente
Kultur Dokumente
teora de gr acas
5
5.1. Motivaci on
Una de las actividades m as importantes de todo cientco, y en particular de los de-
dicados a Computaci on es la del modelado. Modelar un problema quiere decir traducirlo
del lenguaje natural a un lenguaje matem atico en el que podamos expresar de manera m as
precisa las caractersticas de lo que estamos modelando, y poder manipularlo tambi en de
manera precisa y v alida.
Hemos estado manejando ya modelos cuando trabajamos con C alculo Proposicional y
con C alculo de Predicados, tratando de modelar estados de la vida real. Pasaremos ahora a
modelar otro tipo de problemas.
Una vez que tenemos un modelo apropiado, podemos usar la computadora para mani-
pularlo. En general, estamos preocupados con tres problemas:
i. Existe una soluci on para el problema? Nos interesa una soluci on que pueda ser
calculada (o encontrada) por una computadora en un tiempo razonable.
ii. Existe una soluci on optima para el problema? Esto es, podemos calcular una solu-
ci on que sea mejor que cualquier otra soluci on dada para ese problema.
iii. Por ultimo, Cu antas soluciones distintas existen para el problema dado?
Veamos algunos ejemplos.
202 Conceptos de teora de gr acas
Existencia de soluci on: Cuatro parejas casadas juegan tenis de dobles mixtos en dos can-
chas cada domingo en la noche. Juegan durante dos horas, pero intercambian parejas
y oponentes al nal de cada perodo de media hora. Existe una programaci on de
tal manera que cada hombre juegue con y contra cada mujer exactamente una vez, y
juega contra cada hombre al menos una vez?
Contar el n umero de soluciones: Un grupo de inversionistas decide rotar los puestos de
presidente y tesorero cada a no. Cu antos a nos van a transcurrir antes de que tenga
que repetir alguno de los socios en alguna de las dos posiciones?
Optimizaci on: Un empresario tiene tres empleados, Patty, Enrique y Roque, a quienes les
paga $60, $70 y $80 pesos la hora respectivamente. El empresario tiene tres trabajos
por asignar. La siguiente tabla muestra cu anto tiempo requiere cada trabajador para
hacer cada uno de los trabajos. Cu al es la manera de asignar el trabajo para que
salga tan barato como sea posible?
Patty Enrique Roque
Trabajo 1 7.5 hr. 6 hr. 6.5 hr
Trabajo 2 8 hr. 8.5 hr. 7 hr.
Trabajo 3 5 hr. 6.5 hr. 5.5 hr.
Estos tres problemas, de alguna manera, tienen que ver con combinatoria, las distintas
maneras que se tienen de resolver el problema y c omo elegir la mejor de ellas. La soluci on
para muchos de estos problemas est a dada por algoritmos. Un algoritmo es un m etodo de
soluci on que cumple con:
Entradas: El algoritmo trabaja a partir de cero o m as datos. Cuando son cero datos, es
porque trabaja a partir de constantes. Por ejemplo, tenemos un algoritmo que elabora
una tabla de senos, y empieza a producir valores empezando con un valor constante.
Salidas: El algoritmo produce un resultado.
Finitud: El n umero de pasos del algoritmo es nito.
Denici on: Cada paso est a bien denido y susceptible de ser ejecutado por un hombre con
papel y l apiz.
Terminaci on: El algoritmo siempre debe terminar.
No para todos los problemas hay algoritmos que los resuelvan. M as adelante, en su con-
tacto con las ciencias de la computaci on estudiar an que hay m as problemas que algoritmos,
por lo que algunos problemas se tendr an que quedar sin soluci on algortmica.
En este captulo nos haremos las tres preguntas que acabamos de plantear, revisando
aquellos problemas que se pueden modelar con gr acas, donde una gr aca es un modelo
matem atico.
5.1 Motivaci on 203
5.1.1. Tiempo para completar un proyecto
El problema:
La Sociedad Mexicana de Ciencias de la Computaci on est a organizando un Encuentro
para llevarse a cabo a principios del mes de marzo, y tiene que mandar propaganda (un
folleto de 8 p aginas) para avisar del evento. Esta propaganda debe ser enviada al menos 10
das antes de la fecha del evento para que sea efectivo, pero se deben hacer varias tareas
y tomar algunas decisiones antes de elaborar el folleto. El comit e organizador del evento
debe decidir que temas se van a tratar en el encuentro, y el comit e acad emico debe decidir a
quienes invitar para que sean arbitros de los trabajos. Entonces un comit e local debe decidir
a qui en invitar para conferencias magistrales sobre los temas decididos.
El comit e organizador debe preparar dibujos alusivos a los temas a tratar, y alguien tiene
que redactar las descripciones cortas de las conferencias magistrales. Finalmente se junta
toda la informaci on y se elabora la propaganda requerida, para que se enve por correo.
El comit e de propaganda elabora una lista de correo de a quienes enviar la propaganda.
Una vez hecho esto se elaboran las etiquetas para los sobres a enviar. Una vez que se
termina de imprimir el folleto, se le pega a cada uno una etiqueta, se organizan por c odigo
postal y se llevan a la ocina de correos.
Todas estas actividades toman un cierto tiempo; algunas de ellas se pueden llevar a cabo
de manera simult anea, pero otras tienen que esperar a que actividades previas se terminen.
La SMCC quiere saber cu al es el tiempo que requiere para preparar el encuentro, para saber
cu al es la fecha m as tarde en la que pueden empezar las distintas tareas.
Para calcular el tiempo total del proyecto necesitamos dos tipos de informaci on: el tiem-
po, en das, que se toma cada actividad, y las actividades que tienen que estar terminadas
para que esta se pueda llevar a cabo. En la tabla 5.1 se encuentra esa informaci on.
Este problema se presta para modelarlo con una gr aca dirigida (o digr aca). Una
digr aca es un conjunto de v ertices o nodos y una relaci on entre ellos, que llamamos los
arcos de la digr aca. Si u y v son nodos de la digr aca, decimos que (u, v) (u v) es un
arco que sale del nodo u y llega al nodo v y que se representa de alguna de las siguientes
formas:
u v
u
v
u v
En nuestro problema particular, el arco (u, v) signica que la actividad u se tiene que
terminar antes de que inicie la actividad v.
En cada v ertice colocaremos el tiempo requerido para que la actividad se lleve a cabo,
adem as del identicador de la actividad. El resultado se puede observar en la gura 5.1.
204 Conceptos de teora de gr acas
Tabla 5.1 Tiempos requeridos y predecesores por actividad
Id. Tarea Tiempo Tareas precedentes
A. Elegir temas. 3 ninguna
B. Elegir arbitros 2 ninguna
C. Elegir conferencias magistrales 2 A y B
D. Dibujos alusivos 4 C
E. Redacci on de res umenes 3 C
F. Elaborar el folleto 2 D, E
G. Elaborar la lista de correo 3 C
H. Imprimir las etiquetas 1 G
I. Imprimir el folleto 5 F
J Pegar las etiquetas 2 H, I
K Repartir la propaganda 10 J
Figura 5.1 Digr aca que corresponde a la organizaci on del encuentro
B
2
A
3
C
2
E
3
G
3
D
4
H
1
F
2
I
2
J
2
K
10
Tratemos de calcular cu al es el mnimo tiempo requerido para ejecutar todas las tareas
y terminar lo antes posible.
Si simplemente tomamos la suma de los tiempos que se requieren para terminar todas
las tareas, obtendremos un tiempo total de 47 das. Sin embargo, muchas de esas tareas se
pueden hacer de manera simult anea. C omo determinar, entonces, cu al es el menor tiempo
en el que todas las tareas pueden ser completadas?
5.1 Motivaci on 205
En 1958 se desarroll o una t ecnica, llamada PERT (Program Evaluation and Review
Technique), que calcula, entre otras cosas, lo que se conoce como ruta crtica. Una ruta
crtica consiste de ordenar en el tiempo los eventos que se tienen que llevar a cabo y encon-
trar una programaci on de dichos eventos, de tal manera que se desarrollen todos ellos en
el menor tiempo posible, respetando las precedencias especicadas. El algoritmo para ruta
crtica es muy sencillo y consiste de lo siguiente.
1. Programar a todas las tareas que no tienen ninguna tarea que las preceda. Esto quiere
decir asignarles como tiempo de programaci on (o terminaci on) igual al tiempo que
se lleva la tarea.
2. Mientras queden tareas por programar:
a) La tarea t se programa si todas las tareas que preceden a t ya est an programadas.
b) Su tiempo de programaci on se calcula como la suma del tiempo que se lleva
la tarea t m as el m aximo tiempo de programaci on de entre las tareas que la
preceden.
3. El tiempo total mnimo que se lleva el proceso es el m aximo asignado a cualquiera
de los nodos.
Si trabajamos sobre la digr aca de la gura 5.1, podemos ver la ejecuci on de cada uno
de los pasos. Colocamos encima del nodo el valor asignado para la programaci on.
El Paso 1 nos indica que localicemos a las tareas que no tienen predecesores, y que son
la tarea A y la B. Procedemos a asignarles como tiempo de programaci on el que corres-
ponde a su tiempo de ejecuci on.
Figura 5.2 Programaci on de los eventos A y B de la digr aca 5.1
B
2
A
3
C
2
E
3
G
3
D
4
H
1
F
2
I
2
J
2
K
10
2
3
Al entrar a la iteraci on del algoritmo, el unico nodo que cumple con las condiciones
dadas es el nodo etiquetado con C, al que le corresponde el valor de 5, que es el m aximo
para programaci on de sus predecesores (3) sumado al tiempo que toma C (2).
206 Conceptos de teora de gr acas
Figura 5.3 Programaci on del evento C de la digr aca
B
2
A
3
C
2
E
3
G
3
D
4
H
1
F
2
I
2
J
2
K
10
2
3
5
Como C es el unico predecesor de G, D y H, estamos en condiciones de resolver el
tiempo requerido, desde el inicio del proyecto, para estas tres tareas:
Figura 5.4 Programaci on de los eventos D, G y E de la digr aca
B
2
A
3
C
2
E
3
G
3
D
4
H
1
F
2
I
2
J
2
K
10
2
3
5
8
9
8
La siguiente capa es la que corresponde a las tareas H y F, cuyos antecesores ya est an
resueltos:
5.1 Motivaci on 207
Figura 5.5 Programaci on de los eventos F y H de la digr aca
B
2
A
3
C
2
E
3
G
3
D
4
H
1
F
2
I
2
J
2
K
10
2
3
5
8
9
8
9
11
A continuaci on resolvemos el evento I, al que le asignamos un valor de 15, y con este
evento, y con el evento H podemos resolver el evento J y a continuaci on el evento K. Los
tiempos quedan asignados como se muestra en la gura 5.6.
Figura 5.6 Programaci on del resto de los eventos de la digr aca
B
2
A
3
C
2
E
3
G
3
D
4
H
1
F
2
I
2
J
2
K
10
2
3
5
8
9
8
9
11 13 15 25
De manera similar podemos obtener el tiempo de inicio de cada proyecto mediante el
siguiente algoritmo:
1. Marcar con 1 a todas las tareas que no tienen otra tarea que las preceda.
2. Se asigna tiempo de inicio a la tarea t si todas las tareas que la preceden tienen ya
tiempo de inicio asignado, usando la siguiente f ormula:
Inicio(t) = m axInicio(p) + Tiempo(p) con p predecesor de t
3. Termina cuando no haya tareas sin tiempo inicial asignado.
208 Conceptos de teora de gr acas
Colocaremos el tiempo inicial antes del tiempo nal, separ andolos con una diagonal,
en la gura 5.7.
Figura 5.7 Tiempos de inicio/n de cada tarea
B
2
A
3
C
2
E
3
G
3
D
4
H
1
F
2
I
2
J
2
K
10
1/2
1/3
4/5
6/8
6/9
6/8
9/9
10/11 12/13 14/15 16/25
A continuaci on queremos obtener aquellas tareas que son crticas para el proyecto, esto
es, que deben iniciar exactamente en cuanto sus predecesores terminan de ac a viene el
nombre de ruta crtica para este problema. Para ello, procedemos de la ultima tarea, la
que le da el tiempo total al proyecto, y regresamos marcando a las tareas que aportaron el
m aximo. Conforme vamos regresando, marcamos los arcos de la digr aca con lnea doble,
para identicar la ruta, y los nodos tambi en con lnea doble. El resultado se puede ver en la
gura 5.8.
Figura 5.8 Una de las rutas crticas del proyecto
A
3
C
2
D
4
F
2
I
2
J
2
K
10
B
2
E
3
G
3
H
1
1/2
1/3
4/5
6/8
6/9
6/8
9/9
10/11 12/13 14/15 16/25
5.1 Motivaci on 209
Otra informaci on que podemos sacar de esta digr aca es aquellas actividades que tienen
tiempo de sobra para empezar sus actividades. Es claro que las actividades que est an
sobre la ruta crtica no pueden perder tiempo y deben empezar exactamente cuando se les
tiene programadas, pues son las que m as tiempo se llevan. Pero aquellas actividades que no
est an en la ruta crtica pudiesen tener alguna holgura en su tiempo de inicio. Por ejemplo,
la actividad B podra no empezar el primer da, sino hacerlo hasta el segundo sin retrasar
el tiempo nal del proyecto. La actividad H, asimismo, pudiera empezar el noveno da o
bien esperarse hasta el da 13, y con eso estar lista en el da 14, que es cuando la actividad
J necesita que la actividad H est e terminada. Este tiempo de holgura lo podemos calcular
como el menor tiempo de inicio de sus sucesores. El c alculo empieza en las tareas que no
tienen sucesores y va hacia atr as. En la gura 5.9 se muestra a continuaci on del tiempo de
inicio, mediante el siguiente algoritmo:
1. Calcula el m aximo tiempo de inicio de las tareas que no tienen sucesores como el
tiempo de inicio qee tienen ya marcado.
2. El m aximo tiempo de inicio de una tarea que tiene sucesores se calcula como:
mInicio(t) = m
uv o, simplemente,
(u, v). En el caso que estemos trabajando con arcos, al subconjunto del producto cartesiano
lo identicamos con A.
Denici on 5.5 Decimos que una gr aca tiene aristas m ultiples si es que hay m as de dos aristas con
los mismos extremos.
Podemos asignar nombres a las aristas o arcos. Dependiendo de las restricciones que
pudiese tener E (o A), las gr acas se clasican de la siguiente manera:
Denici on 5.6 Una gr aca simple es aquella que no tiene aristas m ultiples ni lazos.
Denici on 5.7 Una multigr aca es aquella que permite aristas m ultiples y lazos.
Denici on 5.8 Una gr aca dirigida o digr aca es aquella que se dene como G = (V, A), donde
el subconjunto del producto cartesiano V V corresponde a arcos; en este caso es claro
que (u, v) ,= (v, u).
Los t erminos gr aca simple o multigr aca se pueden aplicar a digr acas, sustituyendo
simplemente a las aristas por arcos. Utilizaremos el t ermino gen erico de gr aca cuando
no distingamos entre gr acas simples o multigr acas; en el mismo sentido utilizaremos
digr acas cuando hablemos de los distintos tipos de gr acas dirigidas.
Solemos representar a las gr acas pintando un punto o crculo peque no por cada v ertice
y una lnea que une a dos de estos para las aristas. Podemos ver distintas representaciones de
gr acas en la gura 5.11. En ella se muestran tres de las posibles variaciones que podemos
darle a la representaci on, que incluyen nombrar o no a las aristas o v ertices de la gr aca y
la manera como elegimos representar a los v ertices.
Figura 5.11 Algunas representaciones con guras (visuales) de gr acas (1/2)
(a)
v
1
v
2
v
3
v
4
v
5
V = v
1
, v
2
, v
3
, v
4
, v
5
,
E =
_
v
1
v
3
, v
1
v
5
, v
1
v
2
,
v
2
v
4
, v
2
v
5
, v
4
v
5
,
v
3
v
5
_
(b)
A
B
C
D
E
V = A, B, C, D, E,
E =
_
AC, AB, AE,
BD, BE, CE, DE
_
5.2 Conceptos y formalizaci on 217
Figura 5.11 Algunas representaciones con guras (visuales) de gr acas (2/2)
(c)
A
B
C
D
E
e
1
e
2
e
3
e
4
e
5
e
6
e
7
V = A, B, C, D, E,
E = e
1
, e
2
, e
3
, e
4
, e
5
, e
6
, e
7
El que la pareja sea no ordenada quiere decir que las parejas uv y vu representan
a la misma arista, pues aparecen los mismos v ertices, no importa en qu e orden. En la
gura 5.11, tenemos a las aristas sin nombre en las gr acas de las guras 5.11(a) y 5.11(b),
mientras que las aristas en la subgura 5.11(c) s tienen nombre (en los tres casos est an
listadas abajo de la gr aca).
Denici on 5.9 Dos v ertices u y v son adyacentes si la arista e = uv E; dicho de otra manera, si
existe una arista en E cuyos extremos son u y v.
En las gr acas de la gura 5.11 los v ertices A y B, por ejemplo, son adyacentes, lo
mismo que los v ertices A y C; y A y E. Los v ertices B y C, en cambio, no son adyacentes
ya que no hay ninguna arista que los conecte.
Denici on 5.10 Una arista e es incidente en un v ertice v si v es uno de los extremos de la arista.
En la gr aca de la gura 5.11(c) la arista e
4
es incidente en los v ertices B y D.
En la gura 5.12 presentamos distintas maneras de dibujar una digr aca. En el caso de
las digr acas los arcos se representan en los dibujos como echas con la direcci on deseada.
La relaci on entre aristas y v ertices est a dada por el grado de un v ertice:
Denici on 5.11 El grado de un v ertice, denotado por grado(v), es el n umero de aristas incidentes
en el v ertice.
En la gr aca de la gura 5.11(c) el grado del v ertice A es 3, que corresponde a las
aristas e
1
, e
2
y e
3
, mientras que el grado del v ertice D es 2 que corresponde a las aristas e
4
y e
7
.
En digr acas hablamos del exgrado(v) e ingrado(v) que corresponde, respectivamente,
al n umero de arcos que salen de v y al n umero de arcos que entran a v.
218 Conceptos de teora de gr acas
Figura 5.12 Representaci on de gr acas dirigidas
(a)
v
1
v
2
v
3
v
4
v
5
V = v
1
, v
2
, v
3
, v
4
, v
5
,
E = v
1
v
4
, v
4
v
5
, v
2
v
1
,
v
4
v
3
, v
3
v
2
, v
3
v
5
(b)
A
B
C
D
E
V = A, B, C, D, E,
E = AD, DE, BA,
DC, CB, CE
(c)
A
B
C
D
E
a
1
a
2
a
3
a
4
a
5
a
6
V = A, B, C, D, E,
A = a
1
, a
2
, a
3
, a
4
, a
5
, a
6
El n umero de aristas de una gr aca est a ntimamente relacionado con el grado de los
v ertices. Esta relaci on se presenta en el teorema 5.1.
Teorema 5.1 En una gr aca, la suma de los grados de los v ertices es igual a dos veces el n umero de
aristas:
vV
grado(v) = 2 [E[
donde [E[ denota al n umero de elementos de E, la cardinalidad de E.
5.2 Conceptos y formalizaci on 219
Demostraci on. Cada arista incide en dos v ertices, por lo que si se cuentan los v ertices en los que inciden
las aristas
_
grados
_
, cada arista ser a contada dos veces.
Otra demostraci on de este teorema, y que utiliza la inducci on estructural que ya vimos
y que es muy com un en teora de gr acas, se plantea como sigue:
(a) Demostramos primero el caso para una gr aca con 1 v ertice y 0 aristas (ver en la
gura 5.13 el caso G = (v, )). El grado de este v ertice es 0; el n umero de aristas
tambi en es 0, por lo que se cumple
0 = 2 [E[ =
vV
grado(v) = 0
Figura 5.13 G = (v, )
v
(b) Observemos una gr aca con n 2 v ertices. Quit emosle un v ertice (con todas las
aristas que inciden en el) ver gura 5.14 .
Figura 5.14 Inducci on estructural en gr acas
La gr aca resultante (encuadrada con lnea punteada) cumple con la hip otesis de
inducci on de que la suma de los grados de los v ertices es dos veces el n umero de
aristas. Repongamos el v ertice que quitamos, junto con sus aristas. Por cada arista
que agregamos, dos v ertices ven incrementado sus grados en una unidad el que
estamos reinsertando y aquel al que llega la arista . Supongamos que el grado del
v ertice reinsertado es k. Entonces tenemos
n
i=1
grado(v
i
) =
_
n1
i=1
grado(v
i
)
_
+ 2 k = 2 ([E[ k) + 2 k = 2 [E[
220 Conceptos de teora de gr acas
Teorema 5.2 En una gr aca cualquiera, existe un n umero par de v ertices de grado impar.
Demostraci on. Por el teorema anterior sabemos que
vV
grado(v) = 2[E[. Separemos esta suma
entre los v ertices de grado par y los de grado impar:
Sea V
p
= v V [grado(v) es par
y V
i
= v V [grado(v) es impar
Entonces
vV
grado(v) =
vVp
grado(v) +
vV
i
grado(v) = 2[E[
La suma total es par; la suma de pares es par (de la primera parte) y, para que el resultado
sea par, la segunda parte tambi en tiene que ser par. Si el n umero de v ertices de grado
impar fuera impar, el resultado sera impar, por lo que el n umero de v ertices de grado
impar tiene que ser par.
Tenemos ciertos tipos de gr acas que tienen una determinada relaci on entre sus v ertices
y sus aristas.
Denici on 5.12 Una gr aca completa con n v ertices, denotada por K
n
, es aqu ella donde cada v erti-
ce es adyacente a cualquier otro v ertice de la misma gr aca.
En la gura 5.15 vemos algunos ejemplos de gr acas completas.
Figura 5.15 Ejemplos de gr acas completas
(a) K
4
v
1
v
2
v
3
v
4
(b) K
6
v
1
v
2
v
3
v
4
v
5
v
6
5.2 Conceptos y formalizaci on 221
Otro tipo de gr acas distinguidas son aquellas que forman una especie de anillo, donde
cada v ertice tiene grado 2 y se puede llegar de cualquier v ertice a cualquier otro simple-
mente recorriendo el anillo. A estas gr acas se les conoce como C
n
, donde la C est a por
ciclo y la n denota el n umero de v ertices. En la gura 5.16 se muestran varias de estas
gr acas.
Figura 5.16 Ejemplos de ciclos
(a) C
3
v
1
v
2
v
3
(b) C
6
v
1
v
2
v
6
v
3
v
5
v
4
(c) C
4
v
1
v
2
v
4
v
3
Las gr acas C
n
presentan tambi en algunas propiedades, como son que el grado de todos
sus v ertices es 2 y que el n umero de aristas en una gr aca C
n
es n.
Cuando denamos lo que es un camino entre dos v ertices regresaremos brevemente a
las gr acas C
n
.
Otro tipo de gr aca que ya vimos y que resulta muy importante para toda una clase de
problemas, la optimizaci on de asignaci on de recursos, son las gr acas bipartitas.
Denici on 5.13 (Gr aca bipartirta) Una gr aca bipartita es aquella en la que podemos partir al
conjunto de los v ertices en dos subconjuntos ajenos, de tal manera que todas las aristas van
de v ertices de un conjunto a v ertices del otro subconjunto (esto es, no hay aristas entre los
v ertices de un mismo subconjunto).
De esta denici on queda claro que no importa c omo se dibuje la gr aca, siempre se pue-
de redibujar de tal manera que tengamos dos hileras de v ertices, una por cada subconjunto.
En la gura 5.17 se muestran varias gr acas bipartitas.
Figura 5.17 Gr acas bipartitas (1/2)
(a)
b
a
e
d
c
g
f
h
a
b f
g
c
d
e
h
222 Conceptos de teora de gr acas
Figura 5.17 Gr acas bipartitas (2/2)
(b)
a
b
c
d
e
b
c
d
e
a
(c)
a
b
c
d
e
f
g
h
a c
d
e f
h
b
g
Tambi en entre las gr acas bipartitas podemos tener gr acas completas y se representan
como K
m,n
, donde la m y la n nos denotan el n umero de v ertices en cada subconjunto. En
el caso de gr acas bipartitas, lo completo se reere a que cada v ertice de un subconjunto es
adyacente a todos los v ertices del otro subconjunto. En la gura 5.18 podemos ver algunas
gr acas bipartitas completas.
Figura 5.18 Gr acas bipartitas completas (1/2)
(a) /
3,2
a
b
c
d
e
(b) /
4,4
a
b
c
d
e f
g
h
5.2 Conceptos y formalizaci on 223
Figura 5.18 Gr acas bipartitas completas (2/2)
(c) /
6,2
a
b
c
d
e
f
g
h
(d) /
2,2
a
b
c
d
a
b
c
d
Denimos tambi en lo que es una subgr aca, concepto que utilizaremos ampliamente
en el resto de este captulo.
Denici on 5.14 (Subgr aca) Sea G = (V, E) una gr aca. Una subgr aca G
= (V
, E
) de G es
una gr aca tal que V V
y E E
= (V, E
E.
La idea con una subgr aca generadora es que est en presentes todos los v ertices de
la gr aca original. En la gura 5.21 podemos ver a una gr aca con dos de sus gr acas
generadoras.
Figura 5.21 Gr aca con subgr acas generadoras
(a)
v
1
v
2
v
3
v
4
v
5
v
6
(b)
v
1
v
2
v
3
v
4
v
5
v
6
(c)
v
1
v
2
v
3
v
4
v
5
v
6
1
En ingl es spanning subgraph.
226 Conceptos de teora de gr acas
Ejercicios
5.2.1.- Dada la siguiente gr aca, especica cu ales son sus conjuntos V y E.
a
b
c
d
e f
g
5.2.2.- Dada la siguiente gr aca, especica cu ales son sus conjuntos V y E.
v
1
v
2
v
3
v
4
v
5
v
6
5.2.3.- Dada la siguiente gr aca dirigida, especica cu ales son sus conjuntos V y A.
A
B
C
D
E
F
G
H
I
5.2 Conceptos y formalizaci on 227
5.2.4.- Dados los siguientes conjuntos, dibuja la gr aca a la que corresponden.
V =
_
v
1
, v
2
, v
3
, v
4
, v
5
, v
6
_
E =
_
v
1
v
2
, v
2
v
4
, v
2
v
5
, v
2
v
3
, v
2
v
6
,
v
4
v
3
, v
6
v
3