Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles
Nieves Castro-Gonzalez
1
Departamento de Matematica Aplicada, Facultad de Informatica
Universidad Politecnica de Madrid, Madrid, Spain
Matematica Discreta II
Tema 2
1
E-mail: nieves@.upm.es
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Outline
1
Arboles
2
Arbol generador
3
Codigo Pr ufer
4
Arboles con raz
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Arboles
Denicion
Un grafo es acclio si no contiene ciclos.
Un grafo es un arbol si es conexo y acclico.
Son arboles los siguientes grafos?
a b
c
d
e
a b
c
d
e
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Teorema
Sea T = (V, A) un grafo simple. Son equivalentes:
(a) T es un arbol.
(b) T es conexo y todas sus aristas son puente.
(c) T es conexo y |A| = |V| 1.
(d) T es acclico y |A| = |V| 1.
(e) Para cada par de vertices distintos u, v V, existe un unico
camino de u a v.
Demo.
(a) (b): Si una arista no es puente, entonces es una arista de
un ciclo. Contradicion con T es arbol.
(b) (c): El mnimo n umero de arista para que T sea conexo
es |V| 1. Si se a nade otra arista entonces se forma un ciclo, y
la arista no puede ser puente. Luego |A| = |V| 1.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Demo.
(Cont.) (c) (d): Si T contiene un ciclo entonces se puede
eliminar una arista y el grafo sigue siendo conexo. Contradicion
con |A| = |V| 1 (mnimo para la conexion)
(d) (e): Si hay dos caminos distintos de u a v entonces se
cierra un ciclo. Contradicion con T es acclico.
(e) (a): Si para cada par de vertices hay un camino que los
une, entonces T es conexo.
Si hay un ciclo, este da lugar a dos caminos distintos entre dos
vertices. Contradicion con la unicidad de camino. Luego T no
tiene ciclos.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Proposicion
Un arbol tiene al menos dos vertices de grado 1.
Demo. (Metodo de reduccion al absurdo)
Supongamos que T = (V, A) posee solo un vertice de grado uno
o ninguno. Entonces si |V| = n se cumple que al menos n 1
vertices tienen grado mayor o igual que dos, luego
2|A| =
vV
d(v) 2(n 1) + 1 = 2n 1
Por otra parte, teniendo en cuenta que en un arbol se cumple
que |A| = |V| 1, resulta que
2|A| = 2(|V| 1) = 2n 2.
Se tendra que cumplir 2n 2 2n 1. Esta contradiccion
implica que T posee al menos dos vertices de grado uno.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Proposicion
Si T es un arbol con un vertice de grado k entonces posee al
menos k vertices de grado uno.
Demo. (Metodo de induccion sobre el grado k del vertice.)
Si k = 1 se cumple (T tiene al menos dos vertices de grado uno)
HI: Supongamos que es cierto para todo arbol T que posee un
vertice de grado k.
Sea ahora T un arbol con un vertice v de grado k + 1.
T e, con e arista incidente en v, tiene dos componentes:
1
un arbol T
1
con un vertice de grado k. Aplicando HI, T
1
posee al menos k vertices de grado uno.
2
un arbol T
2
o un vertice aislado en cuyo caso este tiene
grado uno en T.
Al a nadir la arista e para reconstruir T es posible que un vertice
de grado uno de T
2
aumente de grado pero hay al menos otro
vertice de grado uno de T
2
, y los k vertices de grado uno de T
1
.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Teorema
Un vertice v de un arbol T es un vertice-corte si y solo si v no
tiene grado uno.
1
2
3
4
5 6
7 8
Razonar puede existir un arbol T de orden 8, con un vertice de
grado 4 y 5 vertices de corte?
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Denicion
Un bosque es un grafo no conexo y acclico, esto es, un grafo
donde cada componente conexa es un arbol.
1 2
3
4
5
6
7
8 9
10
Razonar cuantas aristas tiene un bosque de orden 15 con 4
componentes conexas?
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Proposicion
Sea G = (V, A) un grafo con n vertices y k componentes conexas.
Se tiene que G es un bosque si y solo si tiene q = n k aristas.
Demo.
Si G es un bosque, entonces cada componente conexa es
un arbol T
i
= (V
i
, A
i
), donde |A
i
| = |V
i
| 1. Luego
|A| =
k
i =1
|A
i
| =
k
i =1
(|V
i
| 1) = n k.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Denicion
Un arbol generador de un grafo G es un subgrafo que es arbol y
contiene todos los vertices de G.
a
b
d
e
c
a
b
d
e
c
a
b
d
e
c
Teorema
Un grafo es conexo si y solo si posee un arbol generador.
Proof.
Si T es un arbol generador de G entonces para cada par de
vertices distintos u y v de G existe un unico camino de u a v en T,
y este puede no ser el unico camino en G. Luego G es conexo.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Cuantos arboles generadores distintos tiene K
4
?
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Proposicion
(Formula de Cayley) El grafo completo K
n
, tiene n
n2
arboles
generadores diferentes (etiquetados).
Sea T
n
el conjunto de arboles de orden n > 2, con conjunto de
vertices etiquetados con los n umeros {1, . . . , n}. Se puede
establecer una aplicacion biyectiva entre T
n
y el conjunto formado
por todas las secuencias de n 2 n umeros:
T C = (t
1
, . . . , t
n2
), con t
i
{1, ..., n}, 1 i n 2.
La secuencia C asociada a T se llama codigo de Pr ufer del arbol
T.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Codigo de Pr ufer
Algoritmo
Entrada: Un arbol T de orden n, etiquetado con {1, 2, ..., n}.
Salida: Una secuencia C = (t
1
, . . . , t
n2
), con t
i
{1, 2, ..., n}.
Inicializar el codigo C vaco.
1
Se busca el nodo de grado uno u de T de menor etiqueta y se
a nade al codigo C la etiqueta de su vecino.
2
Se borra de T el vertice u, y se dene T := T u.
3
Si T tiene mas de dos vertices se vuelve al paso 1; en caso
contrario FIN.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Ejercicio: Hallar el codigo de Pr ufer del siguiente arbol etiquetado:
Iteraci on 1
3 9
4 2
5
8
7
1 6
C = (3)
Iteraci on 2
3 9
4
5
8
7
1 6
C = (3, 3)
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Iteraci on 3
3 9 5
8
7
1 6
C = (3, 3, 1)
Iteraci on 4
3 9 5
8
7
1
C = (3, 3, 1, 8)
Iteraci on 5
3 9 5
8
7
C = (3, 3, 1, 8, 8)
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Iteraci on 6
3 9 5
8
C = (3, 3, 1, 8, 8, 5)
Iteraci on 7
3 9 5
C = (3, 3, 1, 8, 8, 5, 3)
Paso nal
3 9
C = (3, 3, 1, 8, 8, 5, 3)
Los vertices que no aparecen en el codigo (2,4,7 y 9) son los
vertices de grado uno del arbol; el grado de cada vertice que esta
en el codigo es una unidad mas que el n umero de veces que se
repite en el codigo.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Descodicacion
Algoritmo
Entrada: Un codigo C = (t
1
, . . . , t
n2
), con t
i
{1, 2, ..., n}.
Salida: Un arbol T de orden n, etiquetado con {1, 2, ..., n}.
Inicializar la lista L = [1, 2, ..., n] y un bosque trivial T de n
vertices etiquetados con {1, 2, ..., n}.
Repetir n 2 veces lo siguiente:
1
Sea j el primer elemento de C y sea k el menor n umero de L
que no esta en C. A nadir a T la arista {j , k}. Borrar j de C y
k de la lista L.
2
Cuando solo quedan dos elementos en L y ninguno en C,
a nadir a T la arista que une dichos elementos. FIN.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Ejercicio: Dibujar el arbol con codigo de Pr ufer C = (4, 4, 3, 1, 1).
Iteraci on 1
3
4 2
5
7
1 6
L = [1,
2, 3, 4, 5, 6, 7], C = (4, 4, 3, 1, 1).
Iteraci on 2
3
4 2
5
7
1 6
L = [1, 3, 4,
5, 6, 7], C = (4, 3, 1, 1).
Iteraci on 3
3
4 2
5
7
1 6
L = [1, 3,
4, 6, 7], C = (3, 1, 1).
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Iteraci on 4
3
4 2
5
7
1 6
L = [1,
3, 6, 7], C = (1, 1).
Iteraci on 5
3
4 2
5
7
1 6
L = [1,
6, 7], C = (1).
Paso Final
3
4 2
5
7
1 6
L = [1, 7], C = ().
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Denicion
Sea T un arbol con raz r.
Cualquier nodo en el camino de la raz a v es un antecesor de
v.
Si x es un antecesor de v, entonces v es un descendiente de x .
Si (u, v) es el ultimo arco en el camino de la raz a v,
entonces u es el padre de v y v es el hijo de u. La raz es el
unico nodo sin padre.
Un nodo sin hijos es un nodo externo u hoja.
Los nodos no hojas son nodos internos.
El nivel del vertice v es la longitud del camino de la raz a v.
Se llama altura de un arbol con raz a la maxima distancia de
un vertice a la raz.
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
a
nivel 0
b nivel 1
d nivel 2
e
f nivel 3
g
h
c
vertice raz: a
nodos internos: b, e
nodos externos u hojas: d, c, f, g, h
altura del arbol, h = 3
distancia del vertice a al vertice d, dist(a, d) = 2
hijos de b: d, e (b es padre de d y e)
antecesores del vertice f: b, e
descendientes del vertice b: e,f,g,h
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Arbol de decision
Tres monedas tienen la misma apariencia pero una de ellas es falsa
y tiene distinto peso. Se dispone tan solo de una balanza de
platillos sin pesas. Plantear el arbol de decision del problema de
encontrar la moneda falsa.
Notacion: moneda 1 m
1
, moneda 2 m
2
, moneda 3 m
3
m
1
m
2
m
1
m
3
m
1
m
1
> m
3
m
2
m
1
= m
3
NO
m
1
< m
3
m
1
> m
2
m
3
m
1
= m
2
m
2
m
3
m
2
m
2
> m
3
m
1
m
2
= m
3
NO
m
2
< m
3
m
1
< m
2
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Denicion
Un arbol m-ario es un arbol con raz en el que cada padre tiene a
los sumo m hijos.
Un arbol m-ario es completo si cada padre tiene exactamente m
hijos
Proposicion
El n umero de hojas de un arbol m-ario de altura h es a lo mas m
h
.
La altura de un arbol m-ario de l hojas es al menos log
m
l
Arboles
Arbol generador Codigo Pr ufer
Arboles con raz
Una arista frontera de un arbol con raz T en un grafo G es una
arista que tiene uno de sus extremos en T y el otro no esta en T.
a
b
d
a
b
d
c
Aristas frontera de T: {a, c}, {b, c}, {d, c}