Recursividad
Recursividad
Recursividad
SEMESTRE 2013-0
1)
Sn Sn Sn Sn-2 Sn Sn Sn Sn Sn Sn
= 2*Sn-1 + 1 = 2*(2Sn-2 +1) + 1 = 22Sn-2 + 2 + 1 = 2*Sn-3 + 1 = 22(2*Sn-3 + 1) + 2 + 1 = 23Sn-3 + 22 + 2 + 1 = 2nSn-n + 2n-1 + 2n-2 + + 22 + 2 + 1 = 2nS0 + 2n-1 + 2n-2 + + 22 + 2 + 1 = 2n-1 + 2n-2 + + 22 + 2 + 1 = 2n 1
2 1
Sn =
2) Sn = 3 Sn-1 ; Halle S5
S0 = 1
3)
n n Sn S[ ] S[ ]; S 0 2 3
S2 S4 S1 S8 S2 S0 S16 S1 S2 S0 S5 S1
0 y S1 1, halle S16
S1 S0
3S0 5
5S1
3 * 0 5 *1
S1
4)
Sn = 2,47 Sn-1 con S0 = 2,47 Solucin: 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
4)
CN
2C N
2
2C N
2
N
1
2C 2 n C2n
1
2n 1 1 n 1
2n 1 C2n 2 2 C2n 2
n n 2
n
C1 0 n
n n
2n * n n 2n
Ejercicios
Ejercicio. Resolver 1 =1 , N>= 2 2 Cuando N es una potencia de 2
CN CN
N2 C
CASO DE RECURRENCIA
Dada la relacin recursiva de orden superior S(n) = S1b1n + S2b2n + ... + Stbtn; 1 k t
Ecuacin caracterstica
La ecuacin caracterstica, asociada a una relacin de recurrencia lineal, tiene t races reales distintas, b1, b2,..bt 1. Dada la ecuacin recursiva a(n) = 3a(n-1)+4a(n-2) si n>2, con condiciones inciales a(0)=0 y a(1)=1, hallar la solucin general. Solucin:
Ejemplo
A) Ecuacin Caractersticas De la Ecuacin dada, pasamos al primer miembro a(n)-3a(n-1)-4a(n-2)=0 La ecuacin caracterstica es de la forma : t2-3t-4=0 Resolvemos (t + 1)( t- 4) = 0 t1=-1 y t2 = 4
Ejemplo
B) Solucin General a(n)=c1(t1)n + c2(t2)n a(n)=c1(-1)n + c2(4)n resolviendo por las condiciones inciales tenemos: para a(0)=0 se tiene c1 + c2= 0 Para a(1)=1 se tiene - c1 + 4 c2 = 1, resolviendo c1 y c2 se tiene: c1 = -1/5 y c2 = 1/5 a(n) = 1/5(4n-(-1)n)
Solucion
Ecuacin Caractersticas an 6an-1 + 9n-2 = 0 t2 6t + 9 = 0 (t - 3)2 = 0 Existe solucin de multiplicidad par t1 = 3 ; t 2 = 3 Solucin General an = C1(t1)n + C2 n (t2)n an = C13n + C2n3n resolver C1, C2 con las condicin iniciales * Para a0 = 1 30 C1 + 0.30 C2 = 1 C1 = 1 * Para a1 = 6 31C1 + 1.31 C2 = 6 6 = 3 + 3 C2 Luego: reemplazando en la solucin general an = 3n + n.3n Solucin General: an = 3n (n + 1)
C2 = 1
12an 3 0 , n 4, a1 3, a2 11, a3 29
Hallar la solucin general Ecuacin Caractersticas Suponiendo que a(n) = n reemplazamos: an = 8 n-1 15 n-2 (t 5) (t 3) = 0 (t2 8t + 15) = 0 (t 5) (t 3) = 0 Ecuacin General a(n) = c15n + c23n para n = 0 a(0) = c150 + c230 0 = c1 + c2 para n = 1 a (1) = c151 + c231 4 = 5c1 + 3c2 c1 = 2 y c2 = - 2 a(n) = 2 . 5n 2. 3n
Ejercicios
Resuelva:
0 , n=0 -9 , n=1 -1 , n=2 21 , n=3 5an 1 8an 2 4an 3 , otro caso
an
1 an 6 20
Es un proceso repetitivo de la funcin recursiva, llamndose a s misma varias veces hasta retornar al punto de partida.
a)
b) c)
Ayuda a comprender mejor, para escribir algoritmos iterativos. Es ms fcil escribir algoritmos recursivos. Cualquier algoritmo recursivo se puede escribir en su forma iterativa.
a)
b)
c)
Como ejemplo:
Funcin FACT (N) Inicio Si N>0 FACT = N*FACT(N-1) Sino FACT = 1 Fin Retornar FACT Fin
2.-POTENCIA bx
Ejemplo: 23 = 8, b=2 x=3 Pot (2, 3) = 2*Pot (2, 2) Pot (2, 3) = 2*(2*Pot (2, 1)) Pot (2, 3) = 2*(2*2)
Funcin Potencia (b, x) Inicio Si (x = 1) Potencia b Sino Potencia b*Potencia (b, x-1) Fin Fin
5 8 13 21 34
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
Funcin FIBO (n) Inicio Si (n>2) FIBO FIBO (n-1) + FIBO (n-2) En otro caso Si (n = 2) FIBO 1 En otro caso FIBO 0 Fin Fin Fin
Se sabe que: Fn
b2 F n 1 b2 Fn
Fn Fn
1
...... bk Fn
Fn
2
Fn
bt1n
n dt2
// t1 y t 2 races, n>=3
de Condiciones iniciales
t2
F 1
t 1
1, F2
0
2
t2
t1 t2
t 1
5 1 2 1 5 2
Sustituyendo:
n n
Fn
5 1 2 b 5 1 2
d
1
1 2
5
1
F1
d
2
1 2
5
2
(1)
F2
5 1 2
1 2
(2)
Resolviendo ( 1 ) y ( 2 )
b d 1 1 5 2 5 1 1 5 2 5
Reemplazando:
n n
Fn
1 1 5 2 5 1 1 5 2 5
1 2
n 1
1 1 5 2 5
n 1
1 2
Fn
1 1 5 2 5
Fn2 Fn Fn
posibles soluciones
Fn2
n bt 2
1 Fn n bt1
Ecuaciones bt
n
bt
n 1
bt
n 2
div
bt
t2
t 1
C0
C1 C2
C3
Cn
Cn
2 * Cn
Cn
2n 1
Ejemplo: Mover todos los discos de la torre A a la torre B en la menor cantidad de pasos
Paso 0
Inicializacin: la torre A contiene 4 discos de diferentes tamaos los discos slo pueden ir sobre uno de mayor tamao Objetivo: mover todos los discos de la torre A a la torre B
De la formula recursiva deducimos que para 4 discos, se realizaran 15 pasos
Formula recursiva
Cn 2 * Cn 1 1 C4 2 * C3 1 C4 2 * (2 * C2 1) 1 C4 2 * (2 * (2 * C1 1) 1) 1 C4 2 * (2 * (2 * (2 * C0 1) 1) 1) 1 C0 0 entonces C4 2 * (2 * (2 * (2 * 0 1) 1) 1) 1 15
Paso 1 y 2
Paso 3 y 4
Paso 5 y 6
Paso 7 y 8
Paso 9 y 10
Paso 11 y 1 2
Paso 13 y 14
Paso 15
n=3
H(n, A, B, C)
Ejercicio: Obtener todos los movimientos H (4, A, B, C) Obtener todos los movimientos H (2, A, B, C)
Inicialmente los n discos estn en el poste A, nos proponemos mover n-1 discos del poste A al poste B Cuntos movimientos necesita para llegar al poste C? Hacer representacin grfica.
EJERCICIOS RESUELTOS
3) Del factorial de un nmero (N!) crear la funcin recursiva, la traza para N=5 y el algoritmo. 1 N=0
FN= N*FN-1 N>0
Funcin FACT (N) Inicio Si N>0 FACT = N*FACT(N-1) Sino FACT = 1 Fin Retornar FACT Fin
4) De la potencia de un nmero bx crear la funcin recursiva y la traza para b=2 y x=5 y el algoritmo recursivo.
b P(b,x)= B*P(b,x-1), x>1 x=0
Funcin Potencia (b, x) Inicio Si (x = 1) Potencia b Sino Potencia b*Potencia (b, x-1) Fin Fin
5) Del nmero combinatorio .crear la funcin recursiva, la traza para y el algoritmo recursivo.
Funcin COMB (N,K) Inicio Si K=1 COMB = N Sino Si N=K+1 COMB = N Sino COMB=COMB(N-1,K-1)+COMB(N-1,K) Fin Retornar COMB Fin