Escolar Documentos
Profissional Documentos
Cultura Documentos
>
|
\
|
+
=
=
1
2
1
1 , 1
) (
n
n
T
n
n T
return return 0; 0;
else else
return return E(n/2) + 1; E(n/2) + 1;
} }
T(n) es O (log T(n) es O (log
22
n) n)
28 28
\
2
Clculo de la eficiencia Clculo de la eficiencia
T(n) T(n) = T(n/2) + 1 = T(n/2) + 1
= (T(n/4) + 1) + 1 = T(n/4) + 2 = (T(n/4) + 1) + 1 = T(n/4) + 2
= (T(n/8) + 1) +2 = T(n/8) + 3 = (T(n/8) + 1) +2 = T(n/8) + 3
= T(n/2 = T(n/2
ii
) + i ) + i
= T(n/2 = T(n/2
log(n) log(n)
) + log ) + log
22
(n) (n)
= T(1) + log = T(1) + log
22
(n) (n)
Por tanto, T(n) es O(log n) Por tanto, T(n) es O(log n)
29 29
Clculo de la eficiencia Clculo de la eficiencia
El mismo desarrollo se podra realizar ms cmodamente El mismo desarrollo se podra realizar ms cmodamente
con un cambio de variable: con un cambio de variable: n=2 n=2
mm
m = log m = log
22
(n) (n)
T(2 T(2
mm
)) = T(2 = T(2
mm- -11
) + 1= ) + 1=
= (T(2 = (T(2
mm- -22
) + 1) + 1 ) + 1) + 1 = (T(2 = (T(2
mm- -22
) + 1) + 1 ) + 1) + 1
= (T(2 = (T(2
mm- -33
) + 1) + 2 ) + 1) + 2
= T(2 = T(2
mm- -ii
) + i ) + i
= T(2 = T(2
mm- -mm
) + m ) + m
= T(1) + log = T(1) + log
22
(n) (n)
30 30
Clculo de la eficiencia Clculo de la eficiencia
Ejemplo Ejemplo
1 ) 1 ( ; 2 ,
2
) (
2
= +
|
\
|
= T n n
n
T n T
Cambio de variable: Cambio de variable: n = 2 n = 2
mm
nn
22
= (2 = (2
mm
))
22
=(2 =(2
22
))
mm
=4 =4
mm
T(2 T(2
mm
)) = T(2 = T(2
mm- -11
) + 4 ) + 4
mm
==
= T(2 = T(2
mm- -22
) + 4 ) + 4
mm- -11
+ 4 + 4
mm
= T(2 = T(2
mm- -ii
) + [4 ) + [4
mm- -(i (i- -1) 1)
+ + 4 + + 4
mm- -11
+ 4 + 4
mm
]] 31 31
Clculo de la eficiencia Clculo de la eficiencia
Ejemplo Ejemplo
1 ) 1 ( ; 2 ,
2
) (
2
= +
|
\
|
= T n n
n
T n T
] 4 4 4 4 [ ) 1 ( ) 2 (
1 2 1
+ + + + + =
T T
m m m m
L
T(n) es O(n T(n) es O(n
22
))
32 32
3
1
3
4
3
1
3
4 4
1 4
1 4
4 4 1
] 4 4 4 4 [ ) 1 ( ) 2 (
2
2
2
1
2
0
1 2 1
=
=
= = + =
+ + + + + =
=
+
=
n
T T
m
m
i
m
m
i
i i
m m m m
L
Resolucin de recurrencias Resolucin de recurrencias
Tcnicas de resolucin de recurrencias Tcnicas de resolucin de recurrencias
Mtodo de sustitucin Mtodo de sustitucin
1. 1. Desarrollar la expresin Desarrollar la expresin
2. 2. Adivinar la frmula de la expresin Adivinar la frmula de la expresin
3. 3. Demostrar por induccin Demostrar por induccin Demostrar por induccin Demostrar por induccin
4. 4. Resolver constantes Resolver constantes
rbol de recursividad rbol de recursividad
Representacin grfica intuitiva. Representacin grfica intuitiva.
Expansin de recurrencias Expansin de recurrencias
Mtodo algebraico equivalente al rbol de recursividad. Mtodo algebraico equivalente al rbol de recursividad.
Mtodo de la ecuacin caracterstica Mtodo de la ecuacin caracterstica
33 33
Mtodo de sustitucin Mtodo de sustitucin
T(n) es O(n T(n) es O(n
33
)? )?
Suponemos que T(k) ck Suponemos que T(k) ck
33
para k<n para k<n
> +
=
=
1 ) 2 / ( 4
1 ) 1 (
) (
n si n n T
n si O
n T
Suponemos que T(k) ck Suponemos que T(k) ck
33
para k<n para k<n
Demostramos por induccin que T(n) cn Demostramos por induccin que T(n) cn
33
T(n) T(n) = 4T(n/2) + n = 4T(n/2) + n
4c(n/2) 4c(n/2)
3 3
+ n = (c/2)n + n = (c/2)n
33
+ n = cn + n = cn
33
((c/2)n ((c/2)n
33
n) n)
cn cn
33
siempre que ((c/2)n siempre que ((c/2)n
33
n)>0 (p.ej. c2 y n1) n)>0 (p.ej. c2 y n1)
PROBLEMA: Podramos encontrar una cota superior ms ajustada? PROBLEMA: Podramos encontrar una cota superior ms ajustada?
Sugerencia: Probar con T(n) cn Sugerencia: Probar con T(n) cn
22
y T(n) c y T(n) c
11
nn
22
- -c c
22
nn
34 34
rbol de recursividad rbol de recursividad
2
) 2 / ( ) 4 / ( ) ( n n T n T n T + + =
35 35
Ecuacin caracterstica Ecuacin caracterstica
Recurrencias homogneas lineales Recurrencias homogneas lineales
con coeficientes constantes con coeficientes constantes
Lineal: No hay trminos t Lineal: No hay trminos t t t , t , t
22
0
1 1 0
= + + +
k n k n n
t a t a t a L
Lineal: No hay trminos t Lineal: No hay trminos t
nn- -11
t t
nn- -jj
, t , t
22
nn- -ii
Homognea: Igualadas a 0 Homognea: Igualadas a 0
Con coeficientes constantes: Con coeficientes constantes: aa
ii
constantes constantes
Ejemplo: Sucesin de Ejemplo: Sucesin de Fibonacci Fibonacci
36 36
0
2 1 2 1
= + =
n n n n n n
f f f f f f
Ecuacin caracterstica Ecuacin caracterstica
Suposicin: Suposicin: t t
nn
= = x x
nn
Se satisface si x=0 o bien Se satisface si x=0 o bien
0
1
1 0
= + + +
k n
k
n n
x a x a x a L
ecuacin caracterstica ecuacin caracterstica
Polinomio caracterstico Polinomio caracterstico
37 37
0
1
1 0
= + + +
k
k k
a x a x a L
k
k k
a x a x a x p + + + =
L
1
1 0
) (
Ecuacin caracterstica Ecuacin caracterstica
Teorema Fundamental del lgebra: Teorema Fundamental del lgebra:
Consideremos una raz del polinomio caracterstico, Consideremos una raz del polinomio caracterstico, r r
ii
p( p(r r
ii
) = 0 ) = 0
=
=
k
i
i
r x x p
1
) ( ) (
p( p(r r
ii
) = 0 ) = 0
Por tanto, Por tanto, rr
ii
n n
es solucin de la recurrencia. es solucin de la recurrencia.
Adems, las combinaciones lineales de las soluciones de Adems, las combinaciones lineales de las soluciones de
la recurrencia tambin son soluciones: la recurrencia tambin son soluciones:
Cuando todos los Cuando todos los r r
ii
son son distintos distintos, ,
stas son las stas son las nicas nicas soluciones soluciones
38 38
=
=
k
i
n
i i n
r c t
1
Ecuacin caracterstica Ecuacin caracterstica
Resolucin de recurrencias Resolucin de recurrencias
mediante el mtodo de la ecuacin caracterstica: mediante el mtodo de la ecuacin caracterstica:
1. 1. Se obtiene la ecuacin caracterstica asociada a la Se obtiene la ecuacin caracterstica asociada a la
recurrencia que describe el tiempo de ejecucin T(n). recurrencia que describe el tiempo de ejecucin T(n). recurrencia que describe el tiempo de ejecucin T(n). recurrencia que describe el tiempo de ejecucin T(n).
2. 2. Se calculan las k races del polinomio caracterstico. Se calculan las k races del polinomio caracterstico.
3. 3. Se obtiene la solucin a partir de las races del Se obtiene la solucin a partir de las races del
polinomio caracterstico. polinomio caracterstico.
4. 4. Se determinan las constantes a partir de las k Se determinan las constantes a partir de las k
condiciones iniciales. condiciones iniciales.
39 39
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo: Sucesin de Ejemplo: Sucesin de Fibonacci Fibonacci
+
= =
=
caso otro en
1 0 si ,
2 1 n n
n
f f
n n n
f
40 40
0
2 1
=
n n n
f f f
1 ) (
2
= x x x p
2
5 1
2
5 1
2 1
=
+
= r y r
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo: Sucesin de Ejemplo: Sucesin de Fibonacci Fibonacci
n n
n
r c r c f
2 2 1 1
+ =
= + 0
41 41
)
`
= +
= +
1
0
2 2 1 1
2 1
c r c r
c c
5
1
5
1
2 1
= = c y c
(
(
|
|
\
|
|
|
\
|
+
=
n n
n
f
2
5 1
2
5 1
5
1
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo: Ejemplo:
+
=
=
=
caso otro en , 4 3
1 , 5
0 , 0
2 1 n n
n
t t
n
n
t
A partir de las condiciones iniciales: c A partir de las condiciones iniciales: c
11
= = - -1, c 1, c
22
= 1 = 1
42 42
0 4 3
2 1
=
n n n
t t t
) 4 )( 1 ( 4 3
2
+ = x x x x
n n
n
c c t 4 ) 1 (
2 1
+ =
Ecuacin caracterstica Ecuacin caracterstica
Races mltiples Races mltiples
Supongamos que las races del polinomio caracterstico Supongamos que las races del polinomio caracterstico
NO NO son todas distintas. son todas distintas.
r r
ii
con multiplicidad m con multiplicidad m
ii
r r
ii
con multiplicidad m con multiplicidad m
ii
43 43
=
=
l
i
m
j
n
i
j
ij n
i
r n c t
1
1
0
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo: Ejemplo:
+
=
=
caso otro en 4 8 5
2 1 0 si ,
3 2 1 n n n
n
t t t
, n n
t
3 2 1
0 4 8 5 = +
t t t t
n n n n
A partir de las condiciones iniciales: c A partir de las condiciones iniciales: c
11
= = - -2, c 2, c
22
= 2, c = 2, c
33
= = - -1/2 1/2
44 44
2 2 3
3 2 1
) 2 )( 1 ( 4 8 5
0 4 8 5
= +
= +
x x x x x
t t t t
n n n n
n n n
n
n c c c t 2 2 ) 1 (
3 2 1
+ + =
2 2 2
1 1
=
+ n n
n
n t
Ecuacin caracterstica Ecuacin caracterstica
Recurrencias no homogneas Recurrencias no homogneas
A partir de A partir de
donde b es una constante y p(n) un polinomio de grado d donde b es una constante y p(n) un polinomio de grado d
) (
1 1 0
n p b t a t a t a
n
k n k n n
= + + +
L
donde b es una constante y p(n) un polinomio de grado d donde b es una constante y p(n) un polinomio de grado d
derivamos el polinomio caracterstico derivamos el polinomio caracterstico
que resolveremos igual que en el caso homogneo. que resolveremos igual que en el caso homogneo.
45 45
1 1
1 0
) )( ( ) (
+
+ + + =
d
k
k k
b x a x a x a x p L
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo: Ejemplo:
Las torres de Las torres de Hanoi Hanoi
hanoi hanoi ( (int int n, n, int int inicial, inicial, int int final, final, int int tmp tmp) )
{ {
hanoi hanoi (n (n 1, inicial, 1, inicial, tmp tmp, final) , final)
final final inicial inicial
hanoi hanoi (n (n 1, 1, tmp tmp, final, inicial) , final, inicial)
} }
46 46
+
=
=
caso otro en , 1 ) 1 ( 2
0 , 0
) (
n T
n
n T
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo: Ejemplo:
Las torres de Las torres de Hanoi Hanoi
) 1 )( 2 ( ) ( = x x x p
1 2
1
=
n n
t t
47 47
2 1
2 ) ( c c n T
n
+ =
) 1 )( 2 ( ) ( = x x x p
n n
n
c c t 1 2
2 1
+ =
1
1
1 2
0
1 ) 1 (
0 ) 0 (
2
1
2 1
2 1
=
=
)
`
= +
= +
)
`
=
=
c
c
c c
c c
T
T
1 2 ) ( =
n
n T
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo: Ejemplo:
0 ; 2
0 1
= + =
t n t t
n n
2
) 1 )( 2 ( ) ( = x x x p
n n n
n c c c t 1 1 2 + + =
48 48
n n n
n
n c c c t 1 1 2
3 2 1
+ + =
1
2
2
4 2 4
1 2
0
3
2
1
3 2 1
3 2 1
2 1
=
=
=
= + +
= + +
= +
c
c
c
c c c
c c c
c c
2 2
1
=
+
n t
n
n
Ecuacin caracterstica Ecuacin caracterstica
Recurrencias no homogneas Recurrencias no homogneas
bb
11
, , , , bb
s s
constantes constantes
) ( ... ) (
1 1 1 1 0
n p b n p b t a t a t a
s
n
s
n
k n k n n
+ + = + + +
L
bb
11
, , , , bb
s s
constantes constantes
pp
ii
(n) (n) polinomio de grado polinomio de grado dd
ii
Polinomio caracterstico: Polinomio caracterstico:
49 49
1 1
1
1
1 0
) ( ) )( ( ) (
1
+ +
+ + + =
s
d
s
d
k
k k
b x b x a x a x a x p L L
Ecuacin caracterstica Ecuacin caracterstica
Cambios de variable Cambios de variable
Cuando las recurrencias no se ajustan al tipo conocido Cuando las recurrencias no se ajustan al tipo conocido
> +
=
=
1 , ) 2 / ( 3
1 , 1
) (
n n n T
n
n T
aplicamos un cambio de variable aplicamos un cambio de variable nn = 2 = 2
ii
que nos permite definir una nueva recurrencia: que nos permite definir una nueva recurrencia:
50 50
> + 1 , ) 2 / ( 3 n n n T
) 2 (
i
i
T t =
Ecuacin caracterstica Ecuacin caracterstica
Cambios de variable Cambios de variable
i i
i
i
i i
c c t t t 2 3 2 3
2 1 1
+ = + =
Finalmente, deshacemos el cambio de variable: Finalmente, deshacemos el cambio de variable: ii = log = log
22
((nn))
51 51
n c n c c c n T
n n
2
) 3 ( log
1
) ( log
2
) ( log
1
2 2 2
2 3 ) ( + = + =
) ( O es ) (
) 3 ( log
2
n n T
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo Ejemplo
i i i
+ = + =
> +
=
=
1 , ) 2 / ( 4
1 , 1
) (
n n n T
n
n T
) 2 (
i
T t =
52 52
i i
i
i
i i
c c t t t 2 4 2 4
2 1 1
+ = + =
n c n c n c n c c c n T
n n
2
2
1 2
) 4 ( log
1
) ( log
2
) ( log
1
2 2 2
2 4 ) ( + = + = + =
) ( O es ) (
2
n n T
) 2 (
i
i
T t =
Ecuacin caracterstica Ecuacin caracterstica
Ejemplo Ejemplo
i i i
+ = + =
> +
=
=
1 , ) 2 / ( 2
1 , 1
) (
n n n T
n
n T
) 2 (
i
T t =
53 53
i i
i
i
i i
i c c t t t 2 2 2 2
2 1 1
+ = + =
) ( log 2 ) ( log 2 ) (
2 2 1
) ( log
2 2
) ( log
1
2 2
n n c n c n c c n T
n n
+ = + =
) log ( O es ) (
2
n n n T
) 2 (
i
i
T t =
Ecuacin caracterstica Ecuacin caracterstica
Recurrencia divide y vencers Recurrencia divide y vencers
a.k.a. a.k.a. the the master master method method
k
cn
b
n
aT n T +
|
\
|
= ) (
54 54
b
\
0 , 0 , 2 , 1 con > c k b a
>
=
<
=
k a
k
b
k
k k
b a n
b a n n
b a n
n T
b
) (
)), ( log (
), (
) (
) ( log
Ecuacin caracterstica Ecuacin caracterstica
Transformaciones del rango Transformaciones del rango
\
|
=
=
caso otro en ,
2
1 , 3 / 1
) (
2
n
nT
n
n T
Inicialmente, realizamos un cambio de variable: Inicialmente, realizamos un cambio de variable:
Como esta recurrencia no es lineal y el coeficiente 2 Como esta recurrencia no es lineal y el coeficiente 2
ii
no es constante, tomamos logaritmos: no es constante, tomamos logaritmos:
55 55
\
2
2
1
1 2
2 ) 2 ( 2 ) 2 (
= = =
i
i i i i
i
t T T t
1 1
2 ) log( 2 ) log(
+ = + = =
i i i i
u i t i t u
Ecuacin caracterstica Ecuacin caracterstica
Transformaciones del rango Transformaciones del rango
1
2
+ =
i i
u i u
i i i
i
i c c c u 1 1 2
3 2 1
+ + =
i u u
i i
=
1
2
Sustituyendo en la recurrencia para Sustituyendo en la recurrencia para uu
ii
, obtenemos: , obtenemos:
56 56
i
i c c c u 1 1 2
3 2 1
+ + =
2 ; 1
2 3
= = c c
)) 1 ( 2 ( 2 2 2
3 2
1
1 3 2 1 1
+ + + + = =
i c c c i c c c u u i
i i
i i
2 3
) 2 ( c c i i =
2 3 3
2 ) 1 ( c c i c = +
Ecuacin caracterstica Ecuacin caracterstica
Transformaciones del rango Transformaciones del rango
Deshacemos los cambios: Deshacemos los cambios:
2 2
1
= i c u
i
i
2 2
1
2 2
= =
i c u
i
i
t
A partir de las condiciones iniciales: A partir de las condiciones iniciales:
57 57
2 2
1
2 2
= =
i c u
i
i
t
n
t n T
n c
n n c
n
4
2
2 ) (
1
2 1
2
2 log
) ( log
= = =
3 log 2 ) 3 / 4 ( log 3 / 1 4 / 2 ) 1 (
2 2 1
1
= = = = c T
c
n
n
n
n n n c
n n n n
n T
3 4
2
2 4
2
4
2
4
2
) (
2
) 3 (log
2 ) 3 log 2 (
2
2 1
= = = =
Apndice: Frmulas tiles Apndice: Frmulas tiles
Progresiones aritmticas Progresiones aritmticas
d a a
i i
+ =
+1
+ =
n
a a n a ) (
1
58 58
=
+ =
n
i
n i
a a n a
1
1
) (
2
1
) 1 (
2
1
1
+ =
=
n n i
n
i
Apndice: Frmulas tiles Apndice: Frmulas tiles
Progresiones geomtricas Progresiones geomtricas
i i
a r a =
+1
) 1 (
1
r a
n
n
59 59
1
) 1 (
1
1
1
=
+
=
r
r a
a
n
n
i
i
1
1
1
=
+
=
b
b b
b
n
n
i
i
Apndice: Frmulas tiles Apndice: Frmulas tiles
Sumatorias Sumatorias
na a
n
i
=
=1
=
n n
i f a i f a ) ( ) (
60 60
= =
=
i i
i f a i f a
1 1
) ( ) (
( )
+ = + b a b a
=
i j
j i
i j
j i
b a b a
Apndice: Frmulas tiles Apndice: Frmulas tiles
Sumatorias Sumatorias
) 1 (
2
1
1
+ =
=
n n i
n
i
) 1 2 )( 1 (
6
1
2
+ + =
n n n i
n
61 61
) 1 2 )( 1 (
6
1
+ + =
=
n n n i
i
2
1
3
) 1 (
2
1
(
+ =
=
n n i
n
i
) 2 )( 1 (
3
1
) 1 (
1
+ + = +
=
n n n i i
n
i
Apndice: Frmulas tiles Apndice: Frmulas tiles
Potencias Potencias
z y z y
x x x =
+
z y z y
x x x / =
y z z y z y
x x x ) ( ) (
= =
Ojo! Ojo!
62 62
y z z y z y
x x x ) ( ) (
= =
y z
z y
x x
Apndice: Frmulas tiles Apndice: Frmulas tiles
Logaritmos Logaritmos
) ( log
) ( log
) ( log
a
n
n
b
b
a
=
63 63
) ( log ) ( log n m
a a
m n =
) ( log ) ( log ) ( log m n m n
a a a
+ =
) ( log ) ( log ) / ( log m n m n
a a a
=
) ( log ) ( log n p n
a
p
a
=