Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
5) Resolver la recurrencia
CN 2C N N, C.I. C1 =0 , N 2
2
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
5
n n n
S(n) = S1b1 + S2b2 + ... + Stbt ;
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
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
3 2A1 2A 2 3A 3 8
11 4A 1 8A 2 9A 3
29 A 1 24A 2 27A 3
an = 2n + n 2n + 1 – 3n
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
B) Solución general
an = C1(t1)n + C2(t2)n + C3 n (t3)n
Reemplazando
an = C1 + C2.2n + n2nC3
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
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
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
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.
FUNCION DE LLAMADA
LLAMADA RESPUESTA
VENTAJAS:
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.
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
ALGORITMO RECURSIVO
CASO ESPECIAL 3!
Representación Gráfica en Memoria
18
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
20
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
Función Recursiva:
0 n=0
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
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
Representación Grafica 24
Fn = c1 t1 n
+ c2 t2 n , reemplasando
n n
1 5 1 5
Fn = c1 + c2
2 2
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
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
Caso recursivo: Fib (i) = Fib (i -1) + Fib(i -2) formule la relación no
recursiva.
50
40
30
20
10
0
0 10 20 30 40 50 60
-10
28
TORRES DE HANOI
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)
H(2, A, C, B) H(2, B, A, C)
… … …
n Cn Cn = 2 Cn-1 + 1
Relación Recursiva
Cn = 2 Cn-1 + 1 C0 =0
A B C
31
Secuencia para el caso anterior:
32
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
34
N discos
Movimientos :
1º : Cn = 2n – 1 = Total de movimientos.
2º : Para n= 2 3 movimientos.
TAREA 35
DE ACKERMAN
DE BACKTRAKING
SUDOKU
FIN DE CLASE