Está en la página 1de 31

Matemtica Discreta FISI 2014-1 Daniel A.

Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

1

RECURSIVIDAD

A) RELACIN RECURSIVA:

Es un proceso repetitivo en el que cada trmino se puede expresar en trminos
de los anteriores hasta llegar a sus condiciones iniciales y retornar hacia el
punto de partida; la asignacin dinmica de memoria en base a los anteriores.

S
n
= C
1
S
n-1
+ C
2
S
n-2
+ + C
k
S
n-k,
Donde: S
0
, S
1
.. condiciones iniciales (como.
Base)
,
y C
1
, C
2
, C
3
, . C
k
coeficientes recursivos.

S
n
Se puede expresar en trminos de los anteriores como podemos observar:
Ejemplo:
1) S
n
= 2S
n-1
+ 1, S
0
=0
S
n-1
= 2S
n-2
+1
S
n
= 2(2S
n-2
+1) + 1
S
n
= 2
2
S
n-2
+2
1
+ 1
S
n-2
= 2S
n-3
+1
S
n
= 2
3
S
n-3
+ 2
2
+ 2 + 1
Generalizando:
S
n
= 2
n
S
n-n
+ 2
n-1
+ 2
n-2
+ + 2
2
+ 2 + 1
S
n
= 2
n-1
+ 2
n-2
+ + 2
2
+ 2 + 1
S
n
=
1 1
2 1
2 1
n

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

2) Sea S
n
= 3 S
n-1
S
0
= 1
Halle S
5
S
5
= 3S
4

S
5
= 3(3S
3
)
S
5
= 3(3(3S
2
))
S
5
= 3(3(3(3S
1
)))
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

2

S
5
= 3(3(3(3(3S
0
))))
S
5
= 3
5
S
0

S
5
=243 S
0
S
5
=243


3) S
n
= S
2
n

+

S
3
n

= 0 S
0
= 0 y S
1
= 1

Hallar S
16






S
16
= 3S
0
+ 5S
1

S
16
= 3*0 + 5*1
S
16
= 5



4) Ejemplo Dada la relacin recursiva
S
n
= 2,47 S
n-1
con S
0
= 2,47
Hallar su forma iterativa.
Solucin:
S
n
= 2,47 S
n-1

S
n-1
= 2,47 S
n-2

S
n
= (2,47)
2
S
n 2
S
n-2
= 2,47 S
n-3

S
n
= (2,47)
3
S
n 3
generalizando
S
n
= (2,47)
n
S
n n

= (2,47)
n
. S
0

S
n
= (2,47)
n+1
S
16

S
8

S
5

S
4

S
2

S
2

S
1
S
1

S
1

S
0

S
1

S
0

S
2

S
1

S
0

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

3

5.Resolver la recurrencia
2
2
N N
C C N , C.I. C
1
=0 , N 2
Cuando N es una potencia de 2 se puede expresar N = 2
n

1
1
1
1 2
2
n
2
2 2
2
2 2
2 2
2 2
1
2 2
1 2
2 2
2
2
2
1
2
2
2 como N=2
2 2
2 2
2
1
2 2
1
2 2
1
2 2
1 1
2 2
.....
= 1 1 ... 1
2
2
0
2
n n
n n
n n
n n
n n
n n
n n
n
n
n
N N
n
n
n n
n n
n n
n n
n n
n
n
C C N
C C
C C
C C
C C
C C
C C
Generalizando
C
C
C n
C
n
C
2
2
2
n
n
n
n
C n

Ejercicio. Resolver
2
2
N N
C C N , . C
1
=1 , N 2
Cuando N es una potencia de 2

B) CASO DE RECURRENCIA (Orden Superior)
Dada la relacin recursiva de orden superior
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

4

Si la ecuacin caracterstica, asociada a una relacin de
recurrencia lineal, tiene t races reales distintas, b
1
, b
2
,, b
t
,
entonces la solucin es de la forma:

S(n) = S
1
b
1
n
+ S
2
b
2
n
+ ... + S
t
b
t
n
;


Si alguna de las races (reales) aparece repetida, (por ejemplo
t
i
aparece m
i
veces) la solucin general es de la forma:
S(n) = S
1
t
1
n
+ S
2
t
2
n
+ ... S
i
n(t
i
)
n
+ ...+ S
imi
n
mi-1
(

t
i
)
n
siendo 1 k t

Ejemplo 1: dada la ecuacin recursiva
a(n) = 3a(n-1)+4a(n-2)
si n>2, con condiciones iniciales a(0)=0 y a(1)=1, hallar la
solucin general.
Solucin:
A) Ecuacin Caractersticas
De la Ecuacin a(n), pasamos todo al primer miembro
a(n)-3a(n-1)-4a(n-2)=0
La ecuacin caracterstica se forma haciendo parecido a Ruffini:
t
2
-3t-4=0
factorisando: (t + 1)( t- 4) = 0 t
1
=-1 y t
2
= 4
B) Solucin General
a(n)=c
1
(t
1
)
n
+ c
2
(t
2
)
n

a(n)=c
1
(-1)
n
+ c
2
(4)
n

resolviendo con las condiciones inciales tenemos:
primera condicin inicial CI: a(0)=0 se tiene
a(n)= c
1
+ c
2
= 0
segunda condicin inicial CI: a(1)=1 se tiene
a(n)= - c
1
+ 4 c
2
= 1
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

5

Resolviendo; se tiene c
1
= -1/5 y c
2
= 1/5, ahora reemplazamos
a(n)=(-1/5) (-1)
n
+ (1/5) (4)
n

a(n) = 1/5 [4
n
- (-1)
n
]
Escribiendo en forma de funcin, la ecuacin dada se tiene:
a(n)-3a(n-1)-4a(n-2)=0

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

Ejemplo 2
Dada a
n
= 6a
n-1
9a
n-2
; (CI): a
0
= 1, a
1
= 6
Hallar la solucin General?
Solucin:
A) Ecuacin Caractersticas
De la Ecuacin dada, hacemos
a
n
6a
n-1
+ 9
n-2
= 0
a) Ecuacin caracterstica
t
2
6t + 9 = 0
(t - 3)
2
= 0
Existe solucin de multiplicidad par
t
1
= 3 ; t
2
= 3
b) Solucin General
a
n
= C
1
(t
1
)
n
+ C
2
n (t
2
)
n
Reemplazando la solucin de multiplicidad par:
a
n
= C
1
3
n
+ C
2
n3
n

resolver C
1
, C
2
con las condicin iniciales
* Para a
0
= 1 3
0
C
1
+ 0.3
0
C
2
= 1

C
1
= 1
* Para a
1
= 6 3
1
C
1
+ 1.3
1
C
2
= 6
6 = 3 + 3 C
2

C
2
= 1
Luego: reemplazando en la solucin general
a(n) =
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

6

a
n
= 3
n
+ n3
n

Solucin General: a
n
= 3
n
(n + 1)

Ejercicio 3: dada la relacin recursiva
n n 1 n 2 n 3 1 2 3
a 7a 16a 12a 0 , n 4, a 3, a 11, a 29

Hallar la solucin no recursiva
Solucin:
A) Ecuacin Caractersticas
Pasando al primer miembro:
3
- 7
2
+ 16 - 12 = 0
( - 2)
2
( - 3) = 0
Cuyas races son: = 2, de multiplicidad par y

= 3
La solucin general ser
B) Ecuacin General
a
n
= A
1
(
1
)
n
+ A
2
n (
2
)
n
+ A
3
(
3
)
n

a
n
= A
1
(2)
n
+ A
2
n (2)
n
+ A
3
(3)
n

Por las condiciones iniciales:
Para a
1
= 3, a
2
= 11, y a
3
= 29 se tiene

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

Cuya solucin es A
1
= 1, A
2
= 2 y A
3
= -1, por lo
que la solucin no recursiva, ser:

a
n
= 2
n
+ n 2
n + 1
3
n


Ejercicio 4: dada la expresin:
0 si 0
a(n) 4 si 1
8a n 1 15a(n 2) sino

Hallar la solucin general
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

7

A) Ecuacin Caractersticas
Suponiendo que a(n) =
n
reemplazamos:

a
n
= 8
n-1
15
n-2

(t
2
8t + 15) = 0

(t

5) (t

3) = 0
B) Ecuacin General
a(n) = c
1
5
n
+ c
2
3
n

para n = 0
a(0) = c
1
5
0
+ c
2
3
0

0 = c
1
+ c
2
para n = 1

a (1) = c
1
5
1
+ c
2
3
1
4 = 5c
1
+ 3c
2
c
1
= 2 y c
2
= - 2
a(n) = 2 . 5
n
2. 3
n


Ejemplo 5: Sea la solucin de recurrencia

n
n 1 n 2 n 3
n , n= 0,1,2
a =
5a 8a 4a ; n 2

De condiciones iniciales: a
0
= 0, a
1
= 1, a
2
= 2
Cual es la Solucin General?
Solucin:
Hacemos:
Sea a
n
= 5a
n-1
+ 8a
n-2
+ 4a
n-3

a
n
5a
n-1
+ 8a
n-2
4a
n-3
= 0

Ecuacin caracterstica.
t
3
5t
2
+ 8t 4 = 0
(t1) (t 2)
2
= 0
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

8

Existe una raz y otra raz de
multiplicidad par.
t
1
=1, t
2
=2, t
3
=2

Solucin general
a
n
= C
1
(t
1
)
n
+ C
2
(t
2
)
n
+ C
3
n (t
3
)
n

Reemplazando
a
n
= C
1
+ C
2
.2
n
+ n2
n
C
3

Resolviendo con las Condicin iniciales
a
0
= 0
c
1
+ c
2
= 0

a
1
= 1
c
1
+ 2c
2
+ 2c
3
= 1

a
2
= 2
c
1
+ 4c
2
+ 8c
3
= 2

C
1
= -2 ; C
2
= 2 ; C
3
= -1/2

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

Ejemplo 6: Sea la relacin recursiva
Con las condiciones iniciales:
g(1)=2, g(2)=4 y g(3) = 12.
Halle la solucin general o relacin no recursiva de la ec.
g(n)=2g(n-1) +4g(n-2) - 8g(n-3)
Solucin:
C) Ecuacin Caracterstica (Solucin caracterstica)
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

9

g(n)-2g(n-1)-4g(n-2)+8g(n-3) = 0
Representamos cada uno como sigue:
t
3
2t
2
4t + 8 = 0, que tiene por races: (t+2)(t-2)
2
= 0 tiene
solucin simple : t = -2, y solucin de multiplicidad par t = 2. t = 2
B) Solucin General
g(n)=c
1
(t
1
)
n
+ c
2
(t
2
)
n

+ c
3
n(t
3
)
n

g(n)=c
1
(-2)
n
+ c
2
(2)
n

+ c
3
n(2)
n


Por las condiciones iniciales se resuelven el sistema de ecuaciones
lineales para los parmetros c
1
, c
2
y c
3
.
g(1)=2, g(2)=4 y g(3) = 12.
g(1) = 2 => c
1
(-2) + (c
1
+ a
2
)2 = 2 primera ecuacin
g(2) = 4 => c
1
(-2)
2
+ (c
1
+ c
2
(2))2
2
=4 segunda ecuacin
g(3) = 12 => c
1
(-2)
3
+ (c
1
+ c
2
(3))2
3
=12 tercera ecuacin

Resolviendo, se obtiene c
1
= -1/8, c
2
= 5/8, c
3
= , y por tanto
la solucin general es:
g(n) =
n n
1 5 1
( 2) ( n)2 .
8 8 4


Ejemplo7 : Sea la solucin Recursiva
g(n) = 6g(n-1) - 11g(n-2) + 6g(n-3)
con g(1) = 1 ; g(2) = 6 ; g(3) = 20
Hallar la solucin no recursiva o solucin General
Solucin:
g(n) = 6g(n-1) - 11g(n-2) + 6g(n-3)
g(n) - 6g(n-1) + 11g(n-2) - 6g(n-3) = 0

Ecuacin caracterstica
t
3
6t
2
+ 11t 6 = 0
(t-1) (t-3) (t-2) = 0

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

10

Solucin general
g(n) = C
1
(t
1
)
n
+ C
2
(t
2
)
n
+ C
3
(t
3
)
n

g(n) = C
1
(1)
n
+ C
2
(2)
n
+ C
3
(3)
n

Condicin inicial
g(1)=1
1 = C
1
+ 2C
2
+ 3C
3

g(2) = 6
6 = C
1
+ 4C
2
+ 9C
3

g(3) =20
20 = C
1
+ 8C
2
+ 27 C
3
Resolviendo:
C
2
=
1
2
, C
3
=
2
3
, C
1
= -2
Reemplazando:
g(n) =
2
3
(3)
n
+
1
2
(2)
n
2(1)
n


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


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


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

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

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

11

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

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

7. S
n
= S
2
n

+

S
5
n

= 0 S
0
= 0 y S
1
= 1 hallar S
73

8.
2
2
N N
C C N , C.I. C
1
=1 , N 2
Cuando N es una potencia de 2 N = 2
n


FUNCIN RECURSIVA:
La recursividad es un concepto fundamental en ciencias de computacin
La recursividad es un proceso repetitivo, y cuando 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, se llama funcin 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.
Los pasos que siguen es la siguiente:
a) El procedimiento se llama a si mismo.
b) La base no es recursivo, y es el punto tanto de partida como de terminacin de la
definicin de la funcin recursiva.
c) Es importante determinar un caso base, es decir un punto en el cual existe una
condicin por la cual no se requiera volver a llamar a la misma funcin.

FUNCION DE LLAMADA
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

12


LLAMADA RESPUESTA
















VENTAJAS:

a) Ayuda a comprender mejor, para escribir algoritmos iterativos.
b) Es ms fcil 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 ejecucin es ms difcil.

Por qu escribir funciones recursivos?
Son ms cercanos a la descripcin matemtica.
Generalmente mas fciles de analizar
Se adaptan mejor a las estructuras de datos recursivas.
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

13

Los algoritmos recursivos ofrecen soluciones estructuradas, modulares y
elegantemente simples.
Recursin vs. Iteracin
Repeticin
Iteracin: ciclo explcito o bucle
Recursin: repetidas invocaciones a mtodo
Terminacin
Iteracin: el ciclo termina o la condicin del ciclo falla
Recursin: se reconoce el caso base, y la condicin termina.
En ambos casos podemos tener ciclos infinitos, considerar que resulta ms positivo
para cada problema la eleccin entre eficiencia (iteracin) o una buena ingeniera de
software, La recursin resulta normalmente ms natural.

FUNCIONES RECURSIVAS

1) Caso FACTORIAL N!




Funcin Recursiva





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
1 N=0 (base)
N! =
N(N-1)! N>0 (recursin)

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


Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

14

FACT(1) = 1 FACT(0) = 1(1) = 1
= 3*2*1*FACT(0) cumple la c. i.

ALGORITMO RECURSIVO

Funcin FACT (N)
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
construccin. La base no es recursiva y es el punto tanto de partida como de
terminacin de la definicin.

CASO ESPECIAL 3!
Representacin Grfica en Memoria
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

15


Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

16




2) POTENCIA b
x

Relacin Recursiva





Funcin Recursiva







b x=1
Pot(b,x) =
b Pot(b,x-1) x>1
b x=1
b
x
=
b b
x-1
x > 1
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

17

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

Traza b=2 x=5, 2
5
= 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 = 2
5
= 32


Algoritmo Recursivo:

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





Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

18

3) Nmero de Fibonacci



F0 = 0
F1 = 1
F2 = F1 +F0
F0 = F1
F2 = F1 = F2

Generacin Recursiva

f
0
n = 0
F
2
= f1 n = 1
f1 + f
0
n > 1

Relacin Recursiva

Fn = Fn-1 + Fn-0, F
0
=0, F
1
=1

Funcin Recursiva:











0 1 1 2 3 5 8 13 21 34

Fn = Fn-1 + Fn-0, F
0
=0, F
1
=1

0 n = 0

fibonacci (n) 1 n = 1
fibonacci (n-1)+ fibonacci (n-2) n > 1
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

19

Traza Algoritmo recursivo

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

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


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


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

1 0
Algoritmo Recursivo
Funcin 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

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

20

Traza Clculo 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

























Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

21

Representacin Grafica




Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

22

Determine una formula explicita para los nmeros de fibonacci

Fn = Fn-1 + Fn-0, F
0
=0, F
1
=1


Se sabe en general que una relacin recursiva es:
F
n
= c
1
F
n-1
+ c
2
F
n-2
+ + c
k
F
n-k

Para nuestro caso F
n
= F
n-1
+ F
n-2
, F
0
=0, F
1
=1

A) Obtener la solucin caracterstica
F
n
- F
n-1
- F
n-0
= 0
Ecuacin caracterstica
t
2
- t -1 = 0

1
2
1 5
2
1 5
2
t
t


B) Obtener la solucin general
F
n
= c1
1
n
t + c2
2
n
t , reemplasando
F
n
= c1
1 5
2
n
+ c2
1 5
2
n

Resolviendo con las condiciones iniciales
Para n =0, F
0
= 0 c1 + c2 = 0
C1 = - c2 (1)
Para n =1 F
1
= 1 c1
1 5
2
+ c2
1 5
2
=1 (2)


Resolviendo (1) y (2)
Fn = Fn-1 + Fn-2, F
0
=0, F
1
=1

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

23


1
2
1
5
1
5
C
C


Reemplazando
F
n
=
5
1 5 1
2
n
-
5
1 1 5
2
n
frmula no recursiva


5) Algoritmo de Euclides








Algoritmo Recursivo:

Funcin MCD (int a, int b)
Inicio
Si (a=b) /* condicin 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

mcd (a, b) =
a si a b,
mcd(a,b a) si a b,
mcd(a b,b) si a b

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

24


1, Ejercicio Obtener el algoritmo
n , k=1
n-1
n
, k>1
k-1 k
n
k

De la serie de Fibonacci
Valores: 0, 1, 1, 2, 3, 5, 8...
Cada trmino de la serie suma los 2 anteriores.
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 relacin no recursiva.

Serie fibonacci Iteracin vs recursin



































-10
0
10
20
30
40
50
60
70
0 10 20 30 40 50 60
iteraciones
recursividad
Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

25

TORRES DE HANOI

( , A, B, C), n=3 H n
Modelo para obtener los movimientos





Tenemos tres postes A, B y C, y un conjunto de cinco discos, todos de distintos
tamaos.
El problema comienza con todos los discos colocados en el poste A de tal forma
que ninguno de ellos debe estar sobre uno ms pequeo a l; es decir, estn
apilados, uno sobre el otro, con el ms grande hacia abajo, encima de l, el
siguiente en tamao menor y as sucesivamente.
El propsito del problema es lograr apilar los cincos discos, en el mismo orden,
al pasarlos hasta poste C.

Cmo se resolvera el caso en que hubiera un disco?










Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

26

Cmo se resolvera el caso en que hubiera DOS discos?

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


H (2, A, B, C)

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


AB AC BC

AB AC BC
1 2 3
Cmo se resolvera el caso en que hubiera TRES discos?
( , A, B, C), n=3 H n
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

AC AB CB AC BA BC AC
1 2 3 4 5 6 7



Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

27

DEDUCCIONES DEL ALGORITMO R. DE LA TORRES DE HANOI

N de Discos Relacin N Movimientos
0 C
0
0
1 C
1
1 = 2*0 + 1
2 C
2
3 = 2*1 + 1
3 C
3
7 = 2*3 + 1

n C
n
C
n
= 2 C
n-1
+ 1


Relacin Recursiva


Relacin Iterativa


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




Secuencia para el caso anterior:

AC AB CB AC BA BC AC

C
n
= 2 C
n-1
+ 1 C
0
=0

C
n
= 2
n
1 , n >=1

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

28






Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

29


MOVIMIENTOS DE LA TORRE DE HANOI


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

A B C



1. Ejercicio:
De la torre de Hanoi, inicialmente los n discos estn en el poste
A. Me propongo a mover los n-1 discos del poste A al poste
B. El nico disco restante del poste A muevo al poste C y los
n-1 discos del poste B muevo al poste C.
Diga Ud cuantos movimientos se realizo?
AB AC BC

Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

30

Solucion:
n discos 0 discos 0 discos


n-1
discos





1 disco 0 discos n-1 discos







0 discos n-1 discos 1 disco











Matemtica Discreta FISI 2014-1 Daniel A. Quinto Pazce

Facultad de ingeniera de Sistema, dqp Semestre 2014-1

31

Movimientos :
1 : C
n
= 2
n
1 = Total de movimientos.
2 : Para n= 2 3 movimientos.
3 : Cuales mov. AB AC B C
TAREA
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 atrs es una tcnica algortmica de resolucin general de
problemas mediante una bsqueda sistemtica de soluciones.
Se descompone la tarea a realizar en tareas parciales y se prueba sistemticamente cada
una de estas, que a su vez se descompondrn en subtareas
Cuando al elegir una tarea se comprueba que no lleva a una solucin, se debe volver
atrs, y probar con otra.

También podría gustarte