Está en la página 1de 35

P.

Reyes
Introducción
Resolver este laberinto consiste en mover la bola amarilla en
las direcciones que indican las flechas ← ↑ → ↓ , hasta
llevarla al lugar en que se encuentra la estrella. Cuando
movemos la bola en una de las 4 direcciones permitidas, ésta
continuará su movimiento hasta chocar con un objeto. Interesa
encontrar el camino más corto.
Matemática Discreta

Práctica 4
Bosque recubridor
P.Reyes
Introducción
Cierta región se ve devastada por un terremoto que destruye todas sus
carreteras. Las autoridades se plantean conseguir la normalidad lo
antes posible, haciendo que dos ciudades cualesquiera estén
comunicadas entre si. ¿Qué carreteras tendrán que reconstruir con
mayor prioridad?
Matemática Discreta
P.Reyes
Introducción
Cierta región se ve devastada por un terremoto que destruye todas sus
carreteras. Las autoridades se plantean conseguir la normalidad lo
antes posible, haciendo que dos ciudades cualesquiera estén
comunicadas entre si. ¿Qué carreteras tendrán que reconstruir con
mayor prioridad?
Matemática Discreta
P.Reyes
Introducción
Cierta región se ve devastada por un terremoto que destruye todas sus
carreteras. Las autoridades se plantean conseguir la normalidad lo
antes posible, haciendo que dos ciudades cualesquiera estén
comunicadas entre si. ¿Qué carreteras tendrán que reconstruir con
mayor prioridad?
Grafo conexo
Matemática Discreta

Sin ciclos

Árbol recubridor
P.Reyes
Introducción
¿Cómo reconstruir algunas carreteras entre las capitales de
Andalucía, de forma que se pueda ir de una capital a otra y
se reconstruya el menor número de kilómetros?
CO
104
138
JA
Matemática Discreta

SE 187
166
99
94
GR
H 256
125 219 166
129

219 AL
CA
265 MA
P.Reyes
Introducción
¿Cómo reconstruir algunas carreteras entre las capitales de
Andalucía, de forma que se pueda ir de una capital a otra y
se reconstruya el menor número de kilómetros?
CO
104
138
JA
855 Km
Matemática Discreta

SE 187
166
99
94
GR
H 256
125 219 166
129

219 AL
CA
265 MA

Árbol recubridor de
peso mínimo
(grafos ponderados)
P.Reyes
Introducción
El servicio de
ambulancias de una
ciudad tiene que acudir
repetidamente a distintos
núcleos de población de
la ciudad. ¿Cuál es el
Matemática Discreta

camino de menor
distancia a cada uno de
ellos?

Árbol de camino más corto


desde un vértice del grafo a
los demás.
(grafos ponderados)
P.Reyes Tema 3: Árboles

• Introducción. Caracterización.

• Árboles enraizados
Matemática Discreta

• Árboles de decisión

• Árboles recubridores

• Grafos ponderados. Camino más corto.


P.Reyes
Introducción
Matemática 
Es conexo (T.1)
Discreta Un grafo T=(V,A) es un árbol si
No contiene ciclos (T.2)
Árboles

Tema 3: 9
P.Reyes
Introducción
Matemática 
Es conexo (T.1)
Discreta Un grafo T=(V,A) es un árbol si
No contiene ciclos (T.2)

Un grafo G=(V,A) que no contiene ciclos se llama bosque.

Cada componente conexa de un bosque es un árbol.


Árboles

Tema 3: 10
(T.1) Conexo
P.Reyes
Introducción (T.2) No tiene ciclos

Matemática 
Discreta
Teorema de caracterización de árboles:
Dado un grafo T=(V,A), son equivalentes las siguientes condiciones:

a) T es un árbol (T.1 y T.2)

b) Entre dos vértices cualesquiera de T existe un único camino simple

c) T es conexo y al eliminar una arista cualquiera del grafo se desconecta


dando lugar a dos componentes conexas, que son árboles
Árboles

d) T es conexo y na=nv-1, siendo na el número de aristas y nv el número de


vértices
e) T no contiene ciclos y na=nv-1, siendo na el número de aristas y nv el
número de vértices

a) b) c) d) e)

Tema 3: 11
P.Reyes
Introducción
Matemática 
Discreta
Un árbol es:

• un grafo conexo sin ciclos.

• un grafo con un único camino simple entre cada dos


vértices.

• un grafo conexo que al eliminar cualquier arista se


produce un bosque de dos árboles.
Árboles

• un grafo conexo con nv vértices y nv-1 aristas.

• un grafo sin ciclos con nv vértices y nv-1 aristas.

Tema 3: 12
P.Reyes
Introducción
Matemática 
Discreta
Algunas propiedades:
1) Si a un árbol se añade una arista se genera un ciclo.
Árboles

v
u

Tema 3: 13
P.Reyes
Introducción
Matemática 
Discreta
Algunas propiedades:
1) Si a un árbol se añade una arista se genera un ciclo.

2) Si eliminamos otra arista del ciclo así obtenido se obtiene


otro árbol, no necesariamente isomorfo al anterior.
Árboles

v v
u u

(4,3,3,2,2,2,1,1,1,1,1,1) (3,3,3,2,2,2,2,1,1,1,1,1)

Tema 3: 14
P.Reyes
Introducción
Matemática 
Discreta
Algunas propiedades:
1) Si a un árbol se añade una arista se genera un ciclo.

2) Si eliminamos otra arista del ciclo así obtenido se obtiene


otro árbol, no necesariamente isomorfo al anterior.

3) Si G=(V,A) es un bosque con c componentes conexas


(árboles), entonces nv = na + c
Árboles

(V1,A1) (V2,A2) (V3,A3) (Vc,Ac)

v1 = a1 + 1 v2 = a2 + 1 v3 = a3 + 1 vc = ac + 1

nv =v1 + v2 + v3 + ... + vc = a1 +1+ a2 +1+ a3 +1 + .... + ac + 1= na + c


Tema 3: 15
P.Reyes
Introducción
Matemática 
Discreta
Algunas propiedades:
1) Si a un árbol se añade una arista se genera un ciclo.

2) Si eliminamos otra arista del ciclo así obtenido se obtiene


otro árbol, no necesariamente isomorfo al anterior.

3) Si G=(V,A) es un bosque con c componentes conexas


(árboles), entonces nv = na + c
Árboles

4) Si a un árbol le añadimos un vértice y una arista incidente en


él, se obtiene un nuevo árbol.

conexo

n’v = n’a + 1

n v = na + 1
Tema 3: 16
P.Reyes
Introducción
Matemática  Ejercicio: Obtener todos los árboles de menos de 7 vértices
Discreta nv na Lista de grados
1 0 (0)
2 1 (1,1)
3 2 (2,1,1)
4 3 (3,1,1,1) (2,2,1,1)
5 4 (4,1,1,1,1) (3,2,1,1,1) (2,2,2,1,1)
6 5 (5,1,1,1,1,1) (4,2,1,1,1,1) (3,3,1,1,1,1) (3,2,2,1,1,1) (2,2,2,2,1,1)
Árboles

Tema 3: 17
P.Reyes
Árboles enraizados
Matemática  Árbol con un vértice destacado (raíz).
Discreta
d i
g
a k
c
e r
b r
Nivel 0
h j
f g h j
Árboles

k Nivel 1

e i Nivel 2

f c Nivel 3
peso o altura del árbol
a d
Nivel 4

b Nivel 5

Tema 3: 18
P.Reyes
Árboles enraizados
Matemática  r c es vértice padre de d
Discreta
g h j d es vértice hijo de c
k
e g es vértice abuelo de f
i
f es vértice nieto de g
f c
g es ascendiente de a
a d
Árboles

a es descendiente de g

b
hojas

vértices internos

Tema 3: 19
P.Reyes
Árboles enraizados
Matemática 
Discreta Árbol m-ario: Todos los vértices internos tienen m hijos
Árbol binario (m=2)
Árbol ternario (m=3)
Árboles

Tema 3: 20
P.Reyes
Árboles enraizados
Matemática 
Discreta Árbol m-ario: Todos los vértices internos tienen m hijos

Árbol m-ario completo: Todas las hojas al mismo nivel

Árbol binario completo


Árbol ternario (no completo)
Árboles

Tema 3: 21
P.Reyes
Árboles enraizados
Matemática  Propiedades de los árboles m-arios:
Discreta
1) Sea T=(V,A) un árbol m-ario, de altura p y h hojas. Entonces se
verifican las dos desigualdades siguientes (que son equivalentes):
a) p  log m h b) h  m p

2) Si T=(V,A) es un árbol m-ario con i vértices internos, su número total de


vértices viene dado por
Árboles

n=mi +1

Consecuencia: Un árbol binario


tiene un número impar de vértices,
concretamente 2 i + 1 (i internos e
i + 1 hojas).

Tema 3: 22
P.Reyes
Árboles de decisión
Matemática  vértice interno una decisión
Discreta
aristas que van al siguiente nivel resultados de cada decisión
hojas resultados finales del proceso

Problema Árbol de decisión


Árboles

coste del algoritmo altura del árbol

Problema de la moneda falsa:


Tenemos una moneda auténtica (0) y otras r monedas (1,2,...,r), indistinguibles de
la auténtica por su apariencia. Se sospecha que una de estas monedas es falsa
(demasiado ligera o demasiado pesada). ¿Cuál es el menor número de pesadas
necesarias para determinar qué moneda es falsa, si es que hay alguna, y si es mas
ligera o más pesada que el resto?

Tema 3: 23
P.Reyes
Árboles de decisión
Matemática 
Problema de la moneda falsa:
Discreta Tenemos una moneda auténtica (0) y otras r monedas (1,2,...,r), indistinguibles de
la auténtica por su apariencia. Se sospecha que una de estas monedas es falsa
(demasiado ligera o demasiado pesada). ¿Cuál es el menor número de pesadas
necesarias para determinar qué moneda es falsa, si es que hay alguna, y si es mas
ligera o más pesada que el resto?

Decisión (vértice interno) Hojas (resultados del problema)


Árboles

B: No hay moneda falsa

iP: La moneda i es falsa (pesada)

iL: La moneda i es falsa (ligera)


Aristas < >
=
Número de hojas: h = 2r + 1

Altura del árbol: p  log 3 (2r+1)

Tema 3: 24
P.Reyes
Árboles de decisión
Matemática 
Problema de la moneda falsa:
Discreta Tenemos una moneda auténtica (0) y otras r monedas (1,2,...,r), indistinguibles de
la auténtica por su apariencia. Se sospecha que una de estas monedas es falsa
(demasiado ligera o demasiado pesada). ¿Cuál es el menor número de pesadas
necesarias para determinar qué moneda es falsa, si es que hay alguna, y si es mas
ligera o más pesada que el resto?
Ejemplo: (r=4)

h=9: B, 1P, 2P, 3P, 4P, 1L, 2L, 3L, 4L Altura del árbol: p  log 3 (9) = 2
Árboles

0,1 2,3

< >
=

2 3 0 4 2 3

< > < > < >


= = =

3P 1L 2P 4P B 4L 2L 1P 3L
Tema 3: 25
P.Reyes
Árboles recubridores
Matemática  Dado un grafo G = (V,A), un árbol recubridor de G es un árbol que es
Discreta
subgrafo recubridor de G (su conjunto de vértices es V).
Árboles

Tema 3: 26
P.Reyes
Árboles recubridores
Matemática 
Discreta Teorema: Un grafo G = (V, A) contiene algún árbol recubridor
si, y sólo si, es conexo.

Si el grafo G = (V, A) no es conexo, contiene algún bosque


recubridor.

Búsqueda en profundidad (DFS)


(Depth First Search)
Árboles

Algoritmos de búsqueda
de un árbol recubridor
Búsqueda en anchura (BFS)
(Breadth First Search)

Tema 3: 27
P.Reyes
Árboles recubridores
Matemática  Algoritmo de búsqueda en profundidad (DFS)
Discreta
ENTRADA: grafo G=(V,A)
P01: V’=; A’=  (vértices y aristas del bosque recubridor)
P02: Mientras queden vértices no visitados
P03: P={x}, siendo x  V un vértice no visitado del grafo G
P04: Marcar x como visitado
P05: Añadir el vértice x a V’
P06: Mientras que P   :
Árboles

P07: x=último elemento de P


P08: Si x es adyacente a algún vértice y no visitado
P09: Añadir y al final de P
P10: Marcar y como visitado
P11: Añadir a A’ la arista {x,y}; añadir a V’ el vértice y
P12: En caso contrario : Quitar x de P
SALIDA: Retorna el bosque T = (V’,A’)

Tema 3: 28
P.Reyes
Árboles recubridores
Algoritmo de búsqueda en anchura (BFS)
Matemática 
Discreta ENTRADA: grafo G=(V,A)
P01: V’= ; A’=  (vértices y aristas del bosque recubridor)
P02: Mientras queden vértices no visitados en G
P03: Q={x}, siendo x  V un vértice no visitado del grafo G

P04: Marcar x como visitado


P05: Añadir el vértice x a V’
P06: Mientras que Q   :
Árboles

P07: x=primer elemento de Q


P08: Mientras que exista un vértice no visitado y, adyacente a x
P09: Añadir y al final de Q
P10: Marcar y como visitado

P11: Añadir a A’ la arista {x,y}; añadir a V’ el vértice y


P12: Quitar x de la cola Q
SALIDA: Retorna el bosque T = (V’,A’)

Tema 3: 29
P.Reyes Aplicación de los algoritmos BFS y DFS a la
Matemática 
resolución de laberintos
Discreta

1 2 3 4 5
A
8 9
6 7
10

11 12 13 14
Árboles

15 16

17 19
18
Z

Tema 3: 30
P.Reyes
Árboles recubridores
A
Matemática  Aplicación del árbol DFS a la resolución de laberintos
Discreta 1
2
1 2 3 4 5
A
3 13
8 9
6 7 14 12
10
9 7
11 12 13 14
16
8
Árboles

15 6
15 16
10 11
18
17 19 17
18 19
Z
4
5

Tema 3: 31
P.Reyes
Árboles recubridores
A
Matemática  Aplicación del árbol DFS a la resolución de laberintos
Discreta 1
2
1 2 4 5
A
3 13

14 12
9 7
13 14
16
8
Árboles

15 6
15 16
10 11
18
19 17
18 19
Z
4
5

Tema 3: 32
P.Reyes
Árboles recubridores
Matemática  Aplicación del árbol BFS a la resolución de laberintos
Discreta A
1
1 2 3 4 5
A
2 7
8 9
6 7 12
3 13 6
10
14 11
11 12 13 14
Árboles

9 16 17
15 16
8 15
17 19
18 10 18
Z
19

4
5

Z
Tema 3: 33
P.Reyes
Árboles recubridores
Matemática  Aplicación del árbol BFS a la resolución de laberintos
Discreta A
1
1 2 4 5
A
2 7

3 13 6 12
14 11
13 14
Árboles

9 16 17
16 15 8 15
18 19
10 18
Z
19

4
5

Z
Tema 3: 34
P.Reyes
Árboles recubridores
Matemática  ¿Qué pasa si se aplican DFS o BFS a un grafo no conexo?
Discreta

v1 v2 v3 v4

v5 v8 v 10
v6 v7 v9
Árboles

v 11 v 12 v 13

Bosque recubridor de un grafo no conexo

Tema 3: 35