Você está na página 1de 35

Matemática Discreta FISI 2015-1 Daniel A.

Quinto Pazce

RECURSIVIDAD 1

RELACIÓN RECURSIVA:
Es un proceso repetitivo en el que cada término se puede expresar
en términos de los anteriores hasta llegar a sus condiciones
iniciales y retornar la respuesta hacia el punto de partida; a este
proceso se le llama asignación dinámica de memoria cache.
Sea la relación Recursiva:
Sn = C1Sn-1 + C2Sn-2 + … + Ck Sn-k, Donde: S0, S1 .. Sm; son
Condiciones iniciales (punto Base), y C1, C2, C3, …. Ck son los
coeficientes recursivos.
Sn Se puede observar que están expresados en términos de los
anteriores como podemos observar:
A) CASO RECURRENCIA SIMPLE
Ejemplo:
1) Sn = 2Sn-1 + 1, con condiciones inicial S0 =0
Sn-1 = 2Sn-2 +1
Sn = 2(2Sn-2 +1) + 1
Sn = 2 2 Sn-2 +21 + 1
Sn-2 = 2Sn-3+1
Sn = 23Sn-3 + 22 + 2 + 1
Generalizando:
Sn = 2nSn-n + 2n-1 + 2n-2 + … + 22 + 2 + 1
Sn = 2n-1 + 2n-2 + … + 22 + 2 + 1

2n 1 1 1
Sn =
2 1
n
Sn = 2 1 Significa la cantidad de movimiento de la
torre de Hanoi

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

2
2) Sea Sn = 3 Sn-1 de condición inicial S0 = 1
Halle S5
S5 = 3S4
S5 = 3(3S3)
S5 = 3(3(3S2))
S5 = 3(3(3(3S1)))
S5 = 3(3(3(3(3S0))))
S5 = 35S0
S5 =243 S0
S5 =243

n n
3) Sn = S + S de condiciones inicialesS0 = 0 y S1 = 1
2 3

Hallar S16 =?
S1
S2
S0
S4
S1
S8 S1

S2
S0
S16 S16 = 3S0 + 5S1
S1
S2
S16 = 3*0 + 5*1
S0 S16 = 5
S5

S1

4) Ejemplo Dada la relación recursiva


Sn = 2,47 Sn-1 con S0 = 2,47

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Hallar a su forma iterativa. 3


Solución:
Sn = 2,47 Sn-1
Sn-1 = 2,47 Sn-2
Sn = (2,47)2 Sn – 2
Sn-2 = 2,47 Sn-3
Sn = (2,47)3 Sn – 3
generalizando …
Sn = (2,47)n Sn – n
= (2,47)n . S0
Sn = (2,47)n+1

5) Resolver la recurrencia

CN 2C N N, C.I. C1 =0 , N 2
2

Cuando N es una potencia de 2  se puede expresar N = 2n

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

CN 2C N N como N=2 n 4
2
C 2C 2n
2n 2n
2
C 2C 2n
2n 2n 1
C 2C
2n 2n 1 1
n n
2 2
C n C
2 2n 1 1
n n 1
2 2
C C
2n 1 2n 2 1
n 1 n 2
2 2
C C n
2n 2 2
1 1
n n 2
2 2
Generalizando.....
C n n
= 2 1 1 ... 1
2n n
C n
2 C1 n
2n
C n
2 0 n
2n
C n
2 n
2n
C n 2n
2n

Ejercicio. Resolver CN C N N2 , . C1 =1 , N 2
2

Cuando N es una potencia de 2

B) CASO DE RECURRENCIA (Orden Superior)


Dada la relación recursiva de orden superior
Si la ecuación característica, asociada a una relación
de recurrencia lineal, tiene t raíces reales distintas,
b1, b2,…, bt, entonces la solución es de la forma:
Daniel A. Quinto Pazce Semestre 2015-1
Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

5
n n n
S(n) = S1b1 + S2b2 + ... + Stbt ;

Si alguna de las raíces (reales) aparece repetida, (por


ejemplo ti aparece mi veces) la solución general es de
la forma:
S(n) = S1t1n + S2t2n + ... S i n(t i)n + ...+ Simi nmi-1( ti)n
siendo 1 k t

Ejemplo 1: dada la ecuación recursiva

a(n) = 3a(n-1)+4a(n-2)
si n>2, con condiciones iniciales a(0)=0 y a(1)=1,
hallar la solución general.
Solución:
A) Ecuación Características

De la Ecuación recursiva, a(n) = 3a(n-1)+4a(n-2)


pasamos todo al primer miembro:
a(n)-3a(n-1)-4a(n-2)=0
La ecuación característica es de la forma: t2-3t-4=0
Solución (t + 1)( t- 4) = 0 t1=-1 y t2 = 4
B) Solución General
a(n)=c1(t1)n + c2(t2)n
a(n)=c1(-1)n + c2(4)n
resolviendo con las condiciones iníciales tenemos:
a(0)=0 y a(1)=1

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

para la CI-1: a(0)=0 se tiene 6


a(n)= c1 + c2
Para la CI-2: a(1)=1 se tiene
a(n)= - c1 + 4 c2 = 1
Resolviendo; se tiene c1 = -1/5 y c2 = 1/5, la solución
general es :
a(n)=(-1/5) (-1)n + (1/5) (4)n => a(n)= 1/5[4n-(-1)n]
NOTA, Escribiendo en su forma de función, la ecuación-r.:
a(n)-3a(n-1)-4a(n-2)=0 , se tiene:

0 para n = 0
a(n) = 1 Para n = 1
3a(n-1)-4a(n-2) para n > 1

Ejemplo 2
Dada an = 6an-1 – 9an-2 ; (CI): a0 = 1, a1 = 6
¿Hallar la solución General?
Solución:
A) Ecuación Características
De la Ecuación recursiva dada, pasamos al primer miembro
an – 6an-1 + 9n-2 = 0
a) La Ecuación característica es
t2 – 6t + 9 = 0
(t - 3)2 = 0
Existe solución de multiplicidad par
t1 = 3 ; t2 = 3
b) Solución General
an = C1(t1)n + C2 n (t2)n

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Reemplazando la solución de multiplicidad 7


par de t1 = 3 ; t2 = 3 se tiene:
an = C13n + C2n3n
ahora resolver C1, C2 con las condición iniciales
Para CI-1: a0 = 1 30 C1 + 0.30 C2 = 1 C1 = 1
Para CI-2: a1 = 6 31C1 + 1.31 C2 =6
6 = 3 + 3 C2
C2 = 1
Luego: reemplazando en la solución general
an = 3n + n3n
Solución General: an = 3n (n + 1)
Ejercicio 3: dada la relación recursiva:
an = 7an-1 – 16an-2 +12an-3 Con CI: a1 = 3, a2 = 11, y a3 = 29
Hallar la solución no recursiva; pasamos al primer miembro:

an 7an 1 16an 2 12an 3 0 , n 4, a1 3, a 2 11, a3 29


Solución:
A) Ecuación Características

 t3 – 7t2 +16 t -12 =0


( t - 2)2 (t - 3) = 0
Cuyas raíces son: t = 2, de multiplicidad par y
t = 3.
B) Ecuación General
an = A1 (t1)n + A2 n (t2)n + A3(t3)n
an = A1 (2)n + A2 n (2)n + A3(3)n
Por las condiciones iniciales:
Para a1 = 3, a2 = 11, y a3 = 29 se tiene

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

3 2A1 2A 2 3A 3 8
11 4A 1 8A 2 9A 3
29 A 1 24A 2 27A 3

Cuya solución es A1 = 1, A2 = 2 y A3 = -1,


Reemplazando estos coeficientes, se tiene:

an = 2n + n 2n + 1 – 3n

Ejercicio 4: dada la expresión:


0 si 0
a(n) 4 si 1
8a n 1 15a(n 2) sino

Hallar la solución general


A) Ecuación Características
Suponiendo que a(n) = 8an -1 – 15an-2 CI: a0 =0, a1 =4
an -8an -1 +15an-2 =0
(t2 – 8t + 15) = 0
(t –5) (t –3) = 0, t = 5, t = 3
B) Ecuación General
a(n) = c15n + c23n
para n = 0 a(0) = 0
a(0) = c150 + c230
0 = c 1 + c2
para n = 1 a (1) = 4
a (1) = c151 + c231
4 = 5c1 + 3c2
c1 = 2 y c2 = - 2
Reemplando a(n) = 2 (5)n – 2 (3)n

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

9
Ejemplo 5: Sea la solución de recurrencia

n , n= 0,1,2
an =
5an 1 8an 2 4an 3 ; n 2
De condiciones iniciales: a0 = 0, a1 = 1, a2 = 2
¿ Cual es la Solución General?
Solución:
Hacemos:
Sea an = 5an-1 + 8an-2 + 4an-3
an – 5an-1 + 8an-2 – 4an-3 = 0

A) Ecuación característica.
t3 – 5t2 + 8t – 4 = 0
(t–1) (t – 2)2 = 0

Existe una raíz y otra raíz de


multiplicidad par.
t1 =1, t2 =2, t3 =2

B) Solución general
an = C1(t1)n + C2(t2)n + C3 n (t3)n
Reemplazando
an = C1 + C2.2n + n2nC3

Resolviendo con las Condición iniciales

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

a0 = 0 10
c1 + c 2 = 0

a1 = 1
c1 + 2c2 + 2c3 = 1

a2 = 2
c1 + 4c2 + 8c3 = 2

C1 = -2 ; C2 = 2 ; C3 = -1/2

Reemplazando:
1
an = -2(1)n + 2(2)n - n.2n
2

Ejemplo 6: Sea la relación recursiva


Con las condiciones iniciales:
g(1)=2, g(2)=4 y g(3) = 12.
Halle la solución general o relación no recursiva de la ec.
g(n)=2g(n-1) +4g(n-2) - 8g(n-3)
Solución:
A) Ecuación Característica (Solución característica)
g(n)-2g(n-1)-4g(n-2)+8g(n-3) = 0
Representamos cada uno como sigue:
t3 – 2t2 – 4t + 8 = 0, que tiene por raíces: (t+2)(t-2)2 = 0
tiene solución simple : t = -2, y solución de multiplicidad
par t = 2. t = 2
B) Solución General
g(n)=c1(t1)n + c2(t2)n + c3 n(t3)n
Daniel A. Quinto Pazce Semestre 2015-1
Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

g(n)=c1(-2)n + c2(2)n + c3 n(2)n 11

Por las condiciones iniciales se resuelven el sistema de


ecuaciones lineales para los parámetros c1, c2 y c3.
g(1)=2, g(2)=4 y g(3) = 12.
g(1) = 2 => c1(-2) + (c1 + a2)2 = 2 primera ecuación
g(2) = 4 => c1(-2)2 + (c1 + c2(2))22 =4 segunda ecuación
g(3) = 12 => c1(-2)3 + (c1 + c2(3))23 =12 tercera
ecuación

Resolviendo, se obtiene c1 = -1/8, c2 = 5/8, c3 = ¼, y


por tanto la solución general es:
1 5 1
g(n) = ( 2)n ( n)2n.
8 8 4

Ejemplo7 : Sea la solución Recursiva


g(n) = 6g(n-1) - 11g(n-2) + 6g(n-3)
con g(1) = 1 ; g(2) = 6 ; g(3) = 20
Hallar la solución no recursiva o solución General
Como g(n) = 6g(n-1) - 11g(n-2) + 6g(n-3)
Solución:
g(n) - 6g(n-1) + 11g(n-2) - 6g(n-3) = 0
Ecuación característica
t3 – 6t2 + 11t – 6 = 0
(t-1) (t-3) (t-2) = 0
Solución general
g(n) = C1(t1)n + C2(t2)n + C3(t3)n
g(n) = C1(1)n + C2(2)n + C3(3)n
Daniel A. Quinto Pazce Semestre 2015-1
Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Condición inicial 12
g(1)=1
1 = C1 + 2C2 + 3C3
g(2) = 6
6 = C1 + 4C2 + 9C3
g(3) =20
20 = C1 + 8C2 + 27 C3
Resolviendo:
1 2
C2 = , C3 = , C1 = -2
2 3

Reemplazando:
2 1
g(n) = (3)n + (2)n – 2(1)n
3 2

Ejercicos:
Dadas las relaciones recursivas, encontrar la solución
general.
0 , n=0
1. an 5 , n=1
3an 1 4an 2 , otro caso

1 , n=0
2. an 6 , n=1
6an 1 9an 2 , otro caso

0 ,si n 0
3. a(n) 4 ,si n 1
8a n 1 15a(n 2) otro caso

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

n , n=0,1,2 13
4. an
5an 1 8an 2 4an 3 , otro caso

1 , n=1
6 , n=2
5, an
20 , n=3
6an 1 11an 2 6an 3 , otro caso

0 , n=0
-9 , n=1
6. an -1 , n=2
21 , n=3
5an 1 8an 2 4an 3 , otro caso

n n
7. Sn = S + S =0 S0 = 0 y S1 = 1 hallar
2 5
S73

8. CN CN N 2 , C.I. C1 =1 , N 2
2

Cuando N es una potencia de 2  N = 2n

FUNCIÓN RECURSIVA:
La recursividad es un concepto fundamental en ciencias de
computación
La recursividad es un proceso repetitivo, en este un procedimiento
incluye una llamada a sí mismo varias veces hasta llegar a sus condiciones
iniciales ( o base), y retornar a su punto de partida para devolver la
respuesta, llama función recursiva.

NOTA: Cuando un procedimiento recursivo se llama recursivamente a si


mismo varias veces, para cada llamada se crean copias independientes de
las variables declaradas en el procedimiento.

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Los pasos que siguen es la siguiente: 14


a) El procedimiento se llama a si mismo.
b) La base no es recursivo, y es el punto tanto de partida como de
terminación de la definición de la función recursiva.
c) Es importante determinar un caso base, es decir un punto en el cual
existe una condición por la cual no se requiera volver a llamar a la
misma función.

FUNCION DE LLAMADA

LLAMADA RESPUESTA

VENTAJAS:

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

a) Ayuda a comprender mejor, para escribir algoritmos iterativos. 15


b) Es más fácil escribir algoritmos recursivos.
c) Cualquier algoritmo recursivo se puede escribir en su forma iterativa.

DESVENTAJAS:
a) La rapidez de su procedimiento es lento.
b) La capacidad de su almacenamiento es alto.
c) El seguimiento de su ejecución es más difícil.

¿Por qué escribir funciones recursivos?


 Son más cercanos a la descripción matemática.
 Generalmente mas fáciles de analizar
 Se adaptan mejor a las estructuras de datos recursivas.
 Los algoritmos recursivos ofrecen soluciones estructuradas,
modulares y elegantemente simples.
Recursión vs. Iteración
Repetición
Iteración: ciclo explícito o bucle
Recursión: repetidas invocaciones a método
Terminación
Iteración: el ciclo termina o la condición del ciclo falla
Recursión: se reconoce el caso base, y la condición termina.
En ambos casos podemos tener ciclos infinitos, considerar que resulta más
positivo para cada problema la elección entre eficiencia (iteración) o una
buena ingeniería de software, La recursión resulta normalmente más
natural.

CASOS DE FUNCIONES RECURSIVAS

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

1) Caso FACTORIAL N! 16
1 N=0 (base)
N! =
N(N-1)! N>0 (recursión)

Función Recursiva

1 , N=0
FACT(N) =
N*FACT(N-1) , N>0

Caso real queremos hallar 5!


Validamos mediante la TRAZA
N=5  5! = 5*4*3*2*1 = 120
FACT(5) = 5*FACT(4) = 5( 24) = 120
FACT(4) = 4 FACT(3) = 4(6) = 24
FACT(3) = 3 FACT(2) = 3(2) = 6
FACT(2) = 2 FACT(1) = 2(1) = 2
FACT(1) = 1 FACT(0) = 1(1) = 1
= 3*2*1*FACT(0) cumple la c. i.

ALGORITMO RECURSIVO

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Función FACT (N) 17


Inicio
Si N>0
FACT = N*FACT(N-1)
Sino
FACT = 1
Fin
Retornar (FACT);
Fin

Un razonamiento recursivo tiene dos partes: la base y la regla


recursiva de construcción. La base no es recursiva y es el punto tanto
de partida como de terminación de la definición.

CASO ESPECIAL 3!
Representación Gráfica en Memoria

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

18

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

19

2) POTENCIA bx
Relación Recursiva

b x=1
bx =
b bx-1 x>1

Función Recursiva

b x=1
Pot(b,x) =
b Pot(b,x-1) x>1

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

20

CASO base b=2 exponente x=5  25 = 32

Traza b=2 x=5,  25 = 32


Pot (2, 5) = 2*Pot (2, 4) = 2*16 = 32
Pot (2, 4) = 2*Pot (2, 3) = 2*8 = 16
Pot (2, 3) = 2*Pot(2.2) = 2*4 = 8
Pot(2, 2 ) = 2*Pot(2, 1) = 2*2 =4

O de otra manera Pot(2, 5) = 2*Pot(2, 4)


= 2*2*Pot(2, 3)
= 2*2*2*Pot(2, 2)
= 2*2*2*2*Pot(2, 1)
= 2*2*2*2*2 = 25 = 32
Algoritmo Recursivo:

Función Potencia (b, x)


Inicio
Si (x = 1)
Potencia b
Sino
Potencia  b*Potencia (b, x-1)
FinSi
Return(potencia)
Fin

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

3) Número de Fibonacci 21

0 1 1 2 3 5 8 13 21 34 …

F0 = 0
F1 = 1
F2 = F1 +F0
F0 = F1
F1 = F2
F2 = F1 +F0
Generación Recursiva

f0 ,n=0
F2 = f1 ,n=1
f1 + f0 ,n>1

Relación Recursiva

Fn = Fn-1 + Fn-0, F0=0, F1=1


Fn = Fn-1 + Fn-0, F0=0, F1=1

Función Recursiva:

0 n=0

fibonacci (n)= 1 n=1

fibonacci (n-1)+ fibonacci (n-2) n>1

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Traza Algoritmo recursivo 22


Traza para n = 6
fibonacci (6) = fibonacci (5) + fibonacci (4) = 5
3 2
fibonacci (5) = fibonacci (4) + fibonacci (3)= 3

2 1
fibonacci (4) = fibonacci (3) + fibonacci (2) = 2

1 1
fibonacci (3) = fibonacci (2) + fibonacci (1) = 1

1 0
Algoritmo Recursivo
Función fibonacci (n)
Inicio
Si (n>2)
fibonacci  fibonacci(n-1) + fibonacci (n-2)
Sino
Si (n = 2)
fibonacci  1
sino
fibonacci  0
FinSi
FinSi
Retornar( fibonacci)
Fin

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

23
Traza Cálculo de fibonacci(5) :
Traza para n = 6
FIBO(6) = FIBO(5) + FIBO (4) = 5
FIBO(5) = FIBO (4) + FIBO (3)
FIBO (4) = FIBO (3) + FIBO (2)
FIBO (3) = FIBO (2) + FIBO (1)
1 0

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Representación Grafica 24

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Determine una formula explicita para los números de 25


fibonacci

Fn = Fn-1 + Fn-0, F0=0, F1=1

Se sabe en general que una relación recursiva es:


Fn = c1Fn-1 + c2Fn-2 + … + ckFn-k
Para nuestro caso Fn = Fn-1 + Fn-2 , F0 =0, F1 =1
A) Obtener la solución característica
Fn - Fn-1 - Fn-0 = 0
Ecuación característica
t2 - t -1 = 0
1 5
t1
2
1 5
t2
2

B) Obtener la solución general

Fn = c1 t1 n
+ c2 t2 n , reemplasando
n n
1 5 1 5
Fn = c1 + c2
2 2

Resolviendo con las condiciones iniciales


Para n =0, F0 = 0  c1 + c2 = 0
C1 = - c2 … (1)

1 5 1 5
Para n =1 F1 = 1  c1 + c2 =1 … (2)
2 2

1
C1
5
Resolviendo (1) y (2)
1
C2
5

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

Reemplazando 26
n n
1 5 1 1 1 5
Fn = - … fórmula no recursiva
5 2 5 2

5) Algoritmo de Euclides

a sia b,
mcd (a, b) = mcd(a,b a) sia b,
mcd(a b,b) sia b

Algoritmo Recursivo:
Función MCD (int a, int b)
Inicio
Si (a=b) /* condición de parada */
m a
Sino
Si (a<b)
m MCD(a, b-a) /* llamada recursiva */
Sino
m MCD (a-b, b) /* llamada recursiva */
FinSi
FinSi
Retornar( m )
Fin
n , k=1
n
1, Ejercicio Obtener el algoritmo n n-1
k , k>1
k k-1

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

De la serie de Fibonacci Valores: 0, 1, 1, 2, 3, 5, 8... 27

fib(n) = fib (n - 1) + fib (n - 2)

Caso base: Fib (0)=2; Fib (1)=3

Caso recursivo: Fib (i) = Fib (i -1) + Fib(i -2) formule la relación no
recursiva.

Resultado fibonacci Iteración vs recursión


70 iteraciones
recursividad
60

50

40

30

20

10

0
0 10 20 30 40 50 60

-10

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

28

TORRES DE HANOI

H (n, A, B, C), n=3


Modelo para obtener los movimientos

¿Cómo se resolvería en el caso en que tubieramos cinco discos?

Tenemos tres postes A, B y C, y un conjunto de cinco discos, todos


de distintos tamaños, como se muestra el disco anterior.
El problema comienza con todos los discos colocados en el poste A
apilados, uno sobre el otro, de mayor a menor, y así sucesivamente.
El propósito del problema es lograr apilar los cincos discos, en el
mismo orden, pero en el poste C.

¿Cómo se resolvería en el caso en que hubiera un disco?

MODELO GENRAL H (n, A, B, C), n=3

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

29
¿PARA EL CASO DE DOS DISCOS ?
H (n, A, B, C), n=2

H (2, A, B, C)

H (1, A, C, B) H (1, B, A, C)

AB AC BC


MOVIMIENTOS 1 2 3
¿Cómo se resolvería el caso en que hubiera TRES discos?

H (n, A, B, C), n=3 Obtener todos los movimientos


H(3, A, B, C)

H(2, A, C, B) H(2, B, A, C)

H(1, A, B, C) H(1, C, A, B) H(1, B, C, A) H(1, A, B, C)

AC AB CB AC BA BC AC


1 2 3 4 5 6 7

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

DEDUCCIONES DEL ALGORITMO DE LA TORRES DE 30


HANOI

Nº de Discos Relación Nº Movimientos


0 C0 0
1 C1 1 = 2*0 + 1
2 C2 3 = 2*1 + 1
3 C3 7 = 2*3 + 1

… … …
n Cn Cn = 2 Cn-1 + 1

Relación Recursiva
Cn = 2 Cn-1 + 1 C0 =0

Relación Iterativa Cn = 2n – 1 , n >=1

Movimientos de la Torre de Hanoi, para n=3 DISCOS

A B C

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

31
Secuencia para el caso anterior:

AC AB CB AC BA BC AC

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

32

RESULTADO DEL MOVIMIENTOS DE LA TORRE DE HANOI

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

1. Ejercicio: 33
De la torre de Hanoi, inicialmente los “n” discos están
en el poste “A”. Me propongo a mover los “n-1” discos
del poste A al poste “B”.
Diga Ud cuantos movimientos se realiza?
Y exprese gráficamente, el hecho.
AB AC BC

Solucion:
n discos 0 discos 0 discos

n n-1

Discos discos

1 disco n-1 0 discos

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

34

0 discos 0 discos n discos

N discos

Movimientos :

1º : Cn = 2n – 1 = Total de movimientos.

2º : Para n= 2  3 movimientos.

3º : Cuales mov. AB AC B C

Daniel A. Quinto Pazce Semestre 2015-1


Matemática Discreta FISI 2015-1 Daniel A. Quinto Pazce

TAREA 35

ELABORE EL ALGORITMO RECURSIVO:

DE ACKERMAN

ACK(0, n) = n+1; n>= 0

ACK(m, 0) = ACK(m-1, 1); m>0

ACK(m, n) = ACK(m-1, ACK(m, n-1)); m>0, n>0

DE BACKTRAKING

LAS OCHO REINAS

SUDOKU

El backtracking o vuelta atrás es una técnica algorítmica de resolución


general de problemas mediante una búsqueda sistemática de soluciones.
Se descompone la tarea a realizar en tareas parciales y se prueba
sistemáticamente cada una de estas, que a su vez se descompondrán en
subtareas…
Cuando al elegir una tarea se comprueba que no lleva a una solución, se
debe volver atrás, y probar con otra.

FIN DE CLASE

Daniel A. Quinto Pazce Semestre 2015-1

Você também pode gostar