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)
AB AC BC
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)
AC AB CB AC BA BC AC
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:
AC AB CB AC BA BC AC
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.
AB AC BC
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. AB AC 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