Está en la página 1de 10

CAPITULO 4 - ARBOLES

Definición 1.​Un grafo que no tiene ciclos y que conecta a todos los puntos, se llama
un árbol.
Definicion2.​Un árbol se define como un tipo de grafo que no contiene ciclos, es
decir es un grafo también acíclico, pero a su vez es conexo.

La importancia de los árboles radica en que son grafos que conectan t​ odos​ los vértices
utilizando ​el menor número​ posible de aristas.

Ejemplo 1. árbol con 6 (n) vértices y 5 Ejemplo 2. árbol binario con 9 (n)
aristas(n-1) vértices y 8 aristas(n-1)

Ejercicio1. Es un árbol? Porque(si/no) Ejercicio2. Es un árbol? Porque(si/no)


Teorema- Para determinar si un grafo es un árbol.
Un árbol es un grafo simple ​G ​que satisface ​alguna​ de las siguientes condiciones
equivalentes:

● G​ es c
​ onexo​ y no tiene ​ciclos​ simples.
● G​ no tiene ciclos simples y, si se añade alguna ​arista​ se forma un ciclo simple.
● G​ es conexo y si se le quita alguna arista deja de ser conexo.
● Dos vértices cualesquiera de ​G​ están conectados por un único ​camino simple​.

DEFINICIONES RELACIONADAS CON ARBOLES.


1.​ Un ​árbol etiquetado e ​ s 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}, o {A,B,C,..N}

Ejemplo 1 Ejemplo 2
​ es árbol generador de G​ ​si e
2. A ​ s un árbol​ y es s​ ubgrafo recubridor (o generador)​de G
​ ​.

Definicion: Un subgrafo G´generador es aquel que contiene todos los vértices de G y sus
aristas A´son un subconjunto de A.

A esta característica general es posible agregar ciertos teoremas de modo de detallar aún
más el alcance de la definición.

Teorema: ​Todo grafo conexo posee un árbol generador.


En general un grafo G tendrá varios árboles generadores, como el del siguiente ejemplo 1
el cual tiene como mínimo dos árboles generadores T1 yT2.
Ejemplo1 de subgrafo recubridor.

G H I J
Grafo Subgrafo H Subgrafo I - Es un Subgrafo J - Es un
Recubridor árbol Recubridor árbol Recubridor
(generador de G) de G(si/no/porque?) de (si/no/porque?)
Ejemplo1 Arbol recubridor T1 de G . Ejemplo2. Encuentre todos los arboles
recubridores T de G?.

3. Arbol Recubridor de peso minimo.


Grafos ponderados:​ Un grafo ponderado o grafo con pesos es un grafo G ​ (V, E)​, en el que
a cada arista se le asigna un valor real no negativo o peso. Sobre el conjunto de aristas
se introduce una función peso v: A ​→​R+​​ .
El peso de un subgrafo de un grafo ponderado es la suma de los pesos de todas sus
aristas.

W(V,A)
Sea G el grafo, El peso total del grafo es

Ejemplo 2.Un representante comercial tiene que visitar ​n​ ciudades conectadas entre sí
por carreteras; su interés previsible será minimizar la distancia recorrida (o el tiempo,
si se pueden prever trancones).
El grafo correspondiente tendrá como vértices las ciudades, como aristas las carreteras
y la valuación será la distancia entre ellas.
Para resolver la situación planteada se puede usar un árbol recubridor de peso mínimo.
Porque?
4. Un ​árbol regular ​es un árbol en el que cada vértice tiene el mismo g
​ rado​, salvo las
hojas.

(árbol binario completo y lleno)

5. Arboles enraizados.
Definición de raiz​: Es el único vértice que no tiene padre.
Otra definición​: Un vértice v de un grafo (no dirigido y dirigido) se dice que es una raíz si
todos los vértices del grafo son accesibles desde v.

Un ​árbol recibe el nombre de á ​ rbol con raíz c


​ uando es un árbol en el cual un vértice en
particular se designa como raíz. Los árboles con raíz se representan de forma tal, que
generalmente el vértice raíz se coloca encima de los restantes, los cuales se sitúan por
niveles según su distancia a la raíz.
Los árboles con raíz son una estructura clave en informática.​ ​Se utilizan para especificar
relaciones jerárquicas, por ejemplo árboles genealógicos, relaciones lógicas entre los
registros de una base de datos, operaciones aritméticas, relaciones entre los directorios y
subdirectorios en un computador, etc.

Ejemplo 1. Ejemplo 2.
PROPIEDADES DE LOS ARBOLES
1. Todo árbol es a su vez un ​grafo bipartito​.
(Ejercicios verificar la propiedad en los siguientes grafos)
[Bipartito: Grafo cuyo conjunto de vértices se puede separar en 2 conjuntos disjuntos]

2. Todo árbol con sólo un ​conjunto numerable​ de vértices es además un g


​ rafo plano​.

En ​teoría de grafos​,​ un grafo plano (o planar) es un g


​ rafo​ que puede ser dibujado en el
plano sin que ninguna ​arista​ se interseque.(o se corte)

Una definición más formal puede ser que este grafo pueda ser "embebido" en un ​plano​.
Un grafo no es plano si no puede ser dibujado sobre un plano sin que sus aristas se
intersequen.

Ejemplo 1. Grafo plano


Ejemplo 2 Grafo plano(k​4​)

Ejemplo 4.Es un Grafo plano (k​3,3​) ?


Ejemplo 3. Es (k​5​) un Grafo plano?
Ejemplo 6. Árbol (Grafo plano)
Ejemplo 5. Árbol (Grafo plano)

3. Todo grafo conexo ​G​ admite un ​árbol de expansión​(árbol recubridor o árbol


generador)

Un árbol de expansión de un grafo conexo, no dirigido ​G​ es un árbol compuesto por todos
los vértices y algunas (quizá todas) de las aristas de ​G.​
Ejemplo: Árbol de expansión de una RED.
Es un subconjunto del grafo que representa toda la red y tiene las siguientes
características:
● Mantener la conectividad: es posible alcanzar cualquier nodo desde cualquier otro.
● Elimina los lazos: no hay bucles o ciclos y
● Contiene a todos los nodos de la red.

Ejemplo 1. Sea el grafo conexo G que árbol de expansión de la red anterior


representa una red

4. Los árboles tienen exactamente n - 1 aristas.


(Ejercicio verificar la propiedad en los siguientes ejemplos de árboles)

Ejemplo 1. Ejemplo 2.
ALGORITMOS DE CONSTRUCCIÓN Y GENERACIÓN DE ÁRBOLES.
a) ALGORITMO DE PRIM
El algoritmo de Prim obtiene UN ÁRBOL RECUBRIDOR MÍNIMO en un GRAFO G PONDERADO (no
se admiten ponderaciones negativas) y CONEXO.

La implementación del algoritmo se realiza partiendo de un vértice que puede proporcionar el


usuario, aunque no es obligatorio. Además sea cual sea el vértice de partida el árbol recubridor
SIEMPRE tendrá el MISMO PESO MÍNIMO.

El algoritmo comienza con un vértice y en cada iteración añade al grafo una arista de peso
mínimo la cual tiene como origen un vértice perteneciente al árbol parcialmente construido y
como destino un vértice perteneciente al grafo G y que no formaba parte del árbol, de tal forma
que no pueda insertarse ningún ciclo. Dicho proceso se lleva a cabo hasta que todos los vértices
de G han sido visitados.

Podríamos construir el algoritmo de la siguiente forma, teniendo en cuenta que la idea básica
consiste en añadir, en cada paso, una arista de peso mínimo a un árbol previamente construido.
Más explícitamente:

Paso 1. Se elige un vértice u de G y se considera el árbol S={u}


Paso 2. Se considera la arista e de mínimo peso que une un vértice de S y un vértice que no es de
S, y se hace S=S+e.
Paso 3. Si el nº de aristas de T es n-1 el algoritmo termina. En caso contrario se vuelve al paso 2
Ejemplo:
Aplicar el algoritmo de PRIM al siguiente
grafo PONDERADO G.

Como vértice inicial o de partida tomaremos


el vértice “v1”.
T0 = { v1}.
T1 = T0 + {v1, v6}.
T2 = T1 + {v1, v4}.
T3 = T2 + {v4, v7}.
T4 = T3 + { v4, v5}.
T5 = T4 + { v3, v5}.
T6 = T5 + { v2, v4}.
T7 = T6 + { v5, v8}.
Peso del árbol recubridor = 16.
Arbol Recubridor que se obtiene.
Ejercicio1:Aplicar el algoritmo de PRIM al
siguiente grafo PONDERADO G2.

Describa cada uno de los pasos que realiza el


algoritmo de PRIM. Vértice inicial ​a.​

b) ALGORITMO DE KRUSKAL.

El algoritmo de Kruskal obtiene un árbol recubridor de peso mínimo en un grafo G


PONDERADO (no se admiten ponderaciones negativas) y CONEXO. Si el grafo G no es
conexo obtiene un bosque de peso mínimo.

Como paso previo se realiza un PREPROCESAMIENTO A LAS ARISTAS del grafo,


ordenándolas de menor a mayor según su ponderación.

En cada iteración se AÑADE UNA ARISTA DE PESO MÍNIMO que NO forme ciclo con el
árbol recubridor PARCIALMENTE CONSTRUIDO.

La idea básica consiste en elegir sucesivamente las aristas de mínimo peso sin formar
ciclos y de tal manera que el algoritmo se puede resumir asi:
• Paso 1. Se elige la arista de mínimo peso e y se considera S={e}.
• Paso 2. Sea e’ la arista de mínimo peso tal que e’ no pertenece a S, sino a G y S+e’
es un grafo acíclico. Se hace S=S+e'.
• Paso 3. Si S tiene n-1 aristas, el algoritmo termina. En caso contrario se vuelve al
paso 2.
Ejemplo: Aplicar el algoritmo de KRUSKAL al siguiente grafo PONDERADO G.

Primero se ordenan las aristas en orden de menor a mayor peso. Vértice inicial (v1)
e​1​={v​1​,v​6​} = 1
e​2​={v​4​,v​5​} = 1
e​3​={v​4​,v​7​} = 1
e​4​={v​1​,v​4​} = 2
e​5​={v​3​,v​5​} = 2
e​6​={v​4​,v​6​} = 2
e​7​={v​5​,v​7​} = 2
e​8​={v​2​,v​4​} = 3
e​9​={v​6​,v​7​} = 4
e​10​={v​5​,v​8​} = 6
e​11​={v​2​,v​3​} = 7
e​12​={v​7​,v​8​} = 9
Ahora iniciamos el árbol desde el vértice v1,
S={e1}
Añadimos la siguiente arista de menor peso,
S= {e1} + e2 y así vamos adicionando aristas sin que formen ciclos…
Gráficamente lo podemos ver de la
siguiente manera:
Ejercicio: Aplicar el algoritmo de KRUSKAL al siguiente grafo PONDERADO G2.

Describa cada uno de los pasos, que realiza el algoritmo de KRUSKAL, Vértice inicial a.

También podría gustarte