Este documento introduce la teoría de grafos. Explica que un grafo consiste en un conjunto de vértices y aristas que los conectan. Describe los diferentes tipos de grafos como dirigidos, no dirigidos, simples y multigrafos. También introduce conceptos clave como el grado de un vértice, las matrices de adyacencia e incidencia, y el isomorfismo entre grafos.
1. MATEMÁTICA DISCRETA
Grafos y Árboles
Autora: María Virginia Figueroa
En este capítulo daremos una introducción a la Teoría de Grafos. Gracias a esta teoría se pueden resolver
diversos problemas. Sirve, por ejemplo, para modelar trayectos como el de una línea de colectivos a través de
las calles de una ciudad o para la asignación de tareas dentro de un grupo de personas. También ha servido de
inspiración para las ciencias sociales, en especial para analizar la importancia de los distintos actores dentro
de una red social. Actualmente tiene mucha preponderancia en el campo de la informática, de las ciencias de
la computación y de las telecomunicaciones.
1 ¿Qué es un grafo?
El origen de la palabra grafo es griego y su significado etimológico es trazar. De alguna manera un poco
informal podríamos decir que un grafo es un conjunto de vértices, también llamados nodos, y de aristas que
unen estos vértices. A continuación le mostramos un ejemplo de grafo en el que el conjuntos de vértices
está formado por provincias de Argentina que limitan con Buenos Aires y en el que las aristas conectan a las
provincias si son limítrofes:
BUENOS AIRES
ENTRE RIOS SANTA FE CORDOBA LA PAMPA RIO NEGRO
Una definición más formal es la siguiente: Un grafo es un par G = (V,A), donde V es un conjunto finito no
vacío, a cuyos elementos llamaremos vértices o nodos, y A es una familia finita de pares no ordenados {u,v}
de vértices de V y a cuyos elementos llamaremos aristas.
Proponemos el siguiente grafo para analizar su conjunto de vértices y de aristas:
1 1 de 14
2. MATEMÁTICA DISCRETA
1
2
3
4
5
6
En el grafo dado podríamos decir que los conjuntos de vértices y de aristas son, respectivamente:
V = {;;;;;}
A = {{,};{,};{,};{,};{,};{,};{,};{,};{,}}
Es importante destacar que este grafo es un grafo dirigido o digrafo. Esto se debe a que las aristas tienen
una dirección establecida. Por ejemplo, podemos ir del vértice 2 al 3, pero no al revés. Esto no sucedía en
el grafo anterior que relacionaba algunas de las provincias de Argentina con sus provincias limítrofes, en ese
caso se trataba de un grafo no dirigido, ya que si bien podemos decir que Buenos Aires limita con Santa Fe,
Santa Fe también limita con Buenos Aires, por lo que es necesario considerar que se pueda ir de un vértice al
otro en cualquiera de los dos sentidos.
1.1 Grafos simples y multigrafos
Los grafos simples, a los que generalmente se los llama grafos, son aquellos que aceptan una sola arista para
unir dos vértices cualesquiera. En cambio los multigrafos o pseudografos son aquellos que aceptan más de una
arista entre dos vértices. Los grafos simples son una subclase de esta categoría de grafos. Veamos un ejemplo
de un multigrafo:
A
B
C
D
2 de 14 2
3. MATEMÁTICA DISCRETA
Como se puede ver, hay tres aristas que conectan los vértices A y C, y dos que conectan los vértices C y
D. Además se trata de un grafo no dirigido ya que las aristas no están orientadas.
A veces es necesario considerar grafos que están incluidos dentro de otros, éstos son llamados subgrafos.
De manera formal diremos que dado un grafo G = (V,A), formamos un subgrafo H = (V 0,A0) de G selec-
cionando algunos de los vértices de G (esto es, V 0 ⊆ V) y seleccionando algunas de las aristas de G (esto es,
A0 ⊆ A). En el grafo anterior podríamos considerar, por ejemplo, el subgrafo:
A C
D
En el que sólo nos quedamos con tres de los vértices y tres de las aristas que conectan estos vértices.
1.2 Grado de un vértice y Matrices asociadas a un grafo
Antes de hablar de las Matrices que pueden asociarse a un grafo, es importante aclarar que llamaremos grado
de un vértice al número de aristas que incidan en él. Veamos algunos ejemplos antes de continuar. Comen-
zaremos analizando el grado de los vértices del siguiente grafo no dirigido:
a
b
c
Como podemos ver en el vértice a inciden 4 aristas, en el vértice b inciden 2 aristas y en el vértice c inciden 4
aristas. Podemos decir entonces que el grado del vértice a es 4, que simbólicamente lo escribimos: gr(a) = .
De manera análoga los grados de b y c son gr(b) = y gr(c) = .
Pero, ¿qué sucede si se trata de un grafo dirigido? Supongamos el grafo (parecido al anterior, pero ahora es
dirigido):
3 3 de 14
4. MATEMÁTICA DISCRETA
a
b
c
En este digrafo, las incidencias sobre los vértices no cambiaron y tampoco cambiaron los grados de los
mismos. Sin embargo, ahora podemos diferenciar dos tipos de grados: el grado de entrada y el grado de salida,
que para cada uno de los vértices de nuestro grafo resultan:
gre(a) =
grs(a) =
gre(b) =
grs(b) =
gre(c) =
grs(c) =
A la lista de los grados de un grafo G se la llama sucesión de grados. En nuestro ejemplo, en el que los
grados son: gr(a) = , gr(b) = y gr(c) = (considerando cualquiera de los dos grafos, el dirigido o el no
dirigido), la sucesión de grados resulta ser: {;;}. Por convención esta sucesión suele escribirse de menor a
mayor.
Una pregunta que podríamos hacernos es, ¿cualquier lista de números no negativos se corresponde con una
sucesión de grados de un grafo? La respuesta es NO. Hay un Teorema que nos dice que la suma de los grados
de los vértices de un grafo debe ser igual al doble de la cantidad de aristas. Es decir, dado un grafo G = (V,A),
se verifica que
X
v∈V
gr(v) = A
Hay una gran variedad de demostraciones para este teorema y la búsqueda de alguna de estas demostra-
ciones quedará a cargo del lector. Es importante destacar que de este teorema surge un corolario muy evidente
y es que en todo grafo el número de vértices de grado impar es par, de otra manera la suma de los grados no
daría A (que es un número par).
Ahora bien, volviendo al tema de las Matrices que pueden asociarse a un grafo, tenemos dos la Matriz
de Adyacencia y la Matriz de Incidencia. Podría-mos decir de forma resumida que la Matriz de Adyacencia
es la que relaciona vértices con vértices y la Matriz de Incidencia es la que relaciona vértices con aristas.
Consideremos el siguiente grafo:
4 de 14 4
5. MATEMÁTICA DISCRETA
A B
C
D
Para la matriz de adyacencia debemos considerar tanto en las filas como en las columnas el conjunto de
vértices V = {A;B;C;D}. Los números que colocaremos en cada posición serán equivalentes a la cantidad de
aristas que conectan un vértice con otro. Consideremos algunos ejemplos antes de completar la matriz. De lo
que podemos observar en el grafo dado tenemos que: el vértice A se conecta por tres aristas con el vértice D,
esto en la matriz de adyacencia supone poner un 3; por otro lado, el vértice D se conecta por una sola arista
con el vértice B, esto en la matriz de adyacencia supone poner un 1; un último aspecto que podemos observar
es que el vértice B no se conecta con el vértice C, esto en la matriz de adyacencia supone poner un 0. De esta
forma, la matriz de adyacencia del grafo nos queda:
A =
Algunas cosas que podríamos aclarar sobre esta Matriz de Adyacencia son:
• En la diagonal principal queda reflejada la relación que existe entre cada vértice consigo mismo. Hasta el
momento no mostramos ningún grafo en el que un vértice quede conectado por una arista con él mismo,
pero esto puede suceder y a estas aristas (que conectan un vértice consigo mismo) se las llama bucles.
• Al tratarse de un grafo no dirigido, la matriz de adyancencia debe ser simétrica, ya que, por ejemplo, si el
vértice A se conecta con el vértice D por medio de tres aristas, lo mismo sucederá cuando consideremos
la cantidad de aristas que conectan al vértice D con el vértice A. En el caso de los grafos dirigidos, esta
simetría no se da.
• Al ser el grafo considerado, un multigrafo, en la matriz se observan números mayores a 1. Si se realiza
la matriz de adyacencia de un grafo simple, en ésta sólo aparecerán ceros o unos, ya que al ser simple
no podrá considerarse más de una arista que conecte un vértice con otro.
Veamos ahora qué sucede con la matriz de incidencia. Dijimos que ésta es la que relaciona vértices (filas de
la matriz) con aristas (columnas de la matriz). Los números que colocaremos en la matriz ahora serán sólo unos
5 5 de 14
6. MATEMÁTICA DISCRETA
o ceros. Siendo 1 (uno) el equivalente a "verdadero": la arista incide sobre el vértice; y cero, "falso": la arista no
incide sobre el vértice. Consideraremos para escribir la matriz de incidencia el mismo conjunto de vértices que
antes V = {A;B;C;D} y el conjunto de aristas, en este orden, A = {AB;AD;AD;AD;BD;CD;CD} (Nótese
que para simplificar la escritura en vez de escribir a la arista que va desde A hasta B como {A,B} escribimos de
manera resumida solamente AB).
I =
Algunas cosas que podríamos aclarar sobre la Matriz de Incidencia son:
• En esta matriz, como ya dijimos, sólo escribiremos ceros o unos. Estas matrices en las que las compo-
nentes son exclusivamente ceros o unos se llaman booleanas. Las matrices booleanas son útiles porque
permiten representar relaciones binarias, como se da en este caso la relación de verdadero o falso: la
arista incide o no incide sobre el vértice.
• Si se suman los elementos de las filas se obtiene el grado de cada vértice. Por ejemplo, la sumatoria de
la primera fila es 4 y se corresponde con el grado del vértice A que es 4.
1.3 Isomorfismo de grafos
Dados dos grafos G = (V,A) y G = (V,A) se dice que son isomorfos cuando existe una biyección entre
los conjuntos de sus vértices que conserva la adyacencia.
No será difícil decidir si dos grafos son isomorfos, bastará con considerar las siguientes cuestiones:
a. Ambos grafos deben tener el mismo número de vértices.
b. Cada vértice debe mantener su grado y sus relaciones de adyacencia.
c. Los dos grafos deben tener el mismo número de aristas.
Veamos algún ejemplo. Decidamos si los dos grafos no dirigidos dados a continuación son isomorfos:
A
B C
D E
F G
6 de 14 6
7. MATEMÁTICA DISCRETA
Es evidente que difieren en la cantidad de vértices por lo que no podrán ser isomorfos, ya que sus matrices de
adyacencia tendrán diferentes dimensiones y para que haya un isomorfismo entre ambos estas matrices deben
ser iguales.
Veamos otro ejemplo:
A
B C
D E F
G H
Si analizamos ambos grafos los dos coinciden en cantidad de vértices y de aristas. Todos sus vértices son
de grado 2 y las matrices de adyacencia resultan ser iguales:
A =
A =
Es evidente que al conservarse las relaciones de adyacencia de los vértices hay una biyección entre ambos
grafos y los mismos resultan ser isomorfos.
1.4 Caminos y ciclos
Al presentarse un grafo y sus relaciones de incidencia y adyacencia, de las que ya estuvimos hablando en
apartados anteriores, surge la posibilidad de "caminar" o "pasear" por el grafo recorriendo sus vértices de
alguna manera a través de sus aristas. Estos recorridos que se pueden hacer en un grafo se llaman caminos. La
longitud del camino es el número de aristas que contiene. Un camino es simple si en la sucesión de vértices no
hay ninguno repetido. Si el camino es cerrado, es decir que empieza y termina en el mismo vértice, se lo llama
ciclo. El ciclo será simple si no hay, además del primero y el último, ningún otro vértice repetido. Veamos
algún ejemplo. Consideremos el primer grafo dirigido que dimos en este capítulo:
7 7 de 14
8. MATEMÁTICA DISCRETA
1
2
3
4
5
6
Un camino podría ser: ,,,,,,
Un camino simple podría ser: ,,,,
Un ciclo podría ser: ,,,,,,,
Un ciclo simple podría ser: ,,,,
Es importante aclarar que el lector podrá encontrar otros caminos y/o ciclos, ya sean simples o no.
Hay caminos y ciclos particulares que reciben nombres especiales, estos son los Caminos y Ciclos de Euler,
y los Caminos y Ciclos de Hamilton.
• Un camino euleriano es un camino que pasa por cada arista una y sólo una vez. Un ciclo o circuito
euleriano es un camino cerrado que recorre cada arista exactamente una vez.
• Un camino hamiltoniano es un camino que visita todos los vértices del grafo una sola vez. Si además el
camino es cerrado (es decir, que el único vértice visitado más de una vez es el primero) se dice que es
un ciclo hamiltoniano.
Veamos algunos ejemplos de todo esto. Hallemos un camino que sea euleriano en el siguiente grafo:
A B
C D
E
8 de 14 8
9. MATEMÁTICA DISCRETA
Un camino euleriano, es decir un camino que recorra cada arista exactamente una vez, podría ser: C,D,E,B,A,C,B.
Sin embargo, no es posible hallar en este grafo un ciclo euleriano. Resulta conveniente aclarar que el camino
euleriano mencionado no es a la vez un camino hamiltoniano, ya que pasa por el vértice B dos veces.
Pero si consideramos el grafo sin la arista CB:
A B
C D
E
Ahora sí podemos hallar un ciclo euleriano: C,D,E,B,A,C. Este ciclo euleriano es, también, un ciclo
hamiltoniano, ya que recorre todos los vértices del grafo pasando una sola vez por cada uno de ellos (excepto
por el primero y el último).
Hallemos ahora, y por último, un camino hamiltoniano en el grafo que damos a continuación:
1
2
3 4
5
En este último grafo podríamos considerar el camino hamiltoniano: ,,,,. ¿Cree que es posible en-
contrar en este grafo algún camino o ciclo que sean eulerianos?
Otra pregunta interesante que podríamos hacernos es: ¿Siempre es posible encontrar en un grafo un camino
euleriano? La respuesta es NO. Para que exista un camino de Euler el grafo debe tener exactamente dos vér-
tices de grado impar. Dicho esto podemos responder parte de la pregunta anterior: Es posible hallar un camino
de Euler en el grafo anterior, dado que solo dos de sus vértices son de grado impar: gr() = y gr() = .
Por otro lado, si lo que buscamos es una ciclo euleriano necesitaremos que el grafo tenga todos sus vértices de
9 9 de 14
10. MATEMÁTICA DISCRETA
grado par. Por lo que en el grafo anterior no existirá entonces un ciclo de Euler.
Algunas definiciones finales que nos gustaría dar dentro de este apartado son las de Grafo Conexo, Punto
de Corte y Puente.
• Un Grafo Conexo es aquel en el que si tomamos dos vértices cualesquiera podemos hallar un camino
que los conecte. Es decir, tomando dos vértices del grafo tenemos manera de ir desde uno hacia el otro.
• Un Punto de Corte es un vértice de un grafo conexo que si fuera "borrado" o eliminado, haría que éste
sea disconexo (deje de ser conexo). Formalmente, diremos que dado un grafo conexo G = (V,A), un
vértice v de G se llama punto de corte cuando el subgrafo Gv cuyos vértices son los mismos que del
grafo G exptuando al vértice v, es decir, V − {v}, y cuyas aristas son las del grafo G que conectan los
vértices del nuevo grafo.
• Un Puente es una arista de un grafo conexo que al "borrarla" provoca que el grafo sea disconexo. De
manera más formal, diremos que dado un grafo conexo G = (V,A), a cualquier arista a de G tal que el
grafo G∗ = (V,A−{a}) resulte disconexo, la llamaremos puente.
Consideremos el grafo dado a continuación para ejemplificar estos conceptos:
A
B
C
D
E
F
Veamos qué pasa si eliminamos el vértice E:
A
B
C
D
F
Al borrar este vértice el grafo queda disconexo. Lo mismo pasaría si borráramos los vértices B o C. Estos
tres vértices conforman, por lo tanto, el conjunto de puntos de corte.
10 de 14 10
11. MATEMÁTICA DISCRETA
Veamos ahora, qué sucede al eliminar la arista AC:
A
B
C
D
E
F
Al borrarla el grafo queda disconexo y lo mismo pasaría si elimináramos la arista EF. Éstas son, luego, las
aristas que conforman el conjunto de puentes.
Nos quedan entonces, el conjunto de puntos de corte que es: {B;C;E} y el conjunto de puentes que es:
{AC;EF;BC}.
1.5 Mapas y Número cromático de un grafo
Dado un mapa, podemos asociarle un grafo dual que lo represente. Aclaremos que un grafo dual es un grafo
que tiene un vértice por cada región del mapa y una arista por cada unión entre dos regiones vecinas.
Volvamos al ejemplo de las provincias de Argentina que limitan con Buenos Aires (Fig. 1). El grafo dual
asociado a este mapa es el siguiente:
BS
ER
SF
C
LP
RN
Al trabajar con mapas deben considerarse tres elementos:
1. Las regiones, que en este caso son 5 (las 5 partes o secciones en las que queda dividido el plano a partir
del grafo dual). Es importante destacar que la región exterior cuenta como una más.
2. Los vértices, que en este caso son los 6 que necesitamos para dibujar el grafo dual.
11 11 de 14
12. MATEMÁTICA DISCRETA
Figure 1: Mapa de Provincias limítrofes con Buenos Aires
3. Las aristas que son las 9 que necesitamos para dibujar el grafo dual.
Estos valores responden al Teorema de Euler que enuncia que en todo grafo plano (que es aquel en el que
las aristas no se cruzan entre sí) el número de aristas más dos es igual a la suma entre los vértices y las aristas.
Esto es:
R+V = A+
Como podemos ver en nuestro ejemplo: R = , V = y A = , lo cual verifica que + = +.
Un último concepto interesante que queremos introducir dentro de este apartado es el de Número cromático.
Éste es el mínimo número de colores necesarios para colorear un grafo G sin que dos vértices vecinos sean del
mismo color.
Existen distintos algoritmos que permiten calcular el número cromático de un grafo. Presentaremos, sin
embargo, uno de ellos que es el que consideramos más simple. Este algoritmo, conocido como Algoritmo de
Welsh y Powell, ordena los vértices antes de empezar a colorearlos según su grado (de mayor a menor). En
nuestro ejemplo: gr(BS) = , gr(SF) = , gr(C) = , gr(LP) = , gr(ER) = y gr(RN) = .
Luego, se colorea el vértice de mayor grado primero y se utiliza el mismo color para vértices que no sean
adyacentes a él ni adyacentes entre sí. Con el mismo criterio se procede a colorear el siguiente vértice de la
lista, y así sucesivamente hasta finalizar. En nuestro caso, necesitaríamos tres colores para colorear el grafo
(Fig. 2).
12 de 14 12
13. MATEMÁTICA DISCRETA
Figure 2: Grafo coloreado
2 Árboles
Un árbol es un grafo simple no dirigido y conexo que no tiene ciclos. Podemos decir que un árbol cumple con
las siguientes cuestiones:
1. No tiene ciclos y si se agrega alguna arista se forma un ciclo.
2. Todas sus aristas son puentes. Esto quiere decir que al eliminar cualquiera de sus aristas el grafo dejaría
de ser conexo.
3. Dos vértices cualesquiera de un árbol están conectados por un único camino simple.
Los árboles son los grafos utilizados cuando se quiere graficar la ascendencia o descendencia de una per-
sona. También sirven para realizar el organigrama de una empresa en la que hay niveles de jerarquía estable-
cidos.
En los árboles podemos distinguir algunos elementos:
• La raíz que es el vértice que da origen a los demás (que llamamos hijos).
• Las hojas que son los vértices que no tienen hijos.
• Todo árbol posee altura. Dicha altura será igual a la longitud del camino con más aristas desde la raíz
hasta una hoja.
Analicemos el siguiente árbol:
13 13 de 14
14. MATEMÁTICA DISCRETA
a
b c d
e f
g
Podemos ver que la raíz es a, que las hojas son: {d, f,g}, que la altura es 3 y que, a modo de ejemplo, e es
hijo de b. Además podemos mencionar algunos otros ejemplos: b, c y d son hermanos; los antecesores de g
son e, b y a; c es el padre de f; etc.
14 de 14 14