Capitulo 4. ARBOLES
Capitulo 4. ARBOLES
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)
● 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.
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.
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?.
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.
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.
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]
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.
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. 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.
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:
b) ALGORITMO DE KRUSKAL.
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)
e1={v1,v6} = 1
e2={v4,v5} = 1
e3={v4,v7} = 1
e4={v1,v4} = 2
e5={v3,v5} = 2
e6={v4,v6} = 2
e7={v5,v7} = 2
e8={v2,v4} = 3
e9={v6,v7} = 4
e10={v5,v8} = 6
e11={v2,v3} = 7
e12={v7,v8} = 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.