Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 5 Grafos y Arboles
Unidad 5 Grafos y Arboles
- Grafos y rboles
GRAFOS.
INTRODUCCIN
El grfico tiene varios sentidos en matemticas. Hemos usado el trmino grfica en el sentido de
una relacin o de una funcin.
En muchas partes de la ciencia de las computadoras y de la informtica aparecen los grafos,
especialmente los grafos de rbol, y los grafos dirigidos. Los diagramas de flujo, por ejemplo, son
grafos dirigidos.
GRAFOS Y MULTIGRADOS.
Un grafo consta de dos cosas:
^
Un conjunto N cuyos elementos se llaman nodos, puntos o vrtices.
^
Un conjunto S de parejas no ordenadas de nodos diferentes, llamadas
segmentos, aristas o arcos.
Denotaremos un grafo por G =(N, S) cuando queremos destacar las dos partes de G.
Los nodos u y v se llaman adyacentes si hay un segmento {u, v}
Representaremos de una manera natural los grafos por diagramas en el plano. O sea, cada nodo v de
N se representa por un punto (o pequeo crculo) y cada segmento s = {v1, v2} se representa por una
curva que conecta sus terminales v1 y v2.
EJEMPLO.
La figura 1.1 representa el G con cuatro vrtices, A, B, C y D, y cinco segmentos s1 = {A, B},
s2 = {B, C}, s3 = {C, D}, s4 = {A, C}, s5 = {B, D}. Usualmente denotamos un grafo dibujando su
diagrama en lugar de hacer una lista explicita de sus nodos y segmentos.
La figura 1.2 no es un grafo sino un multigrafo. La razn es que s4 y s5 son segmentos mltiples, o
sea segmentos que conectan las mismas terminales, y s6 es un lazo, o sea, un segmento cuyas
terminales son el mismo nodo. La definicin de grafo no permite ni segmentos mltiples o
multisegmentos, ni lazos. En otras palabras, podemos definir un grafo como un multigrafo sin
multisegmentos ni lazos.
s6
A
s1
s4
s2
s1
s3
s3
s5
s4
s2
s5
Figura 1.1
Ing. Miguel ngel Durn Jacobo
Figura 1.2
1
Lazo
s1
A
s2
D
s3
Segmento,
arco, arista
s4
B
C
s5
Nodo,
punto,
vrtice
Segmento mltiple o
multisegmento
Figura 1.3
GRADO DE UN NODO
Si v es una terminal de un segmento s, decimos que s es incidente en v. El grado de v, escrito
gr(v), es igual al numero de segmentos que inciden en v. (Un nodo de grado cero, o sea un nodo que
no pertenece a ningn segmento, se llama nodo aislado)
^ Teorema 1.- La suma de los grados de los nodos de un grafo es igual al doble del nmero
de segmentos.
EJEMPLO
Observemos que en la figura 1.1 se tienen por cada vrtice, los grados siguientes:
gr(A) = 2, gr(B) = 3, gr(C) = 3, gr(D) = 2
La suma de los grados es 10, que, como dice el Teorema 1, es el doble de segmentos. Se dice que
un nodo es par o impar segn que su grado sea par o impar. As A y D son nodos pares, mientras
que B y C son nodos impares.
Ahora veamos que en la figura 1.2 se tienen por cada vrtice, los grados siguientes:
gr(A) = 2, gr(B) = 3, gr(C) = 3, gr(D) = 4
Como podremos notar el grado de D no es 2, sino 4, ya que el lazo se cuenta 2 veces para el grado
de su nodo. Y la suma de los grados del nodo es 12, y una vez ms se comprueba el Teorema 1,
donde el grado total corresponde al doble de sus segmentos.
Ing. Miguel ngel Durn Jacobo
VALENCIA
La valencia es la suma de los grados de los nodos.
De la figura 1.1
De la figura 1.2
A
2
B
3
C
3
D
2
Val 10
A
B
C
D
Val
2
3
3
4
12
Tipo de grafos.
Grafos simples:
Se dice que es grafo simple cuando no hay ms de una arista entre un par de nodos (no ms de de una
arista dirigida en el caso de grficas dirigidas).
Ejemplos
Grafos bipartitos:
Se dice que es un grafo bipartito G cuando un conjunto de nodos N se puede particionar en dos
subconjuntos P y Q tales que, cada segmento de G, conecta un nodo de P con un nodo Q.
Ejemplos:
Un grafo bipartito completo, es cuando cada nodo de P est conectado con cada nodo de Q. En los
ejemplos anteriores, todos son grafos bipartitos completos.
Grafos Completos:
Un grafo completo es cuando cada nodo esta conectado con otro nodo. Al grafo completo de n nodos se
le denota K
Ejemplos:
En el caso del grafo a, el cual es un nodo aislado, se dice que es un grafo trivial.
Grafos de similaridad:
Veamos la siguiente grfica:
Aqu se muestran dos grafos (a, b) y (b, a) no son iguales pero son similares ya que en los dos grafos
tienen los mismos vrtices.
Caminos.
Se llama caminos a una secuencia de aristas (V1, V2, V3VN) de la manera que el vrtice
final de cada uno sirve de vrtice inicial al siguiente.
Camino en un grafo es una sucesin de vrtices y arcos.
-
Vrtices interiores son aquellos situados entre los extremos del camino.
Tipos de caminos.
El camino elemental o trayectoria: es un camino que pasa por una serie de vrtices una sola vez. Es
decir, es aquel que no pasa 2 veces por un mismo vrtice, salvo, excepcionalmente, que el vrtice que
se repite sea el inicial y el final.
B
Camino simple o sendero: es un camino que pasa por una serie de aristas una sola vez. Todo
camino elemental es un camino simple, pero la inversa puede no cumplirse.
B
Circuito o ciclos: es un camino cerrado, el vrtice final coincide con el vrtice inicial. Un
camino o un circuito se llaman hamiltoniano si pasa una sola vez por todos los vrtices del grafo, y se
denomina euleriano si pasa una sola vez por todas las aristas del grafo.
Camino cerrado es aquel cuyo vrtice final coincide con el vrtice inicial.
A
B
Por ejemplo:(A, C, D, B, A)
Ciclo es un camino simple, elemental y cerrado, de longitud positiva (n > 0) El ciclo ms elemental es
un bucle (tambin reciben el nombre de lazo o rizo)
a)
b)
c)
d)
a) Una trayectoria de a a f es un camino tal que, ningn nodo y por lo tanto ningn segmento se
repite. En este caso, hay siete de tales trayectorias.
(a, b, c, f)
(a, b, c, e, f)
(a, b, e, f)
(a, b, e, c, f)
(a, d, e, f)
(a, d, e, b, c, f)
(a, d, e, c, f)
b) Un sendero de a a f es un camino tal que no se repite ningn segmento. Observemos que hay
nueve de tales senderos, las siete trayectorias descritas anteriormente en el punto a), y adems
se tienen:
(a, d, e, b, c, e, f)
(a, d, e, c, b, e, f)
d) La distancia entre dos nodos cualesquiera no es mayor que 5, y la distancia mayor entre a y f es
5; por lo tanto el dimetro del grafo es 5.
Ramas paralelas.
Una rama es una trayectoria dirigida continua de un nodo a otro. Tambin reciben el nombre
indistintamente de arcos, aristas o segmentos.
Las ramas paralelas o segmentos mltiples, son aristas que conectan las mismas terminales. Es
decir, que del mismo vrtice parten 2 o ms aristas a otro.
Segmentos mltiples
Segmentos mltiples
Ejemplo:
Para el grafo de la siguiente figura, por ejemplo, tenemos los siguientes tres caminos abiertos.
Podemos enumerar solamente las aristas o solamente los vrtices (si el otro queda determinado
claramente).
1. {a, b}, {b, d}, {d, c}, {c, e}, {e, d}, {d, b}: este es un camino de a-b de longitud 6 en el que se
repite los vrtices d y b, as como la arista {b, d} = {d, b}.
2. b c d e c f: aqu tenemos un camino b-f de longitud 5 donde se repite el vrtice
c, sin que permanezcan las aristas ms de una vez.
3. {f, c}, {c, e}, {e, d}, {d, a}: en este caso el camino f-a tiene una longitud de 4, sin repeticin de
vrtices o aristas.
C
F
vrtice
A
B
C
D
E
D
B
grado
2
2
2
3
1
b) Si G es una grfica conexa y todos los vrtices tienen grado par, entonces existe un circuito de
Euler.
D
C
B
vrtice
A
B
C
D
E
grado
2
2
4
2
2
Trayectoria de Euler:
a) Si una grfica G tiene mas de dos vrtices de grado impar, entonces no puede existir una trayectoria
de Euler en G.
vrtice
A
B
C
D
E
D
E
grado
3
3
3
3
4
b) Si G es conexa y tiene exactamente dos vrtices de grado impar, entonces existe una trayectoria de
Euler en G. Cualquier trayectoria de Euler debe empezar en un vrtice de grado impar y terminar en el
otro.
vrtice
A
B
C
D
grado
2
3
3
2
10
La trayectoria A, D, C, B,
A (puede elegirse cualquier
arista de B a A) es un
circuito Hamiltoniano.
Trayectoria hamiltoniana: Es aquella que contiene cada vrtice solo una vez.
D
C
La trayectoria A, B, C, D, E
es una trayectoria
Hamiltoniana, pues contiene
cada vrtice una sola vez.
11
Ramas paralelas
Se le llaman ramas paralelas a los arcos que parten de un mismo vrtice o nodo y llegan todos los arcos
a un mismo vrtice o nodo.
B
1
En ejemplo anterior se tiene que los arcos (B, C, D) forman ramas paralelas ya que parten de un mismo
nodo y llegan a un mismo nodo.
2
F
E
B
Este ejemplo no puede tener ramas paralelas debido a que los arcos (A, B) no parten de un mismo
nodo.
12
Matriz de adyacencia.
Los grafos se representan en memoria secuencial mediante matrices de adyacencia.
Una matriz de adyacencia, es una matriz de dimensin n n, en donde n es el nmero de vrtices que
almacena valores booleanos, donde matriz M[i, j] es verdadero si y solo si existe un arco que vaya del
vrtice i y al vrtice j.
Veamos el siguiente grafo dirigido:
Matriz de adyacencia.
Grafos dirigidos.
G = (V, A) un grafo dirigido con |V| = n .Se define la matriz de adyacencia o booleana asociada a G
como Bnn con
Como se ve, se asocia cada fila y cada columna a un vrtice y los elementos bi,j de la matriz son 1 si
existe el arco (i,j) y 0 en caso contrario.
13
Grafos no dirigidos.
G=(V,A) un grafo no dirigido con |V|=n .Se define la matriz de adyacencia o booleana asociada a G
como Bnn con:
Si el grafo es etiquetado, entonces tanto bi,j como bi,j representan al coste o valor asociado al arco (i,j) y
se suelen denominar matrices de coste. Si el arco (i,j) no pertenece a A entonces se asigna bi,j o bi,j un
valor que no puede ser utilizado como una etiqueta valida.
Es una representacin orientada hacia grafos que no modifica el nmero de sus vrtices ya que
una matriz no permite que se le o supriman filas o columnas.
Se puede producir un gran derroche de memoria en grafos poco densos (con gran nmero de
vrtices y escaso nmero de arcos).
Para evitar estos inconvenientes se introduce otra representacin: las listas de adyacencia.
14
Para hallar la matriz de adyacencia A del grafo "G", tenemos que tomar en cuenta que los nodos
estn normalmente ordenados de acuerdo con la forma en que aparecen en memoria; o sea,
asumimos que u1 = X, u2 = Y, u3 = Z, y u4 = W, la matriz de adyacencia A de G sera la
siguiente:
3
Ing. Miguel ngel Durn Jacobo
15
Por lo tanto la matriz de caminos P se obtiene ahora haciendo pij = 1 siempre que haya una
entrada positiva en la matriz B4 .
As
La matriz de caminos muestra que no hay camino de u1 a u2 de hecho, no hay camino de ningn
nodo a u1 por tanto, G no es fuertemente conexo.
Isomorfismo
Definicin:
Sean G1 = (V1, E1) y G2 = (V2, E2) dos grafos no dirigidos. Una funcin : V1 V2 es un isomorfismo
de grafos si (a) es inyectiva y sobre y (b) para todos a, b V1 {a, b} E1 si y slo si { (a), (b)}
E2. Cuando existe tal funcin, G1 y G2 son grafos isomorfos.
La correspondencia de vrtices de un isomorfismo de grafos mantiene las adyacencias. Puesto que el
hecho de que los pares de vrtices sean adyacentes o no es la nica propiedad esencial de un grafo no
dirigido, de esta forma preservamos la estructura de los grafos.
Para los siguientes grafos la funcin definida por:
(b)
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. Tambin esto ser cierto si cada
uno de los grafos dados tiene solamente cuatro vrtices aislados.
16
Para los siguientes grafos se necesita ser ms cuidadoso. La funcin g definida por
g(m) = r, g(n) = s, g(p) = t, g(q) = u
(c)
(d)
Observemos que 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 funcin g no define un isomorfismo de grafos. Para
mantener la correspondencia de aristas se considera la funcin uno a uno y sobre h tal que
17
a
(a)
(b)
e
b
v
c
f
x
d
En el grafo (a), el vrtice a es adyacente a otros dos vrtices del grafo. En consecuencia, si intentamos
construir un isomorfismo entre estos grafos, deberamos asociar el vrtice a con otro vrtice anlogo
del grafo (b), por ejemplo, el vrtice u. Una situacin similar existe para el vrtice d con los dos
vrtices x o z. Pero, independientemente del vrtice x o z que se use, quedar un vrtice en el grafo (b)
que es adyacente a otros 2. Y no hay otro vrtice en el grafo (a) para continuar con la correspondencia
uno a uno que se preserve a la estructura. En consecuencia, estos dos grafos no son isomorfos.
18
Se utiliza la recursin para definir un rbol porque representa la forma ms apropiada y porque adems
es una caracterstica inherente de los mismos.
La representacin grfica de un rbol binario es la siguiente:
Los rboles tienen una gran variedad de aplicaciones. Por ejemplo, se pueden utilizar para representar
frmulas matemticas, para organizar adecuadamente la informacin, para construir un rbol
genealgico, en la toma de decisiones, para el anlisis de circuitos elctricos y para numerar los
captulos y secciones de un libro.
A los rboles ordenados de grado dos se les conocen como rboles binarios ya que cada nodo del rbol
no tendr ms de dos descendientes directos. Las aplicaciones de los rboles binarios son muy variadas
ya que se les puede utilizar para representar una estructura en la cual es posible tomar decisiones con
dos opciones en distintos puntos.
19
Ejemplo de un rbol
Ganar.
Perder.
Set 2
Set 2
Ganar el
partido.
Ganar el
partido.
Set 3
Set 3
Perder el
partido.
Ganar el
partido
Perder el
partido.
Perder el
partido.
En ciencias de la computacin, un rbol es una estructura de datos comnmente usada que emula la
estructura de un rbol con un conjunto de nodos conectados.
Ing. Miguel ngel Durn Jacobo
20
Cada nodo tiene cero o ms nodos hijos, que estn por debajo de l (en ciencias de la computacin, al
contrario que en la naturaleza, los rboles crecen hacia abajo, no hacia arriba), El nodo del cual un
nodo es hijo es llamado su nodo padre. Un hijo tiene como mximo un padre; un nodo sin padre es
llamado nodo raz (o simplemente raz). Los nodos sin hijos son llamados hojas.
En teora de grafos, un rbol es un digrafo conectado acclico. Un rbol con raz es como un grafo con
un vrtice seleccionado como la raz. En ese caso, slo dos vrtices conectados con el lado heredan una
relacin de padre-hijo. Un grafo acclico con mltiples componentes conectados o un conjunto de
rboles con raz se llama bosque.
21
2. B es hijo de A.
C es hijo de A.
D es hijo de B.
E es hijo de B.
L es hijo de H.
3. A es padre de B.
B es padre de D.
D es padre de I.
C es padre de G.
H es padre de L.
4. B y C son hermanos.
D, E y F son hermanos.
G y H son hermanos.
J y K son hermanos.
Longitud de camino.
Se define la longitud de camino X como el nmero de arcos que deben ser recorridos para llegar
desde la raz al nodo X. Por definicin la raz tiene longitud de camino 1, sus descendientes
directos tiene longitud de camino 2 y as sucesivamente. En la figura anterior, el nodo B tiene
longitud de camino 2, el nodo I longitud de camino 4 y el nodo H longitud de camino 3.
LCI = n i * i
i =1
22
y significa el nmero de arcos que deben ser recorridos en promedio para llegar partiendo desde
la raz, a un nodo cualquiera del rbol.
LCIM = 36 / 12 = 3
LCE = ne i * i
i=2
23
Donde i representa el nivel del rbol, h su altura y nei el nmero de nodos especiales en el nivel
i. Obsrvese que i comienza desde 2, puesto que la raz se encuentra en el nivel 1 y no puede ser
un nodo especial.
La LCE del rbol de la figura anterior se calcula as:
LCE= 1 * 2 + 1 * 3 + 11 * 4 + 12 * 5 = 109
Ahora bien; la media de la longitud de camino externo (LCEM) se calcula dividiendo la LCE
entre el nmero de nodos especiales del rbol (ne). Se expresa:
LCEM = LCE / ne
y significa el nmero de arcos que deben ser recorridos en promedio para llegar partiendo desde
la raz, a un nodo especial cualquiera del rbol.
LCEM = 109 / 25 = 4.36
Un ejemplo clarificar los conceptos de longitud interno y externo.
Ejemplo: Dado el rbol general y el rbol extendido de las siguientes figuras, se calcula:
rbol general
La longitud de camino interno:
LCI = 1 * 1 + 3 * 2 + 9 * 3 = 34
La media de la longitud de camino interno:
LCIM = 34 / 13 = 2.61
24
rbol extendido
La longitud de camino externo:
LCE = 1 * 2 + 3 * 3 + 36 * 4 = 155
La media de la longitud de camino externo:
LCEM = 155 / 40 = 3.87
En una estructura de datos en rbol, no hay distincin entre los diferentes hijos de un nodo, ninguno es
el primer hijo o el ltimo hijo. Un rbol en el que se distinguen los hijos por su orden se llama rbol
ordenado, y las estructuras de datos construidas en ellos se llaman estructuras de datos de rboles
ordenados.
1
7
6
8
9
3
25
realizada cuando un apuntador arriba a un nodo en particular. Una caminata donde las operaciones
suceden a un nodo antes de suceder a sus hijos es llamada una primera caminata ancha; una caminata
donde los hijos son operados antes de que el padre sea llamado se llama primera caminata profunda.
Vase tambin: rbol Binario para una discusin de pre-orden, en-orden y post-orden transversal
Si no est vaca, el rbol estar formado por un nodo raz y cero o ms subrboles que estn
unidos a la raz por otras tantas aristas.
Para que un rbol sea binario es requisito indispensable el que el nmero mximo de hijos que
tenga cada nodo sea 2. Por lo tanto el rbol anterior no es un rbol binario, ya que el nodo A tiene 3
hijos.
Por ltimo, un rbol ser de bsqueda si todos sus nodos cumplen las siguientes condiciones:
Todos los nodos situados a su izquierda son menores que l.
Todos los nodos situados a su derecha son mayores que l.
Resumiendo, se puede decir que un rbol binario de bsqueda es un rbol en el que cada nodo
tiene a lo sumo dos hijos, y en el que para cada nodo todos los nodos a su izquierda son menores que l
y todos los nodos a su derecha son mayores que l.
26
En cambio este rbol viola la condicin de orden en el nodo 2, ya que un nodo a su derecha, 1, no es
mayor que l.
27
Borrar: El borrado en rboles binarios de bsqueda es otra operacin bastante sencilla excepto en un caso.
Vamos a ir estudiando los distintos casos.
Tras realizar la bsqueda del nodo a eliminar observamos que el nodo no tiene hijos. Este es el caso ms
sencillo, nicamente habr que borrar el elemento y ya habremos concluido la operacin.
Ing. Miguel ngel Durn Jacobo
28
Por ltimo, el caso ms complejo, si el nodo a borrar tiene dos hijos. En este caso se debe sustituir el nodo a
borrar por mayor de los nodos menores del nodo borrado, o por el menor de los nodos mayores de dicho nodo.
Una vez realizada esta sustitucin se borra el nodo que sustituy al nodo eliminado (operacin sencilla ya que
este nodo tendr un hijo a lo sumo).
Sobre el siguiente rbol queremos eliminar el elemento 6. Tenemos dos opciones para sustituirlo:
El menor de sus mayores: 7.
El mayor de sus menores: 4.
Vamos a sustituirlo por el 7 (por ejemplo). El rbol resultante sera el siguiente, tras eliminar tambin el
elemento 7 de su ubicacin original.
Otras operaciones
En los rboles de bsqueda la operacin buscar es muy eficiente. El algoritmo compara el elemento a
buscar con la raz, si es menor continua la bsqueda por la rama izquierda, si es mayor continua por la izquierda.
Este procedimiento se realiza recursivamente hasta que se encuentra el nodo o hasta que se llega al final del
rbol.
29
Preorden: Primero el nodo raz, luego el subrbol izquierdo y a continuacin el subrbol derecho.
11
12
10
13
En la siguiente figura aparece el dgrafo del rbol posicional binario correspondiente, B(T).
Para obtenerla basta trazar una arista izquierda desde cada uno de los vrtices v hacia su primer hijo (si
tiene hijos). Despus se traza una arista derecha de cada uno de sus vrtices v hacia su siguiente hermano.
As, la arista izquierda del vrtice 2, va al vrtice 5, ya que el vrtice 5 es el primer hijo del vrtice 2 en el
rbol T. Adems, la arista derecha del vrtice 2, va hacia el vrtice 3, ya que el vrtice 3 es el siguiente hermano
en el rengln (entre todos los hijos del vrtice 1).
Con frecuencia, la representacin de B(T) a manera de lista doblemente enlazada se llama representacin
en lista enlazada de T.
Ing. Miguel ngel Durn Jacobo
30
2
5
3
8
11
6
9
12
7
13
10
RBOLES ETIQUETADOS
A veces es necesario etiquetar los vrtices o aristas de un dgrafo para indicar su uso para su propsito
especfico.
Esto es particularmente cierto para muchos de los rboles es la ciencia de la computacin.
Ahora se proporcionar un ejemplo donde el conjunto de los vrtices no son importantes, sino que la
utilidad del rbol se enfatiza mediante las etiquetas sobre estos vrtices.
As, se representar los vrtices como puntos y se mostrar la etiqueta de cada vrtice junto al punto
que representa dicho vrtice.
EJEMPLO:
(3 (2 x)) + ((x 2 ) (3 + x))
+
x
2
31
En esta expresin se supone que no es posible realizar operaciones como , +, x, o / hasta evaluar
ambos argumentos; Es decir hasta realizar todos los clculos dentro de los argumentos de la izquierda y
de la derecha.
Por lo tanto, no es posible realizar la suma central hasta haber evaluado
(3 (2 x)) y ((x 2) (3 + x)).
No es posible realizar la resta central en ((x-2) (3+x)).
Hasta haber evaluado ((x 2) y (3 + x)).
Y as sucesivamente.
Este muestra el rbol correspondiente a la expresin con cada operacin entre parntesis.
(3 (1 x)) / ((4 + (7 (y + 2))) (7 + (x / y))).
/
+
7
1
x
4
x
+
7
32
RBOLES NO DIRIGIDOS
Un rbol no dirigido es la cerradura simtrica de un rbol. Es decir, es un rbol con todas sus aristas
bidireccionales. Como se acostumbra con las relaciones simtricas, se representa un rbol no dirigido
mediante su grfica, en vez de su dgrafo. La grfica de un rbol no dirigido T tendr una nica lnea
sin flechas que une los vrtices a y b siempre que (a, b) y (b, a) pertenezcan a T.
El conjunto {a, b}, donde (a, b), y (b, a) estn en T, es una arista no dirigida de T. en este caso los
vrtices a y b son vrtices adyacentes. As cada arista no dirigida {a, b} corresponde a dos aristas
ordinarias (a, b) y (b, a). Las lneas de la grfica de un rbol no dirigido T corresponden a las aristas no
dirigidas en T.
Ejemplo 1. La figura muestra la grfica de un rbol no dirigido T. en la figura (b) y (c) se muestra los
dgrafos de los rboles ordinarios T1 y T2 respectivamente que tienen a T como cerradura simtrica.
Esto muestra que un rbol no dirigido corresponde en general a muchos rboles dirigidos. Se incluye
las etiquetas para mostrar la correspondencia de los vrtices subyacentes en las tres relaciones.
ejemplos
b
(a)
(b)
b
a
c
c
e
d
f
g
(c)
d
c
Se requiere presentar algunas definiciones alternativas tiles de un rbol no dirigido, y para esto se
necesita algunos comentarios acerca de las relaciones simtricas.
Sea R una relacin simtrica y sea p: v1, v2.....vn una trayectoria en R. Se dice que p es simple si no
existen dos aristas de p correspondientes a la misma arista no dirigida. S, adems v1, es igual a vn (de
modo que p sea un ciclo), p es un ciclo simple.
Ing. Miguel ngel Durn Jacobo
33
Una relacin simtrica R es acclica, si no contiene ciclos simples. Se puede mostrar que si R contiene
ciclos, entonces contiene un ciclo simple. Recuerde que una relacin simtrica R es conexa si existe
una trayectoria en R desde su vrtice hacia cualquier otro vrtice.
Ejemplo.
La relacin simtrica R cuya grafica aparece (a) tiene un rbol T como rbol de expansin, cuyo
dgrafo aparece a continuacin (b), tambin el rbol T es un rbol de expansin para R, cuyo dgrafo
es mostrado en la figura D como R, T y T son relaciones en el mismo conjunto A, se ha etiquetado los
vrtices para mostrar la correspondencia de los elementos. Como lo muestra este Ejemplo: Los rboles
de expansin no son nicos.
a
Ejemplo num. 1
a
b
c
d
f
(a)
Ing. Miguel ngel Durn Jacobo
f
(b)
34
a
b
d
f
f
(c)
(d)
rboles de expansin no dirigidos. Para una relacin simtrica conexa R esta rbol es la cerradura
simtrica de un rbol de expansin la figura (d) muestra un rbol de expansin no dirigido para R,
deducido del rbol de expansin de la figura (c) si R es una relacin complicada que es simtrica y
conexa, podra ser difcil disear un esquema para la bsqueda de R, para visitar cada uno de sus
vrtices una vez en cierta forma simtrica. Si R se reduce a un rbol de expansin, puede utilizarse los
algoritmos de bsqueda
Teorema 2. Sugiere que un algoritmo para determinar un rbol de expansin no dirigido para una
relacin R. Solo hay que eliminar varias aristas no dirigidas de R. Hasta llegar a un punto donde la
eliminacin de una o ms de las aristas no dirigidas producira una relacin no conexa. El resultado
ser un rbol de expansin no dirigido.
Ejemplo num. 2
a
(a)
(b)
(c)
35
(d)
(e)
(f)
En las figura num. 1 (a) se repite la grfica en la figura num. 2 (a) se repite se muestra como eliminar
varias aristas no dirigidas, lo que culmina en la figura num. 2 (f), el arbol de expansin no dirigido,
acorde con la figura num. 2 (d)
Supngase ahora que se une los vrtices a y b de una relacion R en un nuevo vrtice a que reemplaza a
ambos vertices para obtener la relacion R para determinar la matriz de r se procede la de la siguiente
manera.
1. El rengln i representa al vrtice a y el rengln j representa al vertice b. Se reemplaza el rengln
i con la unin de los renglones i y j la unin de las dos n-adas de ceros y unos tiene un 1 en una
posicin presisamente cuando alguna de las dos n-adas tiene un 1 en esa posicin.
2. Se reemplaza la columna i por la unin de las columnas i y j.
3. Se restaura la diagonal principal con sus valores originales en R
4. Se elimina el rengln j y la columna j.
36
Arboles de expansin minima: la grfica no dirigida de la relacin modela una situacin donde las
aristas y los vrtices contienen informacin. Una grfica con pesos es una grfica donde cada arista est
etiquetada con un valor numrico que denota su peso.
6
3
A
2
5
5
E
3
4
F
El peso de una arista (vi, vj) es la distancia entre los vrtices vi y vj un vrtice u es un vecino ms
cercano del vrtice v si u y v son adyancentes y ningn otro vrtice queda unido con v mediante una
arista de menor peso que (u, v). Observe que, a diferencia de lo que sucede en la gramtica, v puede
tener ms de un vecino cercano.
En las aplicaciones de las grficas con pesos, con frecuencia se necesita determinar un rbol de
expansin no dirigido para el cual el peso total de las aristas en el rbol sea menor .
En las grficas con pesos, con frecuencia se necesita determinar un arbol de expansin no dirigido para
el cual el peso total de las aristas en el rbol sea el menor posible. Este rbol se conoce como rbol de
expansin mnima. El algoritmo de Prim se puede adaptar fcilmente para producir un arbol de
expansin mnima para la grfica con pesos. A continuacin se enunciar el algoritmo de Prim como si
fuera aplicado a una relacin simtrica conexa, dada por su grfica de pesos no dirigida.
Algoritmo de Prim.
1. Se elige un vrtice v1 de R. Sea V={v1} y E={ }.
2. Se elige uno de los vecinos ms cercanos a v1 de V, que sea adyacente a vj, vj V, y tal que la
arista (vi, vj) no forme un ciclo con miembros de E. se agrega vi a V y (vi, vj) a E.
3. Se repite el paso 2 hasta que |E| = n -1 entonces V contiene los vrtices de R y E contiene las
aristas de un rbol de expansin mnima para R.
37
Que es un grafo?
Recordemos que un grafo G es el par (V, A) que representa una relacin entre un conjunto de Vrtices
y otro de Aristas.
Representaremos cada elemento arista como un par de elementos de V.
Grficamente representaremos los vrtices por puntos y las aristas por lneas que los unen.
Un vrtice puede tener 0 o ms aristas, pero toda arista debe unir exactamente 2 vrtices.
Las aplicaciones ms importantes de los grafos son las siguientes:
Rutas entre ciudades.
Determinar tiempos mximos y mnimos en un proceso.
Flujo y control en un programa
De una manera ms informal podemos decir que un grafo es un conjunto de nodos con enlaces entre
ellos, denominados aristas o arcos.
En un grafo simple entre dos nodos slo hay un arco. Si hay ms de un arco hablamos de un multgrafo.
Si los arcos se pueden recorrer en una direccin concreta pero no en la contraria lo llamamos grafo
dirigido o dgrafo y los arcos son entonces aristas, si los arcos salen y llegan al mismo punto formando
un bucle el grafo resultante se llama pseudografo.
A pesar de que un grafo parece una estructura muy elemental, hay muchsimas propiedades de los
grafos cuyo estudio ha dado lugar a una completa teora matemtica.
Ing. Miguel ngel Durn Jacobo
38
Fue Leonhard Euler quien ide los grafos como una manera muy potente y elegante de resolver el
problema de los puentes de Knigsberg.
Knigsberg (hoy Kaliningrado en Rusia) era en tiempos de Euler (siglo XVIII) una ciudad prusiana
cruzada por siete puentes. Durante la poca se suscit la cuestin no resuelta de si era posible recorrer
toda la ciudad cruzando cada uno de los puentes una y slo una vez. Si hacemos una representacin
esquemtica de la ciudad vemos que los puentes unen cuatro porciones de tierra.
La bsqueda por prueba y error no conduce a ningn resultado.
Euler realiz una abstraccin del problema representando mediante puntos las cuatro porciones de
terreno y dibujando un arco entre cada dos puntos por cada puente. Llam orden de cada vrtice al
numero de arcos que se reunan en el y se percat que el orden de cada vrtice visitado en un recorrido
sin saltos ha de ser par (sale un enlace y entra otro) excepto para dos puntos del grafo: aquellos donde
se inicia y donde se acaba el recorrido, que han de tener orden impar. Si el vrtice donde se inicia y se
acaba son el mismo entonces todos los vrtices han de ser de orden par.
En el problema de Knigsberg el orden de todos los nodos es 3, esto es impar, por lo que qued claro
que no exista solucin para el problema. No haba un camino que recorriese todos los puentes pasando
una sola vez por cada uno de ellos.
El inters de este ejemplo es que adems de dar lugar a una teora matemtica muy potente los grafos
se dibujan y resultan muy intuitivos, especialmente cuando los vrtices son pocos. Ejemplos de grafos
que todos conocemos son los organigramas que explicitan la estructura formal de la empresa, los
rboles genealgicos o la circuitera de los chips electrnicos. Se usan regularmente para resolver
problemas en la eficiencia del transporte, en sociologa, electrnica y electricidad, deteccin de fraude
y en general en aquellos campos en los que la conectividad es importante.
Ing. Miguel ngel Durn Jacobo
39
De hecho vivimos en una sociedad interconectada en la que, por definicin, las redes (que son
simplemente una forma de grafos dirigidos en los que cada arco tiene un valor) forman cada vez ms
parte de nuestra experiencia diaria. Internet es el arquetipo de la red y su conectividad nos une a todos.
Como ancdota, al parecer la captura de Saddam Hussein se realiz en parte gracias a la labor de
construccin del grafo de su red de soporte, basada en las relaciones funcionales de Saddam con
miembros de su partido pero sobre todo de las relaciones tribales y familiares que le unen a su ciudad
natal de Tikrit.
Problema.
Es posible que en un departamento de 25 personas, clasificadas segn su desacuerdo, cada persona
congenie con exactamente otras 5?
Para enfrentar el problema.
Dnde comenzar? Muchos problemas discretos se pueden resolver por medio de una grafica.
Juan
Bertha
Josefina
40
Esto implica que el grado de cada vrtice es 5. Ahora la situacin se resume as: Tenemos 25 vrtices.
En este caso y cada vrtice tiene grado 5. Antes de continuar veamos si esto es posible.
El corolario dice que existe un nmero par de vrtices de grado impar. Tenemos una contradiccin,
pues existe un nmero impar de vrtices de grado impar. Por lo tanto, no es posible que en
departamento de 25 personas clasificadas segn sus desacuerdos, cada persona congenie con
exactamente otras cinco.
Solucin formal.
No es posible que en un departamento de 25 personas clasificadas segn sus desacuerdos, cada persona
congenie con exactamente otras 5. Supongamos por contradiccin que esto es posible. Consideremos
una grfica donde los vrtices sean las personas y una arista conecte 2 vrtices (personas) si las
personas congenian. Como cada vrtice tiene grado impar, existe un nmero impar de vrtices de grado
impar, lo cual es una contradiccin.
41