Вы находитесь на странице: 1из 13

Necesitamos ciertos conceptos matemticos para

determinar, en general, la complejidad algoritmica.


Funciones finalmente no decrecientes
Funciones b-armnicas
Ecuaciones de recurrencia

MTP: Metodologa y Tecnologa de la Programacin

En determinadas ocasiones, las funciones de


complejidad contienen trminos (redondeos, por
ejemplo) que no admiten un tratamiento algebraico
En dichos casos, restringiendo el anlisis ciertos valores
de n, se pueden eliminar las dificultades y realizar un
anlisis ordinario de la funcin
Considerar, por ejemplo, la ecuacin de recurrencia de
un algoritmo de bsqueda binaria:
tn = 1 + t

n/2

El anlisis es sencillo si n = 2k
Qu ocurre con los restantes valores de n?
MTP: Metodologa y Tecnologa de la Programacin

Funciones b-armnicas: Definiciones

Una funcin f:0 es finalmente no decreciente si


n0 / n n0, f(n) f(n + 1)
Una funcin es b-armnica si
Es finalmente no decreciente
Sea b , b 2,
sea c 0 una constante (la cual depende de b)
entonces n0 / n n0, f(bn) cf(n)

Una funcin es armnica si es b-armnica para todo


b2
f (bn)
Ello implica que el ratio

f ( n)

est acotado superiormente

por una constante o, lo que es lo mismo, la funcin f crece


suavemente (smoothness)
MTP: Metodologa y Tecnologa de la Programacin

Fnciones b-armnicas: Definiciones

Un resultado interesante es que toda funcin b-armnica,


para un b 2, es efectivamente armnica
Ello permite derivar el resultado siguiente:
sea f:0 una funcin armnica
sea t:0 una funcin finalmente no decreciente
sea b 2
entonces [ (n = bk) t(n) (f(n)) ] t(n) (f(n))

MTP: Metodologa y Tecnologa de la Programacin

Ecuaciones de recurrencia

Hemos visto varios ejemplos de ecuaciones de recurrencia en las


secciones anteriores
Una ecuacin de recurrencia es cualquier ecuacin en la que sus
trminos se definen recursivamente, esto es, el valor de la funcin en n
depende de los valores anteriores (menores que n) de la funcin
Tpicamente, las ecuaciones de recurrencia surgen en el anlisis de
bucles e invocaciones recursivas

Distinguiremos los siguientes tipos de ecuaciones de recurrencia:


Lineales
Homogneas
No homogneas
No lineales

MTP: Metodologa y Tecnologa de la Programacin

Ecuaciones Lineales Homogneas

Las ELH poseen la forma general:


a0tn + a1tn-1 + ... + aktn-k = 0; ai constante
Se puede demostrar que las soluciones de las ELH
poseen la forma tn=xn
Para solucionar una ELH, se utiliza la tcnica de la
ecuacin caracterstica, o lo que es similar, obtener las
races del polinomio caracterstico p(x) = a0 xk + a1 xk-1
+ ... + ak x0
k

t n ci ri n
La solucin de la ELH ser
polinomio p(x)
MTP: Metodologa y Tecnologa de la Programacin

i 1

, siendo ri races del


6

Ecuaciones Lineales Homogneas


k

La solucin general t n ci ri n no determina los valores


i 1
de las constantes ci
Se pueden obtener resolviendo un sistema de ecuaciones
obtenido a partir de los valores de la funcin tn en los casos base

Ejemplos:
tn = 3tn-1 + 4tn-2
t0 = 0
t1 = 5
tn = tn-1 + tn-2
t0 = 0
t1 = 1

MTP: Metodologa y Tecnologa de la Programacin

Ecuaciones Lineales Homogneas

Cuando el polinomio caracterstico posee races


mltiples, la solucin de la ecuacin de recurrencia
posee trminos de la forma tn=xn, tn=nxn, tn=n2xn, etc.
En lneas generales, si r1, r2, ..., rl son races del
polinomio caracterstico, con multiplicidades m1, m2, ...,
ml, la solucin de la ecuacin de recurrencia ser:
l

mi 1

t n cij n j ri n
Ejemplo:

i 1 j 0

tn = 5tn-1 - 8tn-2 + 4tn-3


t0 = 0
t1 = 1
t2 = 2
MTP: Metodologa y Tecnologa de la Programacin

Ecuaciones Lineales no Homogneas

Las ELNH poseen la forma general:


a0tn + a1tn-1 + ... + aktn-k = f(n)
Obtener una solucin a una ELNH es ms difcil, en
general, que en el caso de una ELH
Es posible resolver sistemticamente ELNH de la forma a 0tn +
a1tn-1 + ... + aktn-k = bnp(n), siendo b una constante y p(n) un
polinomio en n
En este caso, el polinomio caracterstico es:

a0 xk + a1 xk-1 + ... + ak x0 (x-b)d+1


siendo d = grado(p(n))

Ejemplo:
tn - 2tn-1 = (n + 5) 3n, n 1

MTP: Metodologa y Tecnologa de la Programacin

Ecuaciones Lineales no Homogneas

En general, una ELNH de la forma:


a0tn + a1tn-1 + ... + aktn-k = b1np1(n) + b2np2(n) + ...+ bjnpj(n)
siendo bi constantes distintas y pi(n) polinomios en n
tiene como solucin:
a0 xk + a1 xk-1 + ... + ak x0 (x-b1)d1+1 (x-b2)d2+1 ... (x-bj)dj+1
siendo di = grado(pi(n))

Ejemplo:
tn = 2tn-1 + n + 3n
t0 = 0

MTP: Metodologa y Tecnologa de la Programacin

10

Ecuaciones no lineales

Son de una forma ms general; por ejemplo: t n = atn/4 +


btn/8 + ....
No existe un procedimiento estndar para su solucin
En determinadas ocasiones, puede intentarse
Transformacin de dominio
Transformacin de rango

Ejemplo TD:
tn = 3tn/2 + n
t1 = 1

Ejemplo TR:
tn = nt2n/2
t1 = 1/3

MTP: Metodologa y Tecnologa de la Programacin

Ntese que las suposiciones realizadas en la TD


hacen que tengamos que acudir a los teoremas de
funciones b-armnicas para asegurar la correccin
de la funcin obtenida

11

Notas finales

Si todo falla, siempre se puede intentar una expansin


de recurrencias
Aplicar varias veces la frmula recurrente hasta encontrar
alguna regularidad

Ejemplo
tn = 2 tn-1 + 1
t0 = 1

MTP: Metodologa y Tecnologa de la Programacin

12

Notas finales

Si se desea no determinar la funcin tn, sino, por


ejemplo, el orden correspondiente, puede obviarse (en
ocasiones) resolver el sistema de ecuaciones
En su lugar, puede realizarse una sustitucin de trminos en las
ecuaciones de recurrencia
Ejemplo:
tn - 2tn-1 = 3n
t0 = 0

Lamentablemente, ello no siempre funciona


Ejemplo:
tn = 4tn-1 - 2n
t0 = 1

MTP: Metodologa y Tecnologa de la Programacin

13

Вам также может понравиться