Crecimiento de funciones

Anuncio
Crecimiento de
funciones
Crecimiento de Funciones
Cómo se comporta f(x) cuando x se incrementa?
Funciones de interés
f(x)=1 (f es una constante)
f(x)= log x
f(x) =x
f(x)= x log x
f(x) = x2
f(x) = 2x
f(x) = x!
Crecimiento de Funciones
Lista ordenada de f(x) por razón de
crecimiento?
Logaritmos: logb y : potencia a la cual se debe
elevar b para obtener y
Funciones útiles para describir desempeño de
algoritmos cuando tamaño de la entrada crece
Crecimiento de funciones
g(x)
f(x)
Crecimiento de funciones
g(x)
f(x)
Siempre se
cumple que
f(x)<g(x)
para
cualquier
valor x
g(x) es una cota
superior de f(x)
g(x)=x2
f(x)=x
g(x)=x
f(x)=x1/2
g(x)=x
f(x)=sen x
Está (sen x) por
debajo de x2
g(x)=x
f(x)=log x
g(x)=x1/2
f(x)=log x
x2
x
x1/2
log(x)
g(x)=x2
f(x)=sen(x) + x
g(x)=x2
f(x)=sen(x) + x
g(x)=x2
f(x)=sen(x) + x
g(x) sigue siendo una
cota superior de f(x)
f(x)=2x
g(x)=x
Buscar una cota superior para f(x) en
términos de g(x)
c*g(x)=3x
f(x)=2x
g(x)=x
C*g(x) es una cota
superior para f(x)
Crecimiento de funciones
g(x)
f(x)
Si g(x) o algún c*g(x) es
una cota superior de f(x),
para los x>k, se dice que
f(x) es O(g(x))
Crecimiento de funciones
f(x)
g(x)
f(x) es O(g(x)) ?
Crecimiento de funciones
C*g(x)
f(x)
g(x)
Si g(x) o algún c*g(x) es
una cota superior de f(x),
para los x>k, se dice que
f(x) es O(g(x))
k
K y C son
constantes
g(x)=x1/2
f(x)=log x
g(x)=x
f(x)=log x
f(x)=2x
g(x)=x
c*g(x)=3x
f(x)=2x
g(x)=x
C*g(x) es una cota
superior para f(x)
Crecimiento de funciones
Dadas dos funciones f y g, se dice que f(x) es
O(g(x)) si existen constantes c y k tales que
f(x) ≤ c ∗ g(x)
se cumple para todos los x >k
g(x)=x2
f1(x)=x
f2(x)=x1/2
f3(x)=log(x)
g(x) es una cota superior de f1(x),
f2(x), f3(x)
Crecimiento de funciones
O(g(x)) = { f(x)| existen constantes
positivas c y k, tales que
0 ≤ f(x) ≤ c *g(x), ∀x > k}
Crecimiento de funciones
O(x2) = { x, x1/2, log(x),…}
Crecimiento de funciones
f(x)=x2 + 2x
g(x)=x2
Es f(x), O(g(x))?
Buscar un c tal
que cx2 esté
por encima de
x2+2x
Cg(x)=3x2
f(x)=x2 + 2x
g(x)=x2
Es f(x), O(g(x))?
Crecimiento de funciones
Muestre que 7x2 =O(x3)
Crecimiento de funciones
7x2 < x3 para x >7
Por lo tanto se cumple que
f(x)≤ 1g(x)
para x > 7
C=1, k=7
Crecimiento de funciones
Es x3, O(7x2)
Crecimiento de funciones
Es x3, O(7x2) ?
x3 < C 7x2
x < 7C
Para todo x > k, no se cumple x < 7C
Asi que x3 no es O(7x2)
Polinomios
Sea f(x)= anxn +an-1xn-1+…+a1x1+a0
donde a0,a1,…,an son números reales
f(x) es O(xn)
Ejemplo
Estimar suma de n primeros enteros positivos
1+2+3+….+n
1+2+3+….+n ≤ n+n+n+….+n
≤ n2
1+2+3+….+n es O(n2) C=1, k=1
Ejemplo
Estimar con notación O f(n)=n! y su logarítmo
n! =1.2.3…n para cada entero positivo n
Asumir que cada término del producto no es
mayor que n
n! = 1.2.3….n
≤ n.n.n….n= nn
n! es O(nn) C=1, k=1
Ejemplo
log n! ≤ log nn
≤ n log n
log n! es O(n log n) C=1, k=1
Crecimiento: combinación de
funciones
Si f1(x) es O(g1(x)) y f2(x) es O(g2(x))
Entonces (f1+ f2)(x) es
O(max (g1(x), g2(x)))
Cuando f1(x) es O(g(x)) y f2(x) es O(g(x))
(f1+ f2)(x) es O(g(x))
Crecimiento: combinación de
funciones
Si f1(x) es O(g1(x)) y f2(x) es O(g2(x))
Entonces (f1 f2)(x) es
O(g1(x) g2(x))
Descargar