You are on page 1of 42

Capítulo 1:

INTRODUCCION

1.1. DEFINICION DE GRAFO:


Un grafo, dentro del campo de las matemáticas y ciencias de la computación, es un conjunto de objetos
llamados vértices o nodos, los cuales son enlazados por otro conjunto de elementos denominados arcos o
aristas. Este arreglo ordenado y sistemático permite representar relaciones binarias entre elementos de un
conjunto, es decir, es posible relacionar matemáticamente los elementos componentes de un grafo, como
ser sus vértices y aristas, en pares ordenados.

Figura 1.1 – Ejemplo de Grafo

Dentro del enfoque práctico, los grafos permiten estudiar las interrelaciones entre unidades que interactúan
unas con otras, por ejemplo, en el campo de ingeniería de sistemas, es posible estudiar y representar
mediante grafos el funcionamiento de una red de computadoras, donde los vértices representarían a las
terminales y las aristas representan las conexiones entre dichas terminales.

Es posible hacer uso de grafos dentro del campo de la ingeniería civil, algunas de sus aplicaciones serían las
siguientes:

- En vías de comunicación, donde los vértices representarían las diferentes localidades por donde
pasaría una carretera, y las aristas podrían representar el precio de construcción de cada tramo, la
distancia total de dicho tramo, así como otros factores.
- En obras hidráulicas y sanitarias, donde los vértices representarían, al igual que en vías de
comunicación, distintas localidades que serían beneficiadas por un sistema de riego, o un sistema de
alcantarillado sanitario, etc. Las aristas pueden representar varios parámetros que influyen en el diseño
y construcción de estos sistemas, como ser: caudales máximos y mínimos, longitudes de tramo, etc.

- En el desarrollo de un proyecto de construcción cualquiera, en donde se relacionan una gran


variedad de parámetros de construcción y diseño, con el entorno donde se desarrolla el proyecto.

Un grafo, matemáticamente es representado por la letra “G”, que representa al par ordenado 𝐺 = (𝑉, 𝐸).
Donde:

𝑉: Es el conjunto de vértices o nodos

𝐸: Es el conjunto de aristas o arcos

Las propiedades de un grafo en general, son estudiadas por la Teoría de Grafos:

1.2. TEORÍA DE GRAFOS:


También llamada teoría de gráficas, es una rama de las matemáticas y ciencias de la computación que
estudia las propiedades de los grafos.

La teoría de grafos tiene sus fundamentos en las matemáticas discretas y las matemáticas aplicadas. Esta
teoría requiere del conocimiento previo de distintas áreas como ser: Combinatoria, Algebra, Probabilidad,
Geometría de polígonos, Aritmética y Topología.

El uso de la teoría de grafos tiene mayor incidencia en el campo en la ingeniera de sistemas y ciencias de la
computación, informática y telecomunicaciones, pero también es posible aplicarlo en la ingeniería civil, en
casos anteriormente discutidos.

a) Clasificación de Grafos:
 Según su Direccionalidad:
 Grafo Dirigido; es aquel que tiene aristas con una dirección definida y única, es decir, si se
tienen dos vértices A y B, la arista presenta una dirección definida tal que solo es posible
legar de A a B, pero no de B a A, ver figura 1.2

Figura 1.2 – Grafo Dirigido

Página | 2
 Grafo NO Dirigido; No posee ninguna dirección definida, por lo que el sentido de dirección
en sus aristas puede ser arbitraria, es decir, el sentido de circulación en la arista puede ser
en ambas direcciones, ver figura 1.3

Figura 1.3 – Grafo NO Dirigido

 Según su Conectividad:

 Grafo Conexo; Se tiene un grafo conexo si todos sus vértices están conectados por lo
menos por una arista.

 Grafo NO Conexo; se tiene un grafo no conexo cuando no todos sus vértices se encuentran
conectados, es decir, el grafo presenta vértices si enlace a otros vértices, lo que provoca
una interrupción en la continuidad del flujo.

Figura 1.4 – Ejemplo de un Grafo Conexo (Izquierda) y NO Conexo (Derecha)

 Según el Tipo de Conexión:

 Grafo Simple; Es aquel cuyo par de vértices puede ser unido solamente por una arista, en
cambio si se da el caso de que un par determinado de vértices en un grafo, presentan
más de un enlace, entonces el grafo deja de ser simple. En la Figura 1.5 se aprecia un grafo

Página | 3
conformado por tres vértices y tres aristas, el hecho de que cada par de vértices (1,2) (2,3)
y (3,1), estén unidos por una sola arista, es lo que lo vuelve un grafo simple.

Figura 1.5 – Grafo Simple

 Multígrafo: Contrario al concepto de grafo simple, un multígrafo presenta un par de


vértices que se encuentra conectado por más de una arista, es decir, existen varios
caminos para llegar de un punto A a un punto B. Incluso puede darse el caso en que se
dé un camino o arista cuyo punto inicial y final es el mismo, a esa unión se la denomina
Bucle.

Figura 1.6 - Multígrafo

 Grafo Completo; Este tipo de grafo se genera cuando todos los vértices que lo componen
están enlazados entre sí, es decir, todo par de vértices presente en el grafo debe tener
una arista que los enlace. Debe aclararse que un grafo completo, también debe ser
simple, es decir, dado el hecho de que todos los pares presentes de vértices en el grafo
estén enlazados entre sí, no significa que deba existir más de una arista para unir un único

Página | 4
par de vértices. En la Tabla 1.1 se muestran varios ejemplos de grafos completos según el
número de vértices presentes en él, notar como cada vértice está conectado a los
restantes. La expresión matemática para definir el número de aristas en función a la
cantidad de vértices es: 𝐾𝑛 : 𝑛(𝑛 − 1)/2 , donde “n” es el número de vértices.

Tabla 1.1 – Grafos Completos de 1 a 12 vértices

𝐾1 : 0 𝐾2 : 1 𝐾3 : 3 𝐾4 : 6

𝐾5 : 10 𝐾6 : 15 𝐾7 : 21 𝐾8 : 28

𝐾9 : 36 𝐾10 : 45 𝐾11 : 55 𝐾12 : 66

 Grafos Bipartitos; Los vértices que conforman este grafo se encuentran separados en dos
conjuntos separados, la condición para que un grafo sea bipartito es que exista al menos
una arista que una a un vértice del conjunto A con otro del conjunto B. No deben existir
aristas que una a dos vértices pertenecientes a un mismo conjunto.

Figura 1.7 – Grafo Bipartito

Página | 5
 Árboles; Un árbol es un grafo que no presenta ciclos y que conecta a todos sus vértices
utilizando el menor número de aristas posibles.

Figura 1.8 – Ejemplo de Árbol

Página | 6
Capítulo 2:

ÁRBOLES

2.1. CONCEPTO DE ARBOL:


Un árbol, dentro del concepto de teoría de grafos, es un conjunto de vértices o nodos enlazados por aristas
o arcos, de modo que el camino formado por la unión de un par de vértices es único.

Para que un grafo sea considerado como árbol, debe cumplir una serie de requisitos expuestos a
continuación: (se representará al conjunto árbol con la letra “G”)

- G es conexo

- G no presenta ciclos simples

- G es conexo, pero si se quita alguna arista deja de ser conexo

- Dos vértices cualesquiera de G están conectados por un único camino simple

Las condiciones anteriores son todas equivalentes, es decir, si se cumple una de ellas otras también se
cumplen. Para árboles finitos además se cumple que: Si un árbol G tiene un número finito de vértices, n,
entonces tiene n − 1 aristas.

Figura 2.1 – Ejemplo de árbol

Página | 7
Algunas definiciones relacionadas con los árboles son:

 Un grafo unidireccional simple G es un bosque si no tiene ciclos simples.

 Un árbol dirigido, también denominado Arborescencia es un grafo dirigido que sería un árbol si no se
consideraran las direcciones de las aristas, es decir, para que se considere a un grafo como árbol, debe
carecer de direccionalidad en sus aristas; en cambio sí se presentan aristas direccionadas en el grafo, el
concepto de árbol ya no aplica a ese caso, por lo que se consideraría el concepto de arborescencia
que será descrito detalladamente más adelante.

 Un árbol recibe el nombre de árbol con raíz si un vértice ha sido designado raíz. En este caso las aristas
tienen una orientación natural hacia o desde la raíz. Los árboles con raíz, a menudo con estructuras
adicionales como orden de los vecinos de cada vértice, son una estructura clave en informática;
véase árbol (programación).

 Un árbol etiquetado es un árbol en el que cada vértice tiene una única etiqueta. Los vértices de un árbol
etiquetado de n vértices reciben normalmente las etiquetas {1,2, ..., n}.

 Un árbol regular u homogéneo es un árbol en el que cada vértice tiene el mismo grado, es decir, que
todos los vértices que componen el árbol deben tener la misma cantidad de aristas que los unen.

 Todo árbol posee una altura. Recorriendo el mismo en forma de grafo dirigido y considerando que las
aristas parten desde los vértices hacia algún otro vértice o hacia alguna hoja, de forma tal que todo
camino inicia en la raíz y termina en una hoja, puede afirmarse que el árbol posee una altura h. Dicha
altura será igual a la longitud del camino con más aristas.

2.2. ARBOL RECUBRIDOR MINIMO:


a) Funcionamiento:
El método del árbol recubridor mínimo o también denominado árbol de expansión mínima, surge de
determinar dentro de un proyecto de construcción o cualquier otra aplicación, todos los parámetros que

Página | 8
involucren un aumento en la producción, optimización, etc., y a su vez una reducción en los costos de
operación, distancias recorridas y otros factores. En resumen, se busca la ruta más conveniente para el
óptimo funcionamiento y ejecución de un proyecto.

Dentro del concepto de la teoría de grafos, antes de adentrarnos en los métodos para hallar el árbol
recubridor mínimo, es preciso conocer el origen de dicho árbol, para ello debemos considerar un grafo “G”
que tenga las siguientes características:

- G debe ser simple

- G debe ser conexo

- G no debe tener aristas dirigidas

- G debe contar con pesos en sus aristas.

Si se observa con cuidado la cuarta condición, se hace mención a la expresión “peso en sus aristas”; dentro
del campo de la teoría de grafos, el peso de una arista se refiere a que ésta se encuentra acompañada de
un valor numérico que representa distintos parámetros como ser: Distancias, costos, y otros datos que se
consideran en el diseño y operación de un proyecto de ingeniería.

Al contar con todos los datos y requisitos necesarios en el grafo, es posible hallar por distintos métodos el árbol
recubridor mínimo.

En conclusión, el árbol recubridor mínimo vendría a ser un componente extraído del grafo original, es decir,
que del grafo (el cual debe cumplir todos los requerimientos detallados anteriormente), se obtiene por
métodos definidos, un subgrafo que representa al árbol recubridor mínimo (que debe cumplir con los
requisitos previos para que sea considerado un árbol). Para aclarar todo ello, observe la figura 2.2, en donde
se muestra en color gris claro el grafo estudiado, y en color negro, el árbol recubridor mínimo obtenido.

Figura 2.2 – Representación Gráfica del Árbol Recubridor Mínimo

Página | 9
En la figura también es posible observar que al realizar la suma de todos los pesos de las aristas que conforman
el árbol, se obtiene un valor mínimo respecto a la suma de los pesos de cualquier otra ruta que pueda
presentarse en el grafo, es por esa razón que se denomina árbol recubridor mínimo. También nótese que el
árbol involucra a todos los vértices presentes en el grafo y los une cumpliendo todas las características que
debe tener un árbol.

Para hallar el árbol en cuestión, se hace uso de dos métodos:

- Algoritmo de Prim
- Algoritmo de Kruskal

A continuación, se hará una descripción de éstos métodos

b) Algoritmo de Prim:
 ¿Quién Fue Prim?
Robert C. Prim, Nació en 1921, Sweetwater, (Estados Unidos) es un matemático e ingeniero
informático.

Robert Prim en 1957 descubrió un algoritmo para la resolución del problema del Árbol de coste
total mínimo (minimum spanning tree - MST). Este problema es un problema típico de optimización
combinatoria, que fue considerado originalmente por Otakar Boruvka en 1926 mientras estudiaba
la necesidad de electrificación rural en el sur de Moravia en Checoslovaquia. Este problema
también fue resuelto por Joseph B. Kruskal en 1956.

Figura 2.3 – Robert C. Prim

Página | 10
 Introducción al Método:

El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol
recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas.

En otras palabras, el algoritmo encuentra un subconjunto de aristas que forman un árbol con todos
los vértices, donde el peso total de todas las aristas en el árbol es el mínimo posible. Si el grafo no
es conexo, entonces el algoritmo encontrará el árbol recubridor mínimo para uno de los
componentes conexos que forman dicho grafo no conexo.

El algoritmo fue diseñado en 1930 por el matemático Vojtech Jarnik y luego de manera
independiente por el científico computacional Robert C. Prim en 1957 y redescubierto por Dijkstra
en 1959. Por esta razón, el algoritmo es también conocido como algoritmo DJP o algoritmo de
Jarnik.

 Descripción del Método:

El algoritmo incrementa continuamente el tamaño de un árbol, comenzando por un vértice inicial


al que se le van agregando sucesivamente vértices cuya distancia a los anteriores es mínima. Esto
significa que, en cada paso, las aristas a considerar son aquellas que inciden en vértices que ya
pertenecen al árbol.

El árbol recubridor mínimo está completamente construido cuando no quedan más vértices por
agregar.

El algoritmo podría ser informalmente descrito siguiendo los siguientes pasos:

 Inicializar un árbol con un único vértice, elegido arbitrariamente del grafo.

 Aumentar el árbol, por un lado. Llamamos lado a la unión entre dos vértices: de las posibles
uniones que pueden conectar el árbol a los vértices que no están aún en el árbol,
encontrar el lado de menor distancia y unirlo al árbol.

 Repetir el paso 2 (hasta que todos los vértices pertenezcan al árbol)

 Ejemplo de Aplicación:

Se quiere construir una red de caminos que comunique a la cabecera municipal de San Jacinto
con las villas y rancherías de la región. Un experto ha estimado el costo de construcción (en
millones de Bs.) de cada uno de los caminos factibles y lo ha plasmado en una red que se muestra
en la siguiente figura:

Página | 11
Determinar la red de caminos con el menor costo de construcción, que una a todos los puntos
mostrados en el grafo.

 El primer paso consiste en determinar el vértice inicial del árbol a encontrar, basándonos
en el grafo propuesto, consideraremos al vértice N°1 como el inicial.

 Una vez determinado el nodo inicial, se debe seleccionas todas las aristas que parten de
él y sus destinos, como se muestra a continuación:

Como se puede observar, el primer nodo en formar parte del árbol vendría a ser el N°1, de
éste parten cuatro aristas enlazados a cuatro vértices, de todos estos, el más corto vendría

Página | 12
a ser la arista (1,4) con un peso de 4, entonces el siguiente vértice en formar parte del árbol
sería el N°4.

 Al igual que con el nodo N°1, consideramos todas las aristas que parten del nodo N°4,
como se muestra en la figura:

Pero los pesos de las aristas que parten del nodo N°4 tienen valores muy altos para ser
tomados en cuenta dentro el árbol deseado, entonces debemos volver al punto de partida
(Nodo N°19 y buscar una arista de menor peso, en este caso vendría a ser la arista (1,2)
con un peso de 5.

 Ahora que el nodo N°2 forma parte del árbol, se deben considerar todas las aristas que
parten de él, como se muestra en la siguiente figura:

De todas las aristas que parten del nodo N°2, la de menor peso es la que une a 2 y 3,
entonces el nodo N°3 formaría parte del árbol

Página | 13
 Nótese que el peso de las aristas que parten del nodo N°3, tienen mayos peso que las que
parten del nodo N°2, situación que no es conveniente para hallar el árbol, entonces se
vuelve al nodo predecesor (Nodo N°2) parta hallar una nueva ruta hacia el siguiente nodo
(Nodo N°5)

 Considerado el nodo N°5 como parte del árbol, realizamos el mismo procedimiento que
en pasos anteriores:

 Continuando para el nodo N°6

Página | 14
 Una vez que ya se enlazaron todos los vértices, dar por concluido el ejercicio y por
determinado el árbol recubridor mínimo:

 A continuación, se muestra el árbol generado del grafo original:

Página | 15
 La suma de todos los pesos se muestra en la siguiente tabla:

ARISTA O ARCO PESO [MM de Bs]


(1,4) 4
(1,2) 5
(2,3) 2
(2,5) 3
(5,6) 3
(6,7) 4
TOTAL 21

 Como conclusión final, se determinó que el costo mínimo para la construcción de una red
vial que una los 7 puntos establecidos, tiene un precio total de 21 millones de bs.

c) Algoritmo de Kruskal:
 ¿Quién fue Kruskal?

Joseph B. Kruskal investigador del Math Center (Bell-Labs), que en 1956 descubrió su algoritmo
para la resolución del problema del Árbol de coste total mínimo (minimum spanning tree - MST)
también llamado árbol recubridor euclídeo mínimo.

El objetivo del algoritmo de Kruskal es construir un árbol (subgrafo sin ciclos) formado por arcos
sucesivamente seleccionados de mínimo peso a partir de un grafo con pesos en los arcos.

Figura 2.4 – Joseph B. Kruskal

Página | 16
 Introducción al Método:

El algoritmo de Kruskal es un algoritmo de la teoría de grafos para encontrar un árbol recubridor


mínimo en un grafo conexo y ponderado. Es decir, busca un subconjunto de aristas que, formando
un árbol, incluyen todos los vértices y donde el valor total de todas las aristas del árbol es el mínimo.
Si el grafo no es conexo, entonces busca un bosque expandido mínimo (un árbol expandido
mínimo para cada componente conexa). El algoritmo de Kruskal es un ejemplo de algoritmo
voraz.

El Algoritmo de Kruskal que resuelve la misma clase de problema que el de Prim, salvo que en esta
ocasión no partimos desde ningún nodo elegido al azar. Para resolver el mismo problema lo que
hacemos es pasarle a la función una lista con las aristas ordenada de menor a mayor, e iremos
tomando una para formar el árbol deseado.

 Descripción del Método:

El algoritmo de Kruskal permite hallar el árbol minimal de cualquier grafo valorado (con
capacidades). Hay que seguir los siguientes pasos:

 Se marca la arista con menor valor. Si hay más de una, se elige cualquiera de ellas.

 De las aristas restantes, se marca la que tenga menor valor, si hay más de una, se elige
cualquiera de ellas.

 Repetir el paso 2 siempre que la arista elegida no forme un ciclo con las ya marcadas.

 El proceso termina cuando tenemos todos los nodos del grafo en alguna de las aristas
marcadas, es decir, cuando tenemos marcados n-1 arcos, siendo n el número de nodos
del grafo.

 Ejemplo de Aplicación:

En la figura siguiente se muestra una parte de la red ferroviaria multimodal de una ciudad, donde
se señalan las distancias aproximadas entre terminales en kilómetros. Encontrar el árbol reducidor
mínimo.

Página | 17
 El método consiste en seleccionar las aristas con menor peso de toda la red, partiendo por la más
baja, que en este caso sería la arista que une a los nodos N°10 y 14:

Página | 18
 Luego buscar y seleccionar la arista con peso inmediatamente superior, en este caso vendría a ser la
que une a los nodos N°8 y 12

Página | 19
 Luego la arista que une los nodos N°9 y 12:

 Luego la arista que une a 6 y 11:

Página | 20
 La arista que une a 6 y 8:

 la arista inmediatamente superior sería la que une a 11 y 12, pero fíjese que si tomamos esa ruta, se
forma un ciclo que pasa por los nodos 6-8-11-12, entonces descartar esa arista e ir por la inmediata
superior, en este caso la que une a 4 y 8:

Página | 21
 Seguir con la arista que une a 12 y 15:

 Arista que une a 13 y 14:

Página | 22
 Seguir con la arista que une a 5 y 10, descartar la que une a 9 y 15 por formar un ciclo con 9-12-15:

 Seguir con la arista que une 2 y 4:

Página | 23
 Seguir con la que une 10 y 11:

 Seguir con la que une 11 y 16:

Página | 24
 Seguir con la arista que une a 3 y 5:

 Descartar las aristas que unen a 4-6 y 5-6, ya que forman ciclos, la que le sigue es la que une a 7 y 9:

Página | 25
 Finalmente, la última arista en considerar vendría a ser la que une los nodos N°1 y 3:

Las Aristas de color verde representan el árbol generado, mientras que las azules señalan las
aristas que no fueron incluidas en el proceso debido a que forman ciclos,

A continuación, se muestra el árbol separado del grafo de origen y la tabla para calcular la
suma de todos los pesos involucrados y así, determinar el recorrido mínimo.

Página | 26
RUTA OPTIMA FERROVIARIA
ARISTA O ARCO PESO [km] ARISTA O ARCO PESO [km]
(1,3) 680 (12,8) 100
(2,4) 350 (10,14) 80
(7.9) 590 (6,11) 220
(3,5) 480 (12,15) 260
(4,8) 250 (14,13) 270
(9,12) 120 (11,10) 420
(5,10) 300 (11,16) 470
(8,6) 230
TOTAL, DISTANCIA RECORRIDA: 4820 km.

Página | 27
Capítulo 3:

ARBORESCENCIAS

3.1. CONCEPTO DE ARBORESCENCIA:


Para entender el concepto de arborescencia, debemos conocer primero todo lo relacionado al concepto
de árbol y sus propiedades que lo caracterizan, tal como se mencionó anteriormente, un árbol es un conjunto
formado por vértices y aristas, que juntas forman un grafo simple, conexo, no orientado y sin ciclos.

La diferencia elemental entre un árbol y una arborescencia recae en la orientación de sus aristas; en un árbol,
las aristas no cuentan con una orientación definida, pero en el caso de las arborescencias, éstas si presentan
direcciones definidas y únicas. Entonces el concepto de arborescencia vendría a ser el siguiente:

Una arborescencia o poliárbol es un grafo acíclico orientado, en la cual es fundamental especificar el vértice
principal de partida o también conocido como nodo raíz, de donde se originan las aristas orientadas y
culminan en otros vértices intermedios o en vértices terminales. Para enlazar los diferentes vértices
mencionados, existe una ruta única que parte desde la raíz, de ahí la importancia de su determinación.

figura 3.1 – Árbol Dirigido o Arborescencia

Página | 28
3.2. COMPONENTES DE UNA ARBORESCENCIA:
Una arborescencia tiene por lo general una estructura del tipo jerárquica, es decir, posee diferentes niveles
partiendo de uno superior o raíz, y terminando en uno inferior constituidos por elementos denominados hojas.
en base a esa aclaración, una arborescencia cuenta con los siguientes componentes:

- Raíz; Es el elemento vértice o nodo principal, de él parten las aristas que conectan a otros vértices
ubicados en niveles inferiores.

- Vértice Intermedio; Como su nombre lo indica, son vértices que se encuentran en niveles inferiores al
de la raíz, pero a su vez también cuentan con aristas que parten de estos vértices, en resumen, son
nodos a los cuales llegan y salen aristas.

- Vértice Terminal u Hoja; Son los vértices que marcan el final de un camino o ruta contenida en una
arborescencia.

- Padre; Se denomina así a un nodo inmediatamente superior a otro dentro de una ruta única.

- Hijo; Es el vértice inmediatamente inferior a otro dentro de una misma ruta.

- Ancestro; Son todos los nodos inmediatamente superiores hasta llegar a la raíz en una misma ruta

- Descendientes; Son todos los vértices que se originan de uno superior.

Para entender con mayor claridad los conceptos mencionados, se hará uso de la siguiente arborescencia:

Página | 29
 La raíz vendría a ser el nodo A
 Los vértices intermedios serían los siguientes:
 En el NIVEL 2: B, C, D
 En el NIVEL 3: F, I, J, K
 En el NIVEL 5: L, N
 Los vértices Terminales u Hojas serían los siguientes:
 En el NIVEL 3: E, G, H
 En El NIVEL 4: M, O, P, Q
 En El NIVEL 5: R, S, T
 Algunos ejemplos para definir los conceptos de Padre, Hijo, Ancestro, y Descendiente
 ¿Cuál es el PADRE de H? C
 ¿Cuáles son los HIJOS de D? J, K
 ¿Cuáles son los ANCESTROS DE R? L, F, B, A
 ¿Cuáles son los DESCENDIENTES de A? B, C, D

3.3. TIPOS DE ARBORESCENCIAS:


La clasificación de las arborescencias se basa en la cantidad de vértices intermedios presentes en ellas por
nivel, es decir, cuantos vértices intermedios se encuentran en un nivel A, B, C, etc. según la cantidad de
niveles que tenga la arborescencia.

A este tipo de arborescencias se los denomina “árboles m-arios”, donde el término “m” se refiere al número
de hijos que tiene un vértice intermedio. Ahora, se denomina “árbol m-ario completo” cuando todo vértice
intermedio presenta exactamente el mismo número de hijos.

Para apreciar con mayor claridad los conceptos discutidos, se hará uso de los siguientes ejemplos de árboles:

EJEMPLO 1 – ARBOL BINARIO

Raíz: A
Vértices Intermedios B, C, D, E
N° de Hijos A(m=2), B(m=2), C(m=1), D(m=1), E(m=2)

Página | 30
EJEMPLO 2 – ARBOL BINARIO COMPLETO

Raíz: A
Vértices Intermedios B, C, D, G
N° de Hijos A(m=2), B(m=2), C(m=2), D(m=2), G(m=2)
EJEMPLO 3 – ARBOL TERCIARIO

Raíz: A
Vértices Intermedios B, C, D, E, F, G, I
N° de Hijos A(m=3), B(m=1), C(m=3), D(m=1), E(m=1), F(m=2),
I(m=3), G(m=1)
EJEMPLO 4 – ARBOL TERCIARIO COMPLETO

Raíz: A
Vértices Intermedios B, C, D, H
N° de Hijos A(m=3), B(m=3), C(m=3), D=(m=3), E(m=3)

Página | 31
3.3. ARBORESCENCIA DEL CAMINO MÁS CORTO:
a) Funcionamiento:
En la teoría de grafos, el problema del camino más corto es el problema que consiste en encontrar un camino
entre dos vértices (o nodos) de tal manera que la suma de los pesos de las aristas que lo constituyen es
mínima. Un ejemplo de esto es encontrar el camino más rápido para ir de una ciudad a otra en un mapa. En
este caso, los vértices representarían las ciudades y las aristas las carreteras que las unen, cuya ponderación
viene dada por el tiempo que se emplea en atravesarlas.

Este método puede ser utilizado tanto en grafos que presenta aristas dirigidas como no dirigidas, o una
combinación de ambos, en este caso se usará para grafos con aristas dirigidas. Al presentar arcos dirigidos,
la ruta más corta será única, y a diferencia de los árboles generados en anteriores casos, para hallar la ruta
más corta, ésta no tiene la obligación de pasar por todos los vértices del grafo.

Es lógico llegar a esa conclusión, ya que, si forzamos a que el árbol generado pase por todos los vértices
presentes en el grafo, la ruta ya no sería única, además si este presenta aristas dirigidas, es prácticamente
imposible que se encuentre una ruta que incluya a todos los puntos, salvo raras excepciones en que las rutas
son escasas o el grafo presenta un número reducido de vértices y aristas. En situaciones más complejas que
involucren un mayor número de elementos a analizar, forzar a la ruta más corta pasar por todos los nodos de
un grafo, sería algo ridículo.

Los métodos que se utilizarán para hallar los caminos más cortos que puedan generarse en grafos con
arcos dirigidos, son los siguientes:

- Algoritmo de Dijkstra

- Algoritmo de Floyd – Warshall

b) Algoritmo de Dijkstra:

 ¿Quién fue Dijkstra?


Edsger Wybe Dijkstra (Róterdam, Países Bajos, 11 de mayo de 1930 - Nuenen, Países Bajos, 6 de
agosto de 2002) fue un científico de la computación de los Países Bajos.

Poco después de su muerte en el 2002, recibió la distinción ACM PODC Influential Paper Award
en computación distribuida por su trabajo en la auto-estabilización en programas
computacionales. Este premio fue renombrado a Premio Dijkstra el siguiente año en su honor.

Dijkstra fue uno de los mayores oponentes de la visión de las ciencias de la computación desde
el punto de vista de la ingeniería. Mediante el término "ciencias de la computación", que
sustituyó a "ciencias del computador", Dijkstra quería hacer énfasis en los mecanismos
abstractos que esta ciencia tiene.

Página | 32
Dijkstra consideraba que el trabajo de un programador no era la realización de programas,
sino diseñar las distintas clases de computación para el posterior desarrollo de estos. Este
pensamiento queda reflejado en su obra The Humble Programmer (1972).

Figura 3.2 – Edsger W. Dijkstra

Dijkstra murió el 6 de agosto de 2002 después de una larga lucha contra el cáncer.

 Introducción al Método:

El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es un algoritmo para


la determinación del camino más corto dado un vértice origen al resto de los vértices en un
grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo describió por
primera vez en 1959.

La idea subyacente en este algoritmo consiste en ir explorando todos los caminos más cortos
que parten del vértice origen y que llevan a todos los demás vértices; cuando se obtiene el
camino más corto desde el vértice origen, al resto de vértices que componen el grafo, el
algoritmo se detiene. El algoritmo es una especialización de la búsqueda de costo uniforme, y
como tal, no funciona en grafos con aristas de coste negativo (al elegir siempre el nodo con
distancia menor, pueden quedar excluidos de la búsqueda nodos que en próximas iteraciones
bajarían el costo general del camino al pasar por una arista con costo negativo).

 Descripción del Método:

Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo inicial, un vector
D de tamaño N guardará al final del algoritmo las distancias desde x al resto de los nodos.

 Inicializar todas las distancias en D con un valor infinito relativo ya que son
desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a
que la distancia de x a x sería 0.

Página | 33
 Sea a = x (tomamos a como nodo actual).

 Recorremos todos los nodos adyacentes de a, excepto los nodos marcados,


llamaremos a estos nodos no marcados vi.

 Para el nodo actual, calculamos la distancia tentativa desde dicho nodo a sus vecinos
con la siguiente fórmula: dt(vi) = Da + d(a,vi). Es decir, la distancia tentativa del nodo
‘vi’ es la distancia que actualmente tiene el nodo en el vector D más la distancia desde
dicho el nodo ‘a’ (el actual) al nodo vi. Si la distancia tentativa es menor que la
distancia almacenada en el vector, actualizamos el vector con esta distancia
tentativa. Es decir: Si dt(vi) < Dvi → Dvi = dt(vi)

 Marcamos como completo el nodo a.

 Tomamos como próximo nodo actual el de menor valor en D (puede hacerse


almacenando los valores en una cola de prioridad) y volvemos al paso 3 mientras
existan nodos no marcados.

 Una vez terminado al algoritmo, D estará completamente lleno.

 Ejemplo de aplicación:

En la planeación de vialidades urbanas se hace uso de sistemas de información geográfica


(SIG), donde se generan rutas a partir de matrices origen-destino obtenidas en encuestas o
análisis territoriales, y con ellas se asignan flujos a las distintas vialidades. en la figura siguiente
se muestra esquemáticamente una parte de la traza urbana de la ciudad de Sucre, con una
longitud de arcos en km. Encuentre la Ruta más corta entre la Facultad de Ing. Civil y La
Facultad de Tecnología.

Página | 34
 Para hallar la ruta más corta entre los puntos A y B, debemos partir del punto inicial y considerar
todas las aristas que parten de
NODO CLASIFICACIÓN CONDICIÓN
A [0, -] Permanente
1 [2,0 ; A] Temporal
4 [1,2 : A] Temporal
9 [0,9 ; A] Temporal

 Al observar con detenimiento la gráfica, nótese que las rutas posibles más largas se
encuentran en la parte superior, entonces automáticamente rechazamos cualquier ruta
posible en esa zona (Arista A,1). Debemos centrarnos en las rutas (A,4) y (A,9) que son las más
cortas, entonces también debemos remarcar todas las aristas generadas en los nodos 4 y 9

NODO CLASIFICACIÓN CONDICIÓN


A [0, -] Permanente
1 [2,0 ; A] Descartado
4 [1,2 : A] Temporal
5 [2,0 ; 4] Temporal
10 [2,0 ; 4] Temporal
9 [0,9 ; A] Temporal
16 [2,6 ; 9] Temporal
18 [2,3 ; 9] Temporal

Página | 35
 Como se puede observar, los valores acumulados obtenidos en las distintas rutas temporales
generadas son similares, por lo que es muy pronto para seleccionar una ruta única, para ello
debemos seguir avanzando hasta generar datos relevantes para seleccionar la ruta más corta.
Para ello consideraremos todas las aristas que se originan en los nodos 5, 10, 16 y 18, como se
observa en la siguiente Tabla:

NODO CLASIFICACIÓN CONDICIÓN


A [0, -] Permanente
4 [1,2 : A] Temporal
5 [2,0 ; 4] Temporal
10 [2,0 ; 4] Temporal
11 [2,4 ; 10] Temporal
16 [2,5 ; 10] Temporal
9 [0,9 ; A] Temporal
16 [2,6 ; 9] Temporal
17 [3,2 ; 16] Temporal
18 [2,3 ; 9] Descartada
19 [3,7 ; 18] Descartada

Como se puede observar en la Tabla, vemos que la ruta 9-18-19 (Valor Acumulado = 3,7) cada
vez se hace más larga en comparación a la ruta 9-16-17 (Valor Acumulado = 3,2), entonces
descartamos totalmente la ruta 9-18-19

Página | 36
 Hasta ahora es posible obtener cinco rutas posibles: La ruta 4-5, la ruta 4-10-11-12, la ruta 4-
10-11-17, la ruta 4-10-16-17, la ruta 9-16-17-B. Como vemos en la tabla, la ruta 4-5 se descarta
por alejarse del destino cada vez más, la ruta 4-10-16-17 también se descarta por tener un
valor acumulado igual a 3,1. la ruta 9-16-17 también se descarta por tener un valor acumulado
igual a 3,2. Las rutas posibles serían 4-10-11-17 con un V.A = 3,0 y la ruta 4-10-11-12 con un V.A
=2,7. En la tabla se remarcaron las tres rutas que llegan al nodo N°17 para que sea más fácil
seleccionar cuál es la más corta.

NODO CLASIFICACIÓN CONDICIÓN


A [0, -] Permanente
4 [1,2 : A] Permanente
5 [2,0 ; 4] Descartado
10 [2,0 ; 4] Permanente
11 [2,4 ; 10] Permanente
12 [2,7 ; 11] Temporal
17 [3,0 ; 11] Permanente
16 [2,5 ; 10] Descartado
17 [3,1 ; 16] Descartado
9 [0,9 ; A] Descartado
16 [2,6 ; 9] Descartado
17 [3,2 ; 16] Descartado
B [3,6 ; 17] Temporal

Página | 37
 la primera ruta obtenida es A-4-10-11-17-B con V.A = 3,6, la otra ruta alternativa vendría a ser
A-4-10-11-12-13-B (nótese que no se puede in de 13 a 14, lo que la única ruta a seguir es hasta
B)

NODO CLASIFICACIÓN CONDICIÓN


A [0, -] Permanente
4 [1,2 : A] Permanente
10 [2,0 ; 4] Permanente
11 [2,4 ; 10] Permanente
12 [2,7 ; 11] Permanente
13 [2,9 ; 12] Permanente
B [3,6 ; 13] Permanente
17 [3,0 ; 11] Permanente
B [3,6 ; 17] Permanente

Si consideramos la ruta A-4-10-11-12-13-B, vemos que tiene un V.A = 3,6, lo que no lleva a la
conclusión que para este grafo existen dos rutas mínimas con el mismo valor agregado, en
este caso igual a 3,6.

 en resumen, las dos rutas obtenidas son las siguientes

- A-4-10-11-17-B

- A-4-10-11-12-13-B

Página | 38
 En la figura siguiente se observa la arborescencia del camino más corto generada del grafo
principal, en su forma aislada:

Página | 39
Capítulo 4:

CONCLUSIONES
4.1. CONCLUSIONES:

 Un grafo está compuesto por dos elementos, vértices y aristas. Su función es la de relacionar los
diferentes componentes de un sistema determinado de modo que sea posible alcanzar un arreglo
sistemático que permita el funcionamiento óptimo de dicho sistema. Para ello se hace el uso de las
matemáticas y otras ciencias.

 La teoría de grafos se encarga del estudio de todas las propiedades de un tipo de grafo determinado.

 Un árbol es un grafo conexo, simple, acíclico No dirigido. Su función principal dentro del campo de la
ingeniería es la de representar rutas óptimas dentro de una red, con el fin de facilitar la resolución de
problemas ingenieriles en cuanto a la optimización de costos, tiempos de ejecución, selección de
material, reducción de distancias, etc.

 Para hallar aquellos árboles mencionados (árbol recubridor mínimo en este caso) se hace el uso de
varios métodos, entre estos se encuentran los algoritmos de Prim y Kruskal.

 El algoritmo de Prim determina el árbol recubridor mínimo considerando un nodo inicial del cual
partirán los demás, durante ese proceso, se van seleccionando de manera ordenada loa arcos con
menor valor hasta cubrir todos los vértices del sistema a resolver. Por ningún motivo se deben formar
ciclos, ya que ello anula el concepto de árbol.

 El algoritmo de Kruskal es similar al de Prim, con la diferencia de que no se requiere de un nodo de


partida, se empieza por seleccionar los arcos de menor peso en el sistema y de forma ascendente se
va generando un bosque, que no es más que un conjunto de árboles que no tienen relación alguna
entre ellos, es decir, no existe conexión alguna entre dichos árboles. Conforme se vayan seleccionando
aristas cada vez de mayor peso, poco a poco esos árboles independientes se unirán hasta formar el
árbol recubridor buscado. Al igual que en el anterior método, se debe procurar no formar ciclos en el
proceso.

 Las arborescencias son árboles dirigidos, es decir, poseen arcos con una dirección única. Por lógica
los grafos de donde provienen las arborescencias, también deben tener arcos dirigidos.

 Al igual que en los árboles NO dirigidos, lar arborescencias también tienen como función la de
representar rutas óptimas y cortas de circulación dentro de un sistema determinado, para ello se hace
uso de varios métodos como ser: el algoritmo de Dijkstra o el algoritmo de Floyd.

Página | 40
 Para hacer uso del algoritmo de Dijkstra se debe contar con un nodo raíz de donde partirá el resto del
sistema, se van determinando varias rutas posibles de circulación y en función al valor del peso
acumulado que se obtiene a medida que se avanza en el recorrido de las posibles rutas, se determina
cual es la más corta, hasta que al final solo queda una. Se dan casos en que se obtiene más de una
ruta mínima en un mismo sistema, en ese caso es posible seleccionar ambas, o bien, escoger aquella
que represente mayores facilidades para llegar al destino (puede intervenir el número de vértices
involucrados, la proximidad al destino, etc.)

4.2. BIBLIOGRAFÍA:
 INSTITUTO TECNOLÓGICO DE TIJUANA – Teoría de Árboles
 UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO, FACULTAD DE INGENIERIA – Ejercicios Dirigidos y
Problemas Resueltos de Teoría General de Sistemas Aplicada a la Ingeniería Civil – 2010
 XAVIER GUYON – Métodos Numéricos por Cadenas de Markov, Página 60.

SITIOS Web
 https://es.wikipedia.org/wiki/Teor%C3%ADa_de_grafos
 https://es.wikipedia.org/wiki/Grafo
 https://es.wikipedia.org/wiki/Multigrafo
 https://es.wikipedia.org/wiki/Grafo_completo
 https://es.wikipedia.org/wiki/Grafo_bipartito
 https://es.wikipedia.org/wiki/%C3%81rbol_(teor%C3%ADa_de_grafos)
 https://es.wikipedia.org/wiki/%C3%81rbol_recubridor_m%C3%ADnimo
 https://es.wikipedia.org/wiki/Algoritmo_de_Prim
 https://es.wikipedia.org/wiki/Algoritmo_de_Kruskal
 https://es.wikipedia.org/wiki/Poli%C3%A1rbol
 https://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra
 https://es.wikipedia.org/wiki/Algoritmo_de_Floyd-Warshall
 https://es.wikipedia.org/wiki/Problema_del_camino_m%C3%A1s_corto#Grafos_dirigidos_con_ponder
aci.C3.B3n_no_negativa
 https://es.slideshare.net/AlexisChavez1/rboles-y-grafos
 https://es.slideshare.net/espejoxiii/arboles-15510425
 https://es.slideshare.net/eduardo307/arborescencia-de-ruta-mas-corta
 https://es.slideshare.net/eduardo307/ejemplo-1-de-arborescencia-de-ruta-mas-corta1

Página | 41
Contenido
Capítulo 1: INTRODUCCION ......................................................................................................................... 1
1.1. DEFINICION DE GRAFO: ....................................................................................................................................... 1
1.2. TEORÍA DE GRAFOS:.............................................................................................................................................. 2
a) Clasificación de Grafos: ..................................................................................................................................... 2
Capítulo 2: ÁRBOLES ................................................................................................................................. 7
2.1. CONCEPTO DE ARBOL: ............................................................................................................................................. 7
2.2. ARBOL RECUBRIDOR MINIMO: ................................................................................................................................ 8
a) Funcionamiento:....................................................................................................................................................... 8
b) Algoritmo de Prim: .............................................................................................................................................. 10
c) Algoritmo de Kruskal: ......................................................................................................................................... 16
Capítulo 3: ARBORESCENCIAS ..................................................................................................................... 28
3.1. CONCEPTO DE ARBORESCENCIA: ....................................................................................................................... 28
3.2. COMPONENTES DE UNA ARBORESCENCIA: ...................................................................................................... 29
3.3. TIPOS DE ARBORESCENCIAS: ................................................................................................................................. 30
3.3. ARBORESCENCIA DEL CAMINO MÁS CORTO: ................................................................................................. 32
a) Funcionamiento:..................................................................................................................................................... 32
b) Algoritmo de Dijkstra: ............................................................................................................................................ 32
Capítulo 4: CONCLUSIONES ....................................................................................................................... 40
4.1. CONCLUSIONES: .................................................................................................................................................. 40
4.2. BIBLIOGRAFÍA: ........................................................................................................................................................... 41

Página | 42