MOR - Tema 2
Árboles
Bosque. Definición
Sea , se dice bosque si es un grafo no orientado acíclico, es decir, si no contiene ciclos.
Árbol. Definición
Sea , se dice árbol si es un grafo no orientado acíclico y conexo.
💡Nota
Llamamos árbol trivial al árbol de orden 1, es decir, el árbol que contiene un único vértice y ningún arco.
Proposición
Sea un bosque que no es árbol, entonces cada una de sus componentes conexas es un árbol.
Teorema 2.1
Sea grafo no orientado con y , las siguientes expresiones son equivalentes:
- es un árbol.
- Entre cada dos vértices de existe una única cadena elemental que los une
- es conexo y
- es acíclico y
📐Demostración
- Sea árbol, entonces por definición de árbol, es conexo entonces existe al menos una cadena elemental que los une.
Supongamos que no es única, es decir, para existen y cadenas elementales distintas que unen con . Entonces:
Esto es imposible porque es acíclico por definición de árbol. Por lo tanto, la cadena elemental que une con es única.
- Sea grafo no orientado tal que entre cada dos vértices existe una única cadena elemental que los une. Entonces, es conexo por definición.
Para ver que aplicamos inducción sobre :
- Si . Como existe una única cadena elemental que une los dos vértices, dicha cadena tiene que ser la arista que los une. Al ser única entonces:
- Supongamos que se cumple para , entonces se cumple para . Sea grafo con y y arista cualquiera. Como los vértices y están unidos por esta arista y por hipótesis existe una única cadena elemental que los une, por el lema 1.4:
Por tanto, aplicando el lema 1.8 tenemos que tiene dos componentes conexas que son grafos de orden menor a . Por hipótesis de inducción, cada una de estas componentes cumple:
De esta forma:
- Basta ver que es acíclico. Sea grafo conexo con , supongamos que contiene un ciclo . Sea arista cualquiera, aplicando la proposición 1.6 tenemos que:
Ahora, aplicando el teorema 1.9 tenemos que:
Como por hipótesis , entonces llegamos a que:
Pero por la construcción de tenemos que:
- Basta ver que es conexo. Sea acíclico con con componentes conexas . Cada componente es conexa y acíclica (por serlo ), por lo que son árboles. Aplicando tenemos que:
Por lo tanto:
Y por hipótesis , entonces:
Y por tanto, como solo tiene una componente conexa, es conexo.
Árbol. Definición equivalente
A partir del teorema 2.1 y la proposición 1.7, podemos definir un árbol de las siguientes maneras equivalentes:
- conexo y sin ciclos
- Entre cada dos vértices de existe una única cadena elemental que los une
- es acíclico y
- es conexo y
- es minimalmente conexo
- es conexo y todas sus aristas son puentes
💡Nota
Como consecuencia, tenemos demostrado que un grafo minimalmente conexo tiene exactamente aristas.
Raíz, nudo y hoja. Definición
Sea un árbol, fijado un vértice (llamado raíz) se definen:
- Nudo: Cualquier vértice intermedio entre la raíz y una hoja, es decir:
- Hoja: Cualquier vértice que cumple:
A cada arista de se le llama rama.
Nivel de un vértice. Definición
Sea árbol y su raíz, el nivel de un vértice es la longitud de la cadena elemental desde la raíz al vértice, es decir, el número de ramas que hay en dicha cadena.
Altura del árbol. Definición
Sea árbol y su raíz, la altura del árbol es el máximo nivel entre todos los vértices de .
Árbol binario. Definición
Sea un árbol, se dice árbol binario si, sea su raíz:
💡Nota
Para aquellos que curséis la asignatura desde el doble grado de informática, notar que en ED un árbol binario podía tener un nudo con un solo hijo, pero aquí no.
Árbol de unión de valor mínimo
Bosque de unión. Definición
Sea grafo no orientado, se dice bosque de unión a todo grafo parcial de que es un bosque.
✏️Ejercicio
Dada la definición anterior, ¿se cumple que todo grafo contiene un bosque de unión?
Sí, ya que a partir de cualquier grafo, podemos eliminar aristas hasta que no queden ciclos. Incluso, basta notar que el grafo parcial generado a partir de un grafo en el que eliminamos todas las aristas, es decir, , es un bosque.
Árbol de unión. Definición
Sea grafo no orientado, se dice árbol de unión a todo grafo parcial de que es un árbol.
✏️Ejemplo
Dada la definición anterior, ¿se cumple que todo grafo contiene un árbol de unión?
No, ya que si el grafo de partida no es conexo, no podrá contener ningún árbol de unión.
No obstante, si se añade el matiz de que el grafo de partida es conexo, entonces sí que se cumple que todo grafo conexo contiene un árbol de unión. Esto se debe a que, partiendo de un grafo conexo, podemos eliminar aristas hasta que no queden ciclos y el grafo siga siendo conexo. Al final, nos quedará un árbol.
Teorema 2.2
Sea un grafo no orientado, se cumple que:
📐Demostración
- Sea grafo que contiene a un árbol de unión , por definición de árbol de unión, se cumple que y que es conexo. Por lo tanto, para cada par de vértices :
- ) Sea grafo conexo se dan dos casos:
Redes
Red. Definición
Sea grao orientado (no orientado), se dice red orientada (no orientada) a la terna donde es una aplicación que a cada arco (arista) le asigna un peso .
Estos pesos son valores numéricos que indican el valor asociado a cada arco (arista) en la red. Pueden representar costos, distancias, capacidades u otras métricas relevantes según el contexto de la red.
Matriz de distancias de una red orientada. Definición
Sea red orientada de orden , se define la matriz de distancias asociada, denotada como o como la matriz cuyos elementos vienen dados por:
💡Nota
Notar que a partir de una matriz de pesos se puede obtener la matriz de adyacencia de la red . Sin embargo, una misma matriz de adyacencia puede corresponder a múltiples matrices de pesos diferentes, dependiendo de los valores asignados a los pesos de los arcos.
Matriz de distancias de una red no orientada. Definición
Sea red no orientada de orden , se define la matriz de distancias asociada, denotada como o como la matriz cuyos elementos vienen dados por:
💡Nota
Al igual que en el caso de las redes orientadas, a partir de se puede conocer pero el recíproco no es cierto.
Red no orientada conexa. Definición
Sea red no orientada, se dice conexa si es un grafo no orientado conexo.
Red orientada conexa. Definición
Sea red orientada, se dice débilmente conexa (cuasi-fuertemente conexa; fuertemente conexa) si es un grafo orientado débilmente conexo (cuasi-fuertemente conexo; fuertemente conexo).
💡Nota
La conexión es una propiedad intrínseca del grafo, es decir, no depende de los pesos del mismo en una red.
Árbol de unión de una red. Definición
Sea red orientada (no orientada), se dice árbol de unión de la red a todo árbol de cuyo grafo asociado es un árbol de unión.
Valor de un árbol de unión
Sea red no orientada conexa y un árbol de unión del grafo asociado a la red , se dice valor del árbol de unión al valor:
Árbol de unión de valor mínimo
Sea una red no orientada conexa y sea un árbol de unión de , se dice árbol de unión de valor mínimo de si:
donde es el conjunto de todos los árboles de unión en el grafo asociados a la red .
✏️Ejercicio
¿Podemos asegurar la existencia de un árbol de unión de valor mínimo?
Sí, ya que dado que es conexa, por el teorema 2.2 sabemos que existe al menos un árbol de unión en . Además, como el conjunto de árboles de unión es finito (pues el conjunto de aristas es finito), existe al menos un árbol de unión con valor mínimo.
Teorema 2.3
Sea red no orientada conexa, un árbol de unión de valor mínimo en y con los subgrafos conexos de tales que forman una partición de . Dado , si es una arista de menor valor entre las aristas con un extremo en y otro en , entonces:
📐Demostración
Bajo las condiciones previas, sea y arista de menor valor entre las aristas con extremos y . Entonces se dan dos casos:
- Si . En este caso, pertenece al árbol de unión de valor mínimo y se cumple lo que queríamos demostrar.
- Si . Como conexo, entonces cadena en que une con . Así:
Si consideramos el subgrafo con entonces:
Además, es un ciclo en , por lo que aplicando la proposición 1.6 tenemos que:
Además, se cumple que:
Por tanto, por el teorema 2.1, es un árbol y por tanto, por definición de árbol de unión, es un árbol de unión de .
Además, como:
Y como es un árbol de unión de valor mínimo, entonces:
Consecuencias del teorema 2.3
Como consecuencias del teorema 2.3, tenemos:
- Una arista de menor peso en un grafo conexo estará contenida en un árbol de unión de valor mínimo de .
💡Nota
Basta tomar y con y como el conjunto formado por uno de los extremos de la arista de menor peso.
- Si el AUVM es único, entonces es evidente que aplicando sucesivamente el teorema 2.3 se puede reconstruir el AUVM completo.
- Si no es único, se podría probar que la aplicación reiterada de el teorema 2.3 permite construir uno de los AUVM del grafo.
- Basándose en el teorema 2.3, se puedeen obtener distintos algoritmos para hallar un AUVM en una red conexa.
Algoritmo de Prim
El algoritmo de Prim es un método voraz para encontrar un árbol de unión de valor mínimo en una red no orientada , donde es un grafo con y :
- Seleccionamos cualquiera y definimos y
- Sea con e tal que:
Hacemos y y avanzamos a 3. Si no existen ninguna arista, avanzamos a 4. 3. Si ir a 2. Si parar porque es un AUVM de . 4. Parar, el grafo no es conexo y por tanto no existe AUVM.
Unicidad del AUVM. Proposición 2.4
Sea una red no orientada conexa. Si todos los pesos asociados a las aristas son distintos, existe un único árbol de unión de valor mínimo en dicha red.
📐Demostración
Como es conexa, entonces es conexo y, por el teorema 2.2, contiene al menos un árbol de unión. Además, el número de árboles de unión es finito (ya q ue el grafo es finito), existirá al menos uno con valor mínimo.
Para ver que es único, supongamos que existen dos árboles de unión en de valor mínimo y son distintos, es decir: y con y . Al ser distintos, se tiene que:
Sea la arista de menor peso en , que es única por hipótesis, supongamos sin pérdida de generalidad que . Como es conexo, existe una cadena en que une los extremos de . Como y estamos con 1-grafos, entonces la cadena no puede ser una arista. Por lo tanto, contendrá un ciclo formado por:
Como es un árbol, por definición es acíclico, por lo que tiene que existir al menos una arista tal que . Por lo tanto:
Por la elección de como la arista de menor peso en , se cumple que:
Si consideramos el subgrafo parcial de definido como , será conexo ya que lo era y, por tanto, también. Además, claramente el ciclo está en , por lo que aplicando la proposición 1.6 tenemos que es conexo.
Además, sea , como es árbol, aplicando el teorema 2.1 tenemos que tiene aristas y, por construcción, también tiene aristas.
Como es conexo y con aristas, por el teorema 2.1 tenemos que es un árbol de unión y, por tanto, por definición de árbol de unión, es un árbol de unión de .
Finalmente, calculamos el valor de :
Lo que contradice la hipótesis de que es un árbol de unión de valor mínimo. Por lo tanto, nuestra suposición inicial era falsa y el AUVM es único.
✏️Ejercicio
Sea una red no orientada conexa:
- Si el árbol de unión no es único, ¿existen al menos dos pesos iguales?
Por la proposición anterior aplicando la negación tenemos:
Por lo tanto, si el AUVM no es único, existen al menos dos pesos iguales.
- Si los pesos no son todos distintos, ¿podemos asegurar que el árbol de unión no es único?
No, ya que el hecho de que existan pesos iguales no implica necesariamente que haya múltiples AUVM.
- Si el árbol de unión es único, ¿podemos asegurar que los pesos son todos distintos?
No, ya que el hecho de que el AUVM sea único no implica necesariamente que todos los pesos sean distintos.
Bosque de unión de valor mínimo
Sea red no conexa, las componentes conexas de generan subgrafos y cada uno de ellos contiene un árbol de unión de valor mínimo. El bosque de unión de valor mínimo de es el conjunto formado por los árboles de unión de valor mínimo de cada una de las componentes conexas de .
Árboles y bosque de unión de valor máximo
Sea red n orientada, si se aplican los algoritmos vistos anteriormente considerando los pesos en lugar de , se obtienen árboles y bosques de unión de valor máximo.
Transformaciones monótonas de los pesos
Sea red no orientada conexa, puesto que el AUVM los forman las aristas de menor peso que no formen ciclos, encontrar el AUVM en es equivalente a encontrar el AUVM en la red donde:
Análogamente, se llega a que el árbol de unión de valor máximo en es equivalente al árbol de unión de valor máximo en donde:
Arborescencias
La idea de arborescencia es similar a la de árbol, pero en este caso se trabaja con grafos orientados.
Raíz de un grafo orientado. Definición
Sea grafo orientado, se dice que es raíz de salida de si todo vértice es alcanzable desde , es decir, si para todo existe o, en otras palabras:
Análogamente, se dice que es raíz de entrada de si todo vértice alcanza a , es decir, si para todo existe o, en otras palabras:
Teorema 2.5
Sea grafo orientado:
📐Demostración
La demostración es trivial a partir de las definiciones de raíz de entrada/salida y de grafo cuasi-fuertemente conexo en sentido ascendiente/descendente.
Arborescencia de salida/entrada.
Idea
La idea de la arborescencia de salida es que tiene que ser la forma minimal de ir de un vértice a todos los demás, por lo que debe tener un vértice del que se pueda ir a todos los demás, es decir, una raíz de salida.
Por otra parte, la forma de ir debería de ser única y no resulta suficiente exigir que no tenga circuitos, hay que exigir que no tenga ciclos.
Aún así, no es suficiente y hay que exigir que no tenga arcos de doble sentido, es decir:
Redundancia de las condiciones
Podemos plantearnos si alguna de las condiciones previas es redundante, es decir, si alguna de ellas se puede deducir de las otras. La condición candidata podría ser:
Sin embargo, esto no es cierto en general, existen grafos cuyo grafo subyacente es acíclico pero que contienen circuitos. También pueden existir grafos sin circuitos cuyo grafo subyacente no es acíclico.
Por tanto, ninguna de las condiciones es redundante y todas son necesarias para definir una arborescencia de salida/entrada.
Arborescencia de salida. Definición formal
Sea grafo orientado, se dice que es arborescencia de salida si:
- tiene una raíz de salida o equivalentemente, es cuasi-fuertemente conexo en sentido descendiente.
- es acíclico.
- no tiene circuitos.
Además, son equivalentes las siguientes condiciones:
- no contiene circuitos entonces
- Si es acíclico, es suficiente saber que no existen arcos de doble sentido para asegurar que no tiene circuitos. Esto se debe a que si el circuito tiene al menos 3 arcos, contendrá un ciclo y si tiene 2 arcos, tiene que ser de doble sentido. Por tanto:
Por lo que se puede definir alternativamente la arborescencia de salida mediante las condiciones:
- G tiene una raíz de salida o equivalentemente, es cuasi-fuertemente conexo en sentido descendiente.
- es acíclico.
Arborescencia de entrada. Definición formal
Análogamente, sea grafo orientado, se dice que es arborescencia de entrada si:
- es cuasi-fuertemente conexo en sentido ascendiente o equivalentemente, tiene una raíz de entrada.
- es acíclico.
- no tiene circuitos o equivalentemente, no tiene arcos de doble sentido.
Arborescencia de salida/entrada binaria
Se dice que una arborescencia de salida/entrada es binaria a aquella en la que cada vértice tiene grado de salida/entrada igual a 0 o 2
Teorema 2.6
Sea grafo orientado con entonces son equivalentes:
- es una arborescencia de salida con raíz de salida .
- Existe de tal que con .
- es minimalmente cuasi-fuertemente conexo en sentido descendiente con raíz de salida
📐Demostración
Sea grafo orientado con :
- ) Como es arborescencia de salida con raíz de salida , entonces para cualquier existe . Supongamos que existen dos caminos distintos y . Entones, se el conjunto de aristas contiene un ciclo en , lo que entra en contradicción con la definición de arborescencia de salida. Por lo tanto, existe un único camino para cada .
- ) Si tal que con , entonces es cuasi-fuertemente conexo en sentido descendiente con raíz de salida . Supongamos que no es minimal, es decir:
Por tanto, existen en caminos y . De esta forma, y son dos caminos distintos en que unen con , lo que contradice la hipótesis. Por lo tanto, es minimalmente cuasi-fuertemente conexo en sentido descendiente con raíz de salida .
- ) Sea minimalmente cuasi-fuertemente conexo en sentido descendiente, entonces es débilmente conexo. Por definición entonces, el grafo subyacente es conexo y, por el teorema 1.9, se cumple que:
Además, se cumple que ya que si hubiera algún arco entrante a , al eliminarlo el grafo seguiría siendo cuasi-fuertemente conexo en sentido descendiente, lo que contradice la hipótesis de minimalidad.
También, tenemos que para ya que, al ser cuasi-fuertemente conexo en sentido descendiente, existe al menos un arco entrante a y si hubiera más de uno, al eliminar alguno de ellos el grafo seguiría siendo cuasi-fuertemente conexo en sentido descendiente, lo que contradice la hipótesis de minimalidad.
Por lo tanto, tenemos que:
De esta forma, el grafo subyacente cumple que:
Además, por ser conexo, por el teorema 2.1 tenemos que es un árbol y, por tanto, acíclico.
Ahora, falta ver que no existen arcos de doble sentido en . Supongamos que existen tales que . Si eliminamos el arco , el grafo sigue siendo cuasi-fuertemente conexo en sentido descendiente, lo que contradice la hipótesis de minimalidad. Por lo tanto, no existen arcos de doble sentido en .
💡Nota
La arborescencia de salida es equivalente a decir que es cuasi-fuertemente conexo en sentido descendente con
Arborescencia de unión. Definición
Sea grafo orientado, se dice arborescencia de unión (de entrada/salida) a una arborescencia (de entrada/salida) donde .
💡Nota
La arborescencia de unión podría no existir
Teorema 2.7
Sea grafo orientado entonces:
📐Demostración
La demostración se hará para el caso cuasi-fuertemente conexo en sentido descendiente y arborescencia de unión de salida, siendo análoga para el caso ascendente/entrada.
- ) Sea la arborescencia de unión contenida en , por la definición de arborescencia de salida, es cuasi-fuertemente conexo en sentido descendiente. Por tanto, tal que , existe en . Como , entonces también está en y, por tanto, es cuasi-fuertemente conexo en sentido descendiente.
- ) Sea cuasi-fuertemente conexo en sentido descendiente, entonces:
Arborescencia de unión de valor mínimo
Idea
Partimos de una red orientada cuasi-fuertemente conexa (ascendiente/descendente) y queremos encontrar una red orientada tal que sea una arborescencia de unión (de entrada/salida) del grafo que minimice el valor:
AUVM fijada la raíz de salida
Sea red orientada cuasi-fuertemente conexa en sentido descendiente y sea la raíz de salida de una arborescencia de unión de . Se dice arborescencia de unión de valor mínimo con raíz de salida a toda arborescencia de unión de que minimice:
Análogamente se puede definir la arborescencia de unión de valor mínimo con raíz de entrada .
Algoritmo de Edmonds
Este algoritmo se escapa del alcance de este curso. No obstante, si se da el caso particular en el que todos los arcos son en ambos sentidos y el peso es el mismo en todas las direcciones, se podría resolver este problema empleado los algoritmos para grafos no orientados, sin más que adaptar la solución de forma adecuada.
Existencia del AUVM
No siempre el árbol de unión de valor mínimo genera una arborescencia de unión.