SlideShare una empresa de Scribd logo
1 de 71
Descargar para leer sin conexión
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Implementaci´on del algoritmo de b´usqueda
k-vector
Dores Piuma Francisco
Moser Plugge Tylbert
Nobl´ıa Mart´ın
Vieras Fabi´an
Universidad Nacional de Quilmes
9 de julio de 2013
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Contenido
1 Resumen
2 Introducci´on
3 Definiciones
4 limitaciones
5 Aplicaciones
Inversi´on de funciones
Resolver sistemas de dos ecuaciones no-lineales n-dimensionales
Interpolaci´on
6 Resultados e implementaciones
Ra´ıces de funciones no-lineales
Intersecci´on de dos funciones no-lineales
Interpolaci´on
7 conclusiones
Raices de funciones no-lineales
Intersecci´on de dos funciones no-lineales
Interpolaci´on
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
El m´etodo de b´usqueda k-vector es un algoritmo que permite
realizar b´usquedas en bases de datos est´aticas, con una mejora
sustancial con respecto a otros m´etodos cl´asicos como el m´etodo
binario,
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
El m´etodo de b´usqueda k-vector es un algoritmo que permite
realizar b´usquedas en bases de datos est´aticas, con una mejora
sustancial con respecto a otros m´etodos cl´asicos como el m´etodo
binario,adem´as el costo computacional del mismo es independiente
del tama˜no de la base de datos. Este m´etodo naci´o como una
necesidad en el campo aeroespacial([1]), donde a trav´es del
m´etodo se resuelve con ´exito el problema conocido como
star-tracker.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
El m´etodo de b´usqueda k-vector es un algoritmo que permite
realizar b´usquedas en bases de datos est´aticas, con una mejora
sustancial con respecto a otros m´etodos cl´asicos como el m´etodo
binario,adem´as el costo computacional del mismo es independiente
del tama˜no de la base de datos. Este m´etodo naci´o como una
necesidad en el campo aeroespacial([1]), donde a trav´es del
m´etodo se resuelve con ´exito el problema conocido como
star-tracker.Pero este m´etodo al ser su formulaci´on general a
cualquier base de datos(est´atica o pseudoest´atica) puede ser
aplicado a una amplia gama de problemas, como:
Interpolaci´on (1D o 2D look-up tables)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
El m´etodo de b´usqueda k-vector es un algoritmo que permite
realizar b´usquedas en bases de datos est´aticas, con una mejora
sustancial con respecto a otros m´etodos cl´asicos como el m´etodo
binario,adem´as el costo computacional del mismo es independiente
del tama˜no de la base de datos. Este m´etodo naci´o como una
necesidad en el campo aeroespacial([1]), donde a trav´es del
m´etodo se resuelve con ´exito el problema conocido como
star-tracker.Pero este m´etodo al ser su formulaci´on general a
cualquier base de datos(est´atica o pseudoest´atica) puede ser
aplicado a una amplia gama de problemas, como:
Interpolaci´on (1D o 2D look-up tables)
B´usqueda de ceros de funciones no-lineales
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
El m´etodo de b´usqueda k-vector es un algoritmo que permite
realizar b´usquedas en bases de datos est´aticas, con una mejora
sustancial con respecto a otros m´etodos cl´asicos como el m´etodo
binario,adem´as el costo computacional del mismo es independiente
del tama˜no de la base de datos. Este m´etodo naci´o como una
necesidad en el campo aeroespacial([1]), donde a trav´es del
m´etodo se resuelve con ´exito el problema conocido como
star-tracker.Pero este m´etodo al ser su formulaci´on general a
cualquier base de datos(est´atica o pseudoest´atica) puede ser
aplicado a una amplia gama de problemas, como:
Interpolaci´on (1D o 2D look-up tables)
B´usqueda de ceros de funciones no-lineales
Inversi´on de funciones no-lineales
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
El m´etodo de b´usqueda k-vector es un algoritmo que permite
realizar b´usquedas en bases de datos est´aticas, con una mejora
sustancial con respecto a otros m´etodos cl´asicos como el m´etodo
binario,adem´as el costo computacional del mismo es independiente
del tama˜no de la base de datos. Este m´etodo naci´o como una
necesidad en el campo aeroespacial([1]), donde a trav´es del
m´etodo se resuelve con ´exito el problema conocido como
star-tracker.Pero este m´etodo al ser su formulaci´on general a
cualquier base de datos(est´atica o pseudoest´atica) puede ser
aplicado a una amplia gama de problemas, como:
Interpolaci´on (1D o 2D look-up tables)
B´usqueda de ceros de funciones no-lineales
Inversi´on de funciones no-lineales
Sampling de distribuciones de probabilidades
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
El m´etodo de b´usqueda k-vector es un algoritmo que permite
realizar b´usquedas en bases de datos est´aticas, con una mejora
sustancial con respecto a otros m´etodos cl´asicos como el m´etodo
binario,adem´as el costo computacional del mismo es independiente
del tama˜no de la base de datos. Este m´etodo naci´o como una
necesidad en el campo aeroespacial([1]), donde a trav´es del
m´etodo se resuelve con ´exito el problema conocido como
star-tracker.Pero este m´etodo al ser su formulaci´on general a
cualquier base de datos(est´atica o pseudoest´atica) puede ser
aplicado a una amplia gama de problemas, como:
Interpolaci´on (1D o 2D look-up tables)
B´usqueda de ceros de funciones no-lineales
Inversi´on de funciones no-lineales
Sampling de distribuciones de probabilidades
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Que representa el problema de b´usqueda?
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Que representa el problema de b´usqueda?
El problema de b´usqueda en un rango de valores de una base de
datos est´atica y(n) con un n´umero de valores n ≫ 1 es encontrar
el subconjunto de elementos que satisfacen y(I), donde I es un
vector de ´ındices tal que y(I) ∈ [ya, yb] donde ya < yb.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Lo que habitualmente se utiliza
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Lo que habitualmente se utiliza
Este problema se resuelve habitualmente con el m´etodo de
b´usqueda binario, el cual tiene un orden de complejidad
O(2log2(n))
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Lo que habitualmente se utiliza
Este problema se resuelve habitualmente con el m´etodo de
b´usqueda binario, el cual tiene un orden de complejidad
O(2log2(n))
La mejora sustancial de este m´etodo
El m´etodo de b´usqueda k-vector tiene en cambio un orden de
complejidad invariante con respecto a n y es de O(3).
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
definici´on 1
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
definici´on 1
ymax = m´ax
i
{y(i)} = s(n) (1)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
definici´on 1
ymax = m´ax
i
{y(i)} = s(n) (1)
ymin = m´ın
i
{y(i)} = s(1) (2)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
definici´on 1
ymax = m´ax
i
{y(i)} = s(n) (1)
ymin = m´ın
i
{y(i)} = s(1) (2)
definici´on 2
El coraz´on del algoritmo:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
definici´on 1
ymax = m´ax
i
{y(i)} = s(n) (1)
ymin = m´ın
i
{y(i)} = s(1) (2)
definici´on 2
El coraz´on del algoritmo:
[1, ymin − δǫ] → [n, ymax + δǫ] (3)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
definici´on 1
ymax = m´ax
i
{y(i)} = s(n) (1)
ymin = m´ın
i
{y(i)} = s(1) (2)
definici´on 2
El coraz´on del algoritmo:
[1, ymin − δǫ] → [n, ymax + δǫ] (3)
Donde:
δǫ = (n − 1)ǫ (4)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
La recta que une esos puntos la defimos:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
La recta que une esos puntos la defimos:
z(x) = mx + q (5)
Donde:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
La recta que une esos puntos la defimos:
z(x) = mx + q (5)
Donde:
m = (ymax − ymin + 2δǫ)/(n − 1)
q = ymin − m − δǫ
(6)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Definici´on k-vector
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Definici´on k-vector
Definici´on k-vector
nuestro k-vector debe cumplir :
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Definici´on k-vector
Definici´on k-vector
nuestro k-vector debe cumplir :
k(1) = 0 (7)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Definici´on k-vector
Definici´on k-vector
nuestro k-vector debe cumplir :
k(1) = 0 (7)
k(n) = n (8)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Definici´on k-vector
Definici´on k-vector
nuestro k-vector debe cumplir :
k(1) = 0 (7)
k(n) = n (8)
Y adem´as en la posici´on i-´esima k(i) = j, donde j es el ´ındice m´as
grande que cumple:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Definici´on k-vector
Definici´on k-vector
nuestro k-vector debe cumplir :
k(1) = 0 (7)
k(n) = n (8)
Y adem´as en la posici´on i-´esima k(i) = j, donde j es el ´ındice m´as
grande que cumple:
s(j) ≤ y(I(i)) (9)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Como se interpreta la ecuaci´on (9)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Como se interpreta la ecuaci´on (9)
Desde un punto de vista pr´actico los valores de k(i) representan el
n´umero de elementos de la base de datos y que est´an por debajo
del valor z(i).
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Una vez que el k-vector ha sido creado podemos conocer cuantos y
en que posici´on del vector s est´an los datos que buscamos
([ya, yb]). De hecho los ´ındices asociados con estos valores en el
vector s est´an dados por:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Una vez que el k-vector ha sido creado podemos conocer cuantos y
en que posici´on del vector s est´an los datos que buscamos
([ya, yb]). De hecho los ´ındices asociados con estos valores en el
vector s est´an dados por:
´ındices de b´usqueda
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Una vez que el k-vector ha sido creado podemos conocer cuantos y
en que posici´on del vector s est´an los datos que buscamos
([ya, yb]). De hecho los ´ındices asociados con estos valores en el
vector s est´an dados por:
´ındices de b´usqueda
jb = ⌊
ya − q
m
⌋ and jt = ⌈
yb − q
m
⌉ (10)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Una vez que el k-vector ha sido creado podemos conocer cuantos y
en que posici´on del vector s est´an los datos que buscamos
([ya, yb]). De hecho los ´ındices asociados con estos valores en el
vector s est´an dados por:
´ındices de b´usqueda
jb = ⌊
ya − q
m
⌋ and jt = ⌈
yb − q
m
⌉ (10)
Una vez que tenemos los indices podemos obtener los indices de el
rango de b´usqueda de acuerdo a:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Una vez que el k-vector ha sido creado podemos conocer cuantos y
en que posici´on del vector s est´an los datos que buscamos
([ya, yb]). De hecho los ´ındices asociados con estos valores en el
vector s est´an dados por:
´ındices de b´usqueda
jb = ⌊
ya − q
m
⌋ and jt = ⌈
yb − q
m
⌉ (10)
Una vez que tenemos los indices podemos obtener los indices de el
rango de b´usqueda de acuerdo a:
Indices en el k-vector
kstart = k(jb) + 1 and kend = k(jt) (11)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Elementos buscados
Asi finalmente los elementos buscados en la base de datos y(i) ∈
[ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Elementos buscados
Asi finalmente los elementos buscados en la base de datos y(i) ∈
[ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin
embargo en la base de datos pueden aparecer elementos extra˜nos
originados por el hecho que en promedio los ´ındices kstar y kend
tienen cada uno 50 % de probabilidades de no pertenecer a los
intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Elementos buscados
Asi finalmente los elementos buscados en la base de datos y(i) ∈
[ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin
embargo en la base de datos pueden aparecer elementos extra˜nos
originados por el hecho que en promedio los ´ındices kstar y kend
tienen cada uno 50 % de probabilidades de no pertenecer a los
intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.Asi si E0 es la
cantidad de elementos esperados en el rango [z(j), z(j + 1)]
entonces el n´umero de elementos extra˜nos esperados en el rango
[ya, yb] es 2E0
2 = E0 = n
(n−1) ≈ 1 para n ≫ 1.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Elementos buscados
Asi finalmente los elementos buscados en la base de datos y(i) ∈
[ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin
embargo en la base de datos pueden aparecer elementos extra˜nos
originados por el hecho que en promedio los ´ındices kstar y kend
tienen cada uno 50 % de probabilidades de no pertenecer a los
intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.Asi si E0 es la
cantidad de elementos esperados en el rango [z(j), z(j + 1)]
entonces el n´umero de elementos extra˜nos esperados en el rango
[ya, yb] es 2E0
2 = E0 = n
(n−1) ≈ 1 para n ≫ 1. Por ello en presencia
de este elemento extra˜no, debemos hacer dos b´usquedas locales
m´as para eliminar dicho elemento. Formalmente:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Elementos buscados
Asi finalmente los elementos buscados en la base de datos y(i) ∈
[ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin
embargo en la base de datos pueden aparecer elementos extra˜nos
originados por el hecho que en promedio los ´ındices kstar y kend
tienen cada uno 50 % de probabilidades de no pertenecer a los
intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.Asi si E0 es la
cantidad de elementos esperados en el rango [z(j), z(j + 1)]
entonces el n´umero de elementos extra˜nos esperados en el rango
[ya, yb] es 2E0
2 = E0 = n
(n−1) ≈ 1 para n ≫ 1. Por ello en presencia
de este elemento extra˜no, debemos hacer dos b´usquedas locales
m´as para eliminar dicho elemento. Formalmente:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Eliminaci´on de elementos extra˜nos
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Eliminaci´on de elementos extra˜nos
verificar si y(I(k)) < ya
verificar si y(I(k)) > yb
Donde
k = kstart
k = kend
(12)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Principales limitaciones del algoritmo
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Principales limitaciones del algoritmo
Pueden aparecer elementos extra˜nos en una b´usqueda
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Principales limitaciones del algoritmo
Pueden aparecer elementos extra˜nos en una b´usqueda
El n´umero de elementos extra˜nos en una b´usqueda depende
de n
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Principales limitaciones del algoritmo
Pueden aparecer elementos extra˜nos en una b´usqueda
El n´umero de elementos extra˜nos en una b´usqueda depende
de n
el orden de complejidad(O(3)) se mantiene si elk-vector es
lineal o cuasi-lineal con respecto a los indices
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Inversi´on de funciones
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Inversi´on de funciones
El m´etodo de k-vector exibe ventajas cuando es aplicado a bases
de datos est´aticas, por ello puede ser utilizado de manera eficiente
para invertir funciones no-lineales de la forma y = f (x), donde f es
una funci´on no lineal de n variables independientes. ´Este m´etodo
no es el adecuado para invertir una funci´on s´olo una vez, ya que su
eficiencia se ve reflejada cuando la inversi´on debe hacerse repetidas
veces
en alg´un rango de valores de la funci´on. Una vez que el
preprocesamiento se ha completado, la inversi´on puede ser creada
y usada en cualquier momento. La metodolog´ıa puede ser resumida
en los siguientes diagramas de flujo:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Inversi´on de funciones
y(x),x(k)=xmin + (xmax −xmin)(k−1)
(n−1)
s = y(I), s(k + 1) > s(k)
Realizar el k-vector para s
k(1) = 0,k(n) = n
δ = 1
2 max{|y(2 : n) − y(1 : n − 1)|}
Figura: Preprocesamiento
y ∈ [s(1), s(n)], b´usqueda k-vector
X = x(I(K)), Y = y(I(K))
Xs = X(J), Xs(k + 1) > Xs(k)
ji = 1, BUCLE jf = 2 : l
si Xs(jf ) − Xs(jf − 1) > 2∆x
Nroot = Nroot + 1, ne = jf − ji
ne = 1 → k=I(K(J(ji )))
m = min(|Ys(ji : jf − 1)) − y|
Luego alg´un m´etodo para encontrar ra´ıces
Figura: Inversi´on de una funci´on
no-lineal
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Resolver sistemas de dos ecuaciones no-lineales n-dimensionales
Resoluci´on de sistemas de dos ecuaciones no lineales
Sea el siguiente sistema de dos ecuaciones:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Resolver sistemas de dos ecuaciones no-lineales n-dimensionales
Resoluci´on de sistemas de dos ecuaciones no lineales
Sea el siguiente sistema de dos ecuaciones:
y = f (x) and y = g(x) + c (13)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Resolver sistemas de dos ecuaciones no-lineales n-dimensionales
Resoluci´on de sistemas de dos ecuaciones no lineales
Sea el siguiente sistema de dos ecuaciones:
y = f (x) and y = g(x) + c (13)
Donde f (x) y g(x) pueden ser dos funciones nolineales dadas y c
una constante cuyo valor puede cambiar. Se puede ver que el
problema anterior es equivalente a resolver la siguiente ecuaci´on:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Resolver sistemas de dos ecuaciones no-lineales n-dimensionales
Resoluci´on de sistemas de dos ecuaciones no lineales
Sea el siguiente sistema de dos ecuaciones:
y = f (x) and y = g(x) + c (13)
Donde f (x) y g(x) pueden ser dos funciones nolineales dadas y c
una constante cuyo valor puede cambiar. Se puede ver que el
problema anterior es equivalente a resolver la siguiente ecuaci´on:
c = f (x) − g(x) = h(x) (14)
Problema que se puede resolver con la metodolog´ıa anterior.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Interpolaci´on
Busqueda de datos en una tabla e interpolaci´on
Si consideramos una look-up table discreta de una dimensi´on con
coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro
vector y = {y1, y2, y3....yn}T .
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Interpolaci´on
Busqueda de datos en una tabla e interpolaci´on
Si consideramos una look-up table discreta de una dimensi´on con
coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro
vector y = {y1, y2, y3....yn}T .La intepolaci´on con k-vector es
primero iniciada construyendo el k-vector fuera del procesamiento
en tiempo real. En este caso el k-vector esta dado por
k = {k1, k2, k3....kn}T donde kj es el n´umero de valores de x que
estan por debajo de la linea que une los puntos [1, −δ] [n, xn + δ]
al j-´esimo indice. Entonces el indice del k-vector es calculado de
acuerdo a:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Interpolaci´on
Busqueda de datos en una tabla e interpolaci´on
Si consideramos una look-up table discreta de una dimensi´on con
coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro
vector y = {y1, y2, y3....yn}T .La intepolaci´on con k-vector es
primero iniciada construyendo el k-vector fuera del procesamiento
en tiempo real. En este caso el k-vector esta dado por
k = {k1, k2, k3....kn}T donde kj es el n´umero de valores de x que
estan por debajo de la linea que une los puntos [1, −δ] [n, xn + δ]
al j-´esimo indice. Entonces el indice del k-vector es calculado de
acuerdo a:
j = floor(
x∗ − δ − q
m
) (15)
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Interpolaci´on
Busqueda de datos en una tabla e interpolaci´on
Si consideramos una look-up table discreta de una dimensi´on con
coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro
vector y = {y1, y2, y3....yn}T .La intepolaci´on con k-vector es
primero iniciada construyendo el k-vector fuera del procesamiento
en tiempo real. En este caso el k-vector esta dado por
k = {k1, k2, k3....kn}T donde kj es el n´umero de valores de x que
estan por debajo de la linea que une los puntos [1, −δ] [n, xn + δ]
al j-´esimo indice. Entonces el indice del k-vector es calculado de
acuerdo a:
j = floor(
x∗ − δ − q
m
) (15)
Donde m = xn−x1+2δ
(n−1) . Entonces, para calcular el valor interpolado
y∗, se usa alguno de los m´etodos conocidos de interpolaci´on
(lineal, m´as alto orden, spline, spline c´ubico..) para aproximar entre
xkj
y xkj+1
.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Ra´ıces de funciones no-lineales
Realizamos una implementaci´on del algoritmo descripto en
(2)basados en el preprocesamiento y la b´usqueda en si, mediante
dos funciones que automatizan el m´etodo. Obtuvimos resultados
muy buenos en varios sentidos comparados con los convencionales:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Ra´ıces de funciones no-lineales
Realizamos una implementaci´on del algoritmo descripto en
(2)basados en el preprocesamiento y la b´usqueda en si, mediante
dos funciones que automatizan el m´etodo. Obtuvimos resultados
muy buenos en varios sentidos comparados con los convencionales:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Ra´ıces de funciones no-lineales
Implementaci´on preprocesamiento y busqueda de ra´ıces
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Ra´ıces de funciones no-lineales
Implementaci´on preprocesamiento y busqueda de ra´ıces
Como ejemplo de salida t´ıpica de la implementaci´on para la
funci´on y = sinc(x) en [−5, 5] es
octave:3> nonlinear_inversion
Raiz:1 ---> -5
Raiz:2 ---> -4
Raiz:3 ---> -3
Raiz:4 ---> -2
Raiz:5 ---> -1
Raiz:6 ---> 1
Raiz:7 ---> 2
Raiz:8 ---> 3
Raiz:9 ---> 4
Raiz:10 ---> 5
elapsed_time = 0.033457
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Intersecci´on de dos funciones no-lineales
Utilizando las mismas funciones de la implementaci´on anterior,
realizamos un script que obtiene las intersecciones de dos funciones
no-lineales, sinc(t) y sin(t) y el resultado que obtuvimos fue el
siguiente:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Intersecci´on de dos funciones no-lineales
Resultado
−8 −6 −4 −2 0 2 4 6 8
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
time
f(t)
Interseccion de dos funciones no−lineales
sinc(t)
sin(t)
Figura: Soluci´on a la intersecci´on de dos funciones no-lineales
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Interpolaci´on
Prueba con una look-up table
Para verificar que la magnitud de la base de datos no afecta
considerablemente a la velocidad de resoluci´on, realizamos un
script que genera una base de datos variable y una b´usqueda en
particular con el m´etodo antes mencionado, a cada b´usqueda es
tomado el tiempo de resoluci´on y luego se grafica Los resultados
fueron:
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Interpolaci´on
Resultado
10
1
10
2
10
3
10
4
10
5
10
−5
10
−4
10
−3
10
−2
Velocidad de resolucion vs. Orden de muestreo
Dimension del muestreo
Tiempoderesolucion(seg)
Figura: Velocidad de resoluci´on vs orden de la base de datos
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Raices de funciones no-lineales
Se puede afirmar que es indiscutible la efectividad de dicho m´etodo
comparado con otras metodolog´ıas para encontrar ra´ıces en un
determinado intervalo. ´Esto se debe a que determinadas b´usquedas
de ra´ıces, como ser el m´etodo de Newton-Raphson sin ser
optimizado por el k-vector, encuentran ´unicamente una ra´ız de
todas las posibles en dicho intervalo con una gran cantidad de
iteraciones. Por otra parte este m´etodo posee una gran precisi´on y
obtiene todas las ra´ıces de la funci´on en el intervalo solicitado.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Intersecci´on de dos funciones no-lineales
Como se puede observar en la figura 3, es factible encontrar los
puntos de intersecci´on de dos funciones no-lineales bajo el m´etodo
k-vector. ´Este proceso lleva un leve costo en cuanto a la
programaci´on, debido a que es posible implementarlo directamente
utilizando la b´usqueda de ra´ıces de funciones no-lineales: Al restar
las funciones entre si, se genera una nueva funci´on, y se le hallan a
´esta sus ceros. ´Estos ceros van a representar las coordenada de las
intersecciones de las funciones originales. Como se menciono con
anterioridad, el m´etodo de b´usqueda de ra´ıces es muy efectivo
tanto en tiempo de resoluci´on como en precisi´on. Al ser el m´etodo
para encontrar las intersecciones de dos funciones una variante del
m´etodo anterior, ´este posee las mismas caracter´ısticas.
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Interpolaci´on
Al observar la Figura (4) se puede ver que el m´etodo de
interpolaci´on utilizado es muy efectivo, no solo cuando se necesita
un m´etodo de resoluci´on r´apido, sino tambi´en para situaciones en
las cuales el problema conlleva una gran serie de datos
independientes, obtenidos emp´ıricamente. ´Este tipo de metodolog´ıa
es recomendable cuando se enfrenta a situaciones en las cuales la
base de datos cambia continuamente, ya que el m´etodo pos´ee un
tiempo de resoluci´on muy inferior a otros m´etodos cuando las
bases de datos muestreados es considerablemente grande. ´Este tipo
de base de datos no afecta al m´etodo del k-vector en t´erminos de
eficiencia ni de velocidad, como puede observarse en la figura (4).
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
References
A k-vector approach to sampling, interpolation, and aproximation.
Daniele Mortari and Jonathan Rogers
k-vector Range searching techniques. Daniele Mortari, Beny Neta
Title of the publication
Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias
Preguntas?

Más contenido relacionado

Similar a k vector search technique (spanish)

Aplicación de análisis numérico en alabes
Aplicación de análisis numérico en alabesAplicación de análisis numérico en alabes
Aplicación de análisis numérico en alabesMateoLeonidez
 
Metodos de Programacion no lineal
Metodos de Programacion no linealMetodos de Programacion no lineal
Metodos de Programacion no linealluisatero
 
Canal de comunicación y caos
Canal de comunicación y caosCanal de comunicación y caos
Canal de comunicación y caosdarg0001
 
Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...
Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...
Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...JAVIER SOLIS NOYOLA
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaFcoKraken
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaFcoKraken
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018ead1943
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosJuan Timoteo Cori
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Tecnica de Prueba de Software
Tecnica de Prueba de SoftwareTecnica de Prueba de Software
Tecnica de Prueba de Softwarejose_torres123
 
Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...
Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...
Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...CristianMaqueda1
 
1962235_PRACT_5_TRAY_SCRIPT.pdffffffffff
1962235_PRACT_5_TRAY_SCRIPT.pdffffffffff1962235_PRACT_5_TRAY_SCRIPT.pdffffffffff
1962235_PRACT_5_TRAY_SCRIPT.pdffffffffffJuanPablo404733
 
Jaime salazar presentacion saia
Jaime salazar presentacion saiaJaime salazar presentacion saia
Jaime salazar presentacion saiajaime_19
 

Similar a k vector search technique (spanish) (20)

Aplicación de análisis numérico en alabes
Aplicación de análisis numérico en alabesAplicación de análisis numérico en alabes
Aplicación de análisis numérico en alabes
 
Metodos de Programacion no lineal
Metodos de Programacion no linealMetodos de Programacion no lineal
Metodos de Programacion no lineal
 
01.introduccion metricauml
01.introduccion metricauml01.introduccion metricauml
01.introduccion metricauml
 
Optimizacion en IMRT
Optimizacion en IMRTOptimizacion en IMRT
Optimizacion en IMRT
 
Canal de comunicación y caos
Canal de comunicación y caosCanal de comunicación y caos
Canal de comunicación y caos
 
Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...
Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...
Aplicación Multimedia #8 Álgebra Lineal. SOLUCIÓN DE SISTEMAS DE ECUACIONES L...
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018
 
Manual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_gManual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_g
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
Diagrama de bode
Diagrama de bodeDiagrama de bode
Diagrama de bode
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
 
Tecnica de Prueba de Software
Tecnica de Prueba de SoftwareTecnica de Prueba de Software
Tecnica de Prueba de Software
 
C03.pdf
C03.pdfC03.pdf
C03.pdf
 
Presentacion vedpoc3 d_final
Presentacion vedpoc3 d_finalPresentacion vedpoc3 d_final
Presentacion vedpoc3 d_final
 
El metodo doolittle
El metodo doolittleEl metodo doolittle
El metodo doolittle
 
Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...
Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...
Estimación de Frecuencias Naturales en Estrcuturas Civiles mediante métodos e...
 
1962235_PRACT_5_TRAY_SCRIPT.pdffffffffff
1962235_PRACT_5_TRAY_SCRIPT.pdffffffffff1962235_PRACT_5_TRAY_SCRIPT.pdffffffffff
1962235_PRACT_5_TRAY_SCRIPT.pdffffffffff
 
Jaime salazar presentacion saia
Jaime salazar presentacion saiaJaime salazar presentacion saia
Jaime salazar presentacion saia
 

Último

Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdffrank0071
 
cgm medicina interna clinica delgado.pdf
cgm medicina interna clinica delgado.pdfcgm medicina interna clinica delgado.pdf
cgm medicina interna clinica delgado.pdfSergioSanto4
 
tecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxtecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxJESUSDANIELYONGOLIVE
 
Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...
Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...
Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...frank0071
 
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptxllacza2004
 
el amor en los tiempos del colera (resumen).pptx
el amor en los tiempos del colera (resumen).pptxel amor en los tiempos del colera (resumen).pptx
el amor en los tiempos del colera (resumen).pptxhectoralvarado79
 
AA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdf
AA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdfAA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdf
AA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdffrank0071
 
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdfGribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdffrank0071
 
Características emociones y sentimientos
Características emociones y sentimientosCaracterísticas emociones y sentimientos
Características emociones y sentimientosFiorelaMondragon
 
Patologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxPatologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxFranciscaValentinaGa1
 
Piccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdfPiccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdffrank0071
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)s.calleja
 
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...ocanajuanpablo0
 
Fresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaFresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaDanyAguayo1
 
RX DE TORAX normal jornadas .............
RX DE TORAX normal jornadas .............RX DE TORAX normal jornadas .............
RX DE TORAX normal jornadas .............claudiasilvera25
 
inspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteriinspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteriManrriquezLujanYasbe
 
TEMA: ULTRASONOGRAFIA EN NUTRICION
TEMA:         ULTRASONOGRAFIA EN NUTRICIONTEMA:         ULTRASONOGRAFIA EN NUTRICION
TEMA: ULTRASONOGRAFIA EN NUTRICIONClaudiaIsabel36
 
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdfHolland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdffrank0071
 
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdfHarris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdffrank0071
 
Diálisis peritoneal en los pacientes delicados de salud
Diálisis peritoneal en los pacientes delicados de saludDiálisis peritoneal en los pacientes delicados de salud
Diálisis peritoneal en los pacientes delicados de saludFernandoACamachoCher
 

Último (20)

Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
 
cgm medicina interna clinica delgado.pdf
cgm medicina interna clinica delgado.pdfcgm medicina interna clinica delgado.pdf
cgm medicina interna clinica delgado.pdf
 
tecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxtecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptx
 
Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...
Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...
Plokhi, Serhii. - El último imperio. Los días finales de la Unión Soviética [...
 
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
 
el amor en los tiempos del colera (resumen).pptx
el amor en los tiempos del colera (resumen).pptxel amor en los tiempos del colera (resumen).pptx
el amor en los tiempos del colera (resumen).pptx
 
AA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdf
AA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdfAA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdf
AA.VV. - Reinvención de la metrópoli: 1920-1940 [2024].pdf
 
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdfGribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
 
Características emociones y sentimientos
Características emociones y sentimientosCaracterísticas emociones y sentimientos
Características emociones y sentimientos
 
Patologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxPatologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxx
 
Piccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdfPiccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdf
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
 
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
 
Fresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaFresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontología
 
RX DE TORAX normal jornadas .............
RX DE TORAX normal jornadas .............RX DE TORAX normal jornadas .............
RX DE TORAX normal jornadas .............
 
inspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteriinspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteri
 
TEMA: ULTRASONOGRAFIA EN NUTRICION
TEMA:         ULTRASONOGRAFIA EN NUTRICIONTEMA:         ULTRASONOGRAFIA EN NUTRICION
TEMA: ULTRASONOGRAFIA EN NUTRICION
 
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdfHolland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
 
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdfHarris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
 
Diálisis peritoneal en los pacientes delicados de salud
Diálisis peritoneal en los pacientes delicados de saludDiálisis peritoneal en los pacientes delicados de salud
Diálisis peritoneal en los pacientes delicados de salud
 

k vector search technique (spanish)

  • 1. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Implementaci´on del algoritmo de b´usqueda k-vector Dores Piuma Francisco Moser Plugge Tylbert Nobl´ıa Mart´ın Vieras Fabi´an Universidad Nacional de Quilmes 9 de julio de 2013
  • 2. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Contenido 1 Resumen 2 Introducci´on 3 Definiciones 4 limitaciones 5 Aplicaciones Inversi´on de funciones Resolver sistemas de dos ecuaciones no-lineales n-dimensionales Interpolaci´on 6 Resultados e implementaciones Ra´ıces de funciones no-lineales Intersecci´on de dos funciones no-lineales Interpolaci´on 7 conclusiones Raices de funciones no-lineales Intersecci´on de dos funciones no-lineales Interpolaci´on
  • 3. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias El m´etodo de b´usqueda k-vector es un algoritmo que permite realizar b´usquedas en bases de datos est´aticas, con una mejora sustancial con respecto a otros m´etodos cl´asicos como el m´etodo binario,
  • 4. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias El m´etodo de b´usqueda k-vector es un algoritmo que permite realizar b´usquedas en bases de datos est´aticas, con una mejora sustancial con respecto a otros m´etodos cl´asicos como el m´etodo binario,adem´as el costo computacional del mismo es independiente del tama˜no de la base de datos. Este m´etodo naci´o como una necesidad en el campo aeroespacial([1]), donde a trav´es del m´etodo se resuelve con ´exito el problema conocido como star-tracker.
  • 5. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias El m´etodo de b´usqueda k-vector es un algoritmo que permite realizar b´usquedas en bases de datos est´aticas, con una mejora sustancial con respecto a otros m´etodos cl´asicos como el m´etodo binario,adem´as el costo computacional del mismo es independiente del tama˜no de la base de datos. Este m´etodo naci´o como una necesidad en el campo aeroespacial([1]), donde a trav´es del m´etodo se resuelve con ´exito el problema conocido como star-tracker.Pero este m´etodo al ser su formulaci´on general a cualquier base de datos(est´atica o pseudoest´atica) puede ser aplicado a una amplia gama de problemas, como: Interpolaci´on (1D o 2D look-up tables)
  • 6. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias El m´etodo de b´usqueda k-vector es un algoritmo que permite realizar b´usquedas en bases de datos est´aticas, con una mejora sustancial con respecto a otros m´etodos cl´asicos como el m´etodo binario,adem´as el costo computacional del mismo es independiente del tama˜no de la base de datos. Este m´etodo naci´o como una necesidad en el campo aeroespacial([1]), donde a trav´es del m´etodo se resuelve con ´exito el problema conocido como star-tracker.Pero este m´etodo al ser su formulaci´on general a cualquier base de datos(est´atica o pseudoest´atica) puede ser aplicado a una amplia gama de problemas, como: Interpolaci´on (1D o 2D look-up tables) B´usqueda de ceros de funciones no-lineales
  • 7. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias El m´etodo de b´usqueda k-vector es un algoritmo que permite realizar b´usquedas en bases de datos est´aticas, con una mejora sustancial con respecto a otros m´etodos cl´asicos como el m´etodo binario,adem´as el costo computacional del mismo es independiente del tama˜no de la base de datos. Este m´etodo naci´o como una necesidad en el campo aeroespacial([1]), donde a trav´es del m´etodo se resuelve con ´exito el problema conocido como star-tracker.Pero este m´etodo al ser su formulaci´on general a cualquier base de datos(est´atica o pseudoest´atica) puede ser aplicado a una amplia gama de problemas, como: Interpolaci´on (1D o 2D look-up tables) B´usqueda de ceros de funciones no-lineales Inversi´on de funciones no-lineales
  • 8. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias El m´etodo de b´usqueda k-vector es un algoritmo que permite realizar b´usquedas en bases de datos est´aticas, con una mejora sustancial con respecto a otros m´etodos cl´asicos como el m´etodo binario,adem´as el costo computacional del mismo es independiente del tama˜no de la base de datos. Este m´etodo naci´o como una necesidad en el campo aeroespacial([1]), donde a trav´es del m´etodo se resuelve con ´exito el problema conocido como star-tracker.Pero este m´etodo al ser su formulaci´on general a cualquier base de datos(est´atica o pseudoest´atica) puede ser aplicado a una amplia gama de problemas, como: Interpolaci´on (1D o 2D look-up tables) B´usqueda de ceros de funciones no-lineales Inversi´on de funciones no-lineales Sampling de distribuciones de probabilidades
  • 9. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias El m´etodo de b´usqueda k-vector es un algoritmo que permite realizar b´usquedas en bases de datos est´aticas, con una mejora sustancial con respecto a otros m´etodos cl´asicos como el m´etodo binario,adem´as el costo computacional del mismo es independiente del tama˜no de la base de datos. Este m´etodo naci´o como una necesidad en el campo aeroespacial([1]), donde a trav´es del m´etodo se resuelve con ´exito el problema conocido como star-tracker.Pero este m´etodo al ser su formulaci´on general a cualquier base de datos(est´atica o pseudoest´atica) puede ser aplicado a una amplia gama de problemas, como: Interpolaci´on (1D o 2D look-up tables) B´usqueda de ceros de funciones no-lineales Inversi´on de funciones no-lineales Sampling de distribuciones de probabilidades
  • 10. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Que representa el problema de b´usqueda?
  • 11. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Que representa el problema de b´usqueda? El problema de b´usqueda en un rango de valores de una base de datos est´atica y(n) con un n´umero de valores n ≫ 1 es encontrar el subconjunto de elementos que satisfacen y(I), donde I es un vector de ´ındices tal que y(I) ∈ [ya, yb] donde ya < yb.
  • 12. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Lo que habitualmente se utiliza
  • 13. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Lo que habitualmente se utiliza Este problema se resuelve habitualmente con el m´etodo de b´usqueda binario, el cual tiene un orden de complejidad O(2log2(n))
  • 14. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Lo que habitualmente se utiliza Este problema se resuelve habitualmente con el m´etodo de b´usqueda binario, el cual tiene un orden de complejidad O(2log2(n)) La mejora sustancial de este m´etodo El m´etodo de b´usqueda k-vector tiene en cambio un orden de complejidad invariante con respecto a n y es de O(3).
  • 15. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias definici´on 1
  • 16. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias definici´on 1 ymax = m´ax i {y(i)} = s(n) (1)
  • 17. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias definici´on 1 ymax = m´ax i {y(i)} = s(n) (1) ymin = m´ın i {y(i)} = s(1) (2)
  • 18. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias definici´on 1 ymax = m´ax i {y(i)} = s(n) (1) ymin = m´ın i {y(i)} = s(1) (2) definici´on 2 El coraz´on del algoritmo:
  • 19. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias definici´on 1 ymax = m´ax i {y(i)} = s(n) (1) ymin = m´ın i {y(i)} = s(1) (2) definici´on 2 El coraz´on del algoritmo: [1, ymin − δǫ] → [n, ymax + δǫ] (3)
  • 20. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias definici´on 1 ymax = m´ax i {y(i)} = s(n) (1) ymin = m´ın i {y(i)} = s(1) (2) definici´on 2 El coraz´on del algoritmo: [1, ymin − δǫ] → [n, ymax + δǫ] (3) Donde: δǫ = (n − 1)ǫ (4)
  • 21. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias La recta que une esos puntos la defimos:
  • 22. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias La recta que une esos puntos la defimos: z(x) = mx + q (5) Donde:
  • 23. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias La recta que une esos puntos la defimos: z(x) = mx + q (5) Donde: m = (ymax − ymin + 2δǫ)/(n − 1) q = ymin − m − δǫ (6)
  • 24. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Definici´on k-vector
  • 25. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Definici´on k-vector Definici´on k-vector nuestro k-vector debe cumplir :
  • 26. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Definici´on k-vector Definici´on k-vector nuestro k-vector debe cumplir : k(1) = 0 (7)
  • 27. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Definici´on k-vector Definici´on k-vector nuestro k-vector debe cumplir : k(1) = 0 (7) k(n) = n (8)
  • 28. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Definici´on k-vector Definici´on k-vector nuestro k-vector debe cumplir : k(1) = 0 (7) k(n) = n (8) Y adem´as en la posici´on i-´esima k(i) = j, donde j es el ´ındice m´as grande que cumple:
  • 29. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Definici´on k-vector Definici´on k-vector nuestro k-vector debe cumplir : k(1) = 0 (7) k(n) = n (8) Y adem´as en la posici´on i-´esima k(i) = j, donde j es el ´ındice m´as grande que cumple: s(j) ≤ y(I(i)) (9)
  • 30. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Como se interpreta la ecuaci´on (9)
  • 31. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Como se interpreta la ecuaci´on (9) Desde un punto de vista pr´actico los valores de k(i) representan el n´umero de elementos de la base de datos y que est´an por debajo del valor z(i).
  • 32. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Una vez que el k-vector ha sido creado podemos conocer cuantos y en que posici´on del vector s est´an los datos que buscamos ([ya, yb]). De hecho los ´ındices asociados con estos valores en el vector s est´an dados por:
  • 33. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Una vez que el k-vector ha sido creado podemos conocer cuantos y en que posici´on del vector s est´an los datos que buscamos ([ya, yb]). De hecho los ´ındices asociados con estos valores en el vector s est´an dados por: ´ındices de b´usqueda
  • 34. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Una vez que el k-vector ha sido creado podemos conocer cuantos y en que posici´on del vector s est´an los datos que buscamos ([ya, yb]). De hecho los ´ındices asociados con estos valores en el vector s est´an dados por: ´ındices de b´usqueda jb = ⌊ ya − q m ⌋ and jt = ⌈ yb − q m ⌉ (10)
  • 35. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Una vez que el k-vector ha sido creado podemos conocer cuantos y en que posici´on del vector s est´an los datos que buscamos ([ya, yb]). De hecho los ´ındices asociados con estos valores en el vector s est´an dados por: ´ındices de b´usqueda jb = ⌊ ya − q m ⌋ and jt = ⌈ yb − q m ⌉ (10) Una vez que tenemos los indices podemos obtener los indices de el rango de b´usqueda de acuerdo a:
  • 36. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Una vez que el k-vector ha sido creado podemos conocer cuantos y en que posici´on del vector s est´an los datos que buscamos ([ya, yb]). De hecho los ´ındices asociados con estos valores en el vector s est´an dados por: ´ındices de b´usqueda jb = ⌊ ya − q m ⌋ and jt = ⌈ yb − q m ⌉ (10) Una vez que tenemos los indices podemos obtener los indices de el rango de b´usqueda de acuerdo a: Indices en el k-vector kstart = k(jb) + 1 and kend = k(jt) (11)
  • 37. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Elementos buscados Asi finalmente los elementos buscados en la base de datos y(i) ∈ [ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]
  • 38. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Elementos buscados Asi finalmente los elementos buscados en la base de datos y(i) ∈ [ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin embargo en la base de datos pueden aparecer elementos extra˜nos originados por el hecho que en promedio los ´ındices kstar y kend tienen cada uno 50 % de probabilidades de no pertenecer a los intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.
  • 39. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Elementos buscados Asi finalmente los elementos buscados en la base de datos y(i) ∈ [ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin embargo en la base de datos pueden aparecer elementos extra˜nos originados por el hecho que en promedio los ´ındices kstar y kend tienen cada uno 50 % de probabilidades de no pertenecer a los intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.Asi si E0 es la cantidad de elementos esperados en el rango [z(j), z(j + 1)] entonces el n´umero de elementos extra˜nos esperados en el rango [ya, yb] es 2E0 2 = E0 = n (n−1) ≈ 1 para n ≫ 1.
  • 40. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Elementos buscados Asi finalmente los elementos buscados en la base de datos y(i) ∈ [ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin embargo en la base de datos pueden aparecer elementos extra˜nos originados por el hecho que en promedio los ´ındices kstar y kend tienen cada uno 50 % de probabilidades de no pertenecer a los intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.Asi si E0 es la cantidad de elementos esperados en el rango [z(j), z(j + 1)] entonces el n´umero de elementos extra˜nos esperados en el rango [ya, yb] es 2E0 2 = E0 = n (n−1) ≈ 1 para n ≫ 1. Por ello en presencia de este elemento extra˜no, debemos hacer dos b´usquedas locales m´as para eliminar dicho elemento. Formalmente:
  • 41. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Elementos buscados Asi finalmente los elementos buscados en la base de datos y(i) ∈ [ya, yb] son los elementos y(I(k)), donde k ∈ [kstart , kend ]Sin embargo en la base de datos pueden aparecer elementos extra˜nos originados por el hecho que en promedio los ´ındices kstar y kend tienen cada uno 50 % de probabilidades de no pertenecer a los intervalos [ya, z(ja + 1)] y [z(jb, yb)] respectivamente.Asi si E0 es la cantidad de elementos esperados en el rango [z(j), z(j + 1)] entonces el n´umero de elementos extra˜nos esperados en el rango [ya, yb] es 2E0 2 = E0 = n (n−1) ≈ 1 para n ≫ 1. Por ello en presencia de este elemento extra˜no, debemos hacer dos b´usquedas locales m´as para eliminar dicho elemento. Formalmente:
  • 42. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Eliminaci´on de elementos extra˜nos
  • 43. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Eliminaci´on de elementos extra˜nos verificar si y(I(k)) < ya verificar si y(I(k)) > yb Donde k = kstart k = kend (12)
  • 44. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Principales limitaciones del algoritmo
  • 45. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Principales limitaciones del algoritmo Pueden aparecer elementos extra˜nos en una b´usqueda
  • 46. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Principales limitaciones del algoritmo Pueden aparecer elementos extra˜nos en una b´usqueda El n´umero de elementos extra˜nos en una b´usqueda depende de n
  • 47. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Principales limitaciones del algoritmo Pueden aparecer elementos extra˜nos en una b´usqueda El n´umero de elementos extra˜nos en una b´usqueda depende de n el orden de complejidad(O(3)) se mantiene si elk-vector es lineal o cuasi-lineal con respecto a los indices
  • 48. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Inversi´on de funciones
  • 49. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Inversi´on de funciones El m´etodo de k-vector exibe ventajas cuando es aplicado a bases de datos est´aticas, por ello puede ser utilizado de manera eficiente para invertir funciones no-lineales de la forma y = f (x), donde f es una funci´on no lineal de n variables independientes. ´Este m´etodo no es el adecuado para invertir una funci´on s´olo una vez, ya que su eficiencia se ve reflejada cuando la inversi´on debe hacerse repetidas veces en alg´un rango de valores de la funci´on. Una vez que el preprocesamiento se ha completado, la inversi´on puede ser creada y usada en cualquier momento. La metodolog´ıa puede ser resumida en los siguientes diagramas de flujo:
  • 50. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Inversi´on de funciones y(x),x(k)=xmin + (xmax −xmin)(k−1) (n−1) s = y(I), s(k + 1) > s(k) Realizar el k-vector para s k(1) = 0,k(n) = n δ = 1 2 max{|y(2 : n) − y(1 : n − 1)|} Figura: Preprocesamiento y ∈ [s(1), s(n)], b´usqueda k-vector X = x(I(K)), Y = y(I(K)) Xs = X(J), Xs(k + 1) > Xs(k) ji = 1, BUCLE jf = 2 : l si Xs(jf ) − Xs(jf − 1) > 2∆x Nroot = Nroot + 1, ne = jf − ji ne = 1 → k=I(K(J(ji ))) m = min(|Ys(ji : jf − 1)) − y| Luego alg´un m´etodo para encontrar ra´ıces Figura: Inversi´on de una funci´on no-lineal
  • 51. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Resolver sistemas de dos ecuaciones no-lineales n-dimensionales Resoluci´on de sistemas de dos ecuaciones no lineales Sea el siguiente sistema de dos ecuaciones:
  • 52. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Resolver sistemas de dos ecuaciones no-lineales n-dimensionales Resoluci´on de sistemas de dos ecuaciones no lineales Sea el siguiente sistema de dos ecuaciones: y = f (x) and y = g(x) + c (13)
  • 53. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Resolver sistemas de dos ecuaciones no-lineales n-dimensionales Resoluci´on de sistemas de dos ecuaciones no lineales Sea el siguiente sistema de dos ecuaciones: y = f (x) and y = g(x) + c (13) Donde f (x) y g(x) pueden ser dos funciones nolineales dadas y c una constante cuyo valor puede cambiar. Se puede ver que el problema anterior es equivalente a resolver la siguiente ecuaci´on:
  • 54. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Resolver sistemas de dos ecuaciones no-lineales n-dimensionales Resoluci´on de sistemas de dos ecuaciones no lineales Sea el siguiente sistema de dos ecuaciones: y = f (x) and y = g(x) + c (13) Donde f (x) y g(x) pueden ser dos funciones nolineales dadas y c una constante cuyo valor puede cambiar. Se puede ver que el problema anterior es equivalente a resolver la siguiente ecuaci´on: c = f (x) − g(x) = h(x) (14) Problema que se puede resolver con la metodolog´ıa anterior.
  • 55. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Interpolaci´on Busqueda de datos en una tabla e interpolaci´on Si consideramos una look-up table discreta de una dimensi´on con coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro vector y = {y1, y2, y3....yn}T .
  • 56. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Interpolaci´on Busqueda de datos en una tabla e interpolaci´on Si consideramos una look-up table discreta de una dimensi´on con coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro vector y = {y1, y2, y3....yn}T .La intepolaci´on con k-vector es primero iniciada construyendo el k-vector fuera del procesamiento en tiempo real. En este caso el k-vector esta dado por k = {k1, k2, k3....kn}T donde kj es el n´umero de valores de x que estan por debajo de la linea que une los puntos [1, −δ] [n, xn + δ] al j-´esimo indice. Entonces el indice del k-vector es calculado de acuerdo a:
  • 57. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Interpolaci´on Busqueda de datos en una tabla e interpolaci´on Si consideramos una look-up table discreta de una dimensi´on con coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro vector y = {y1, y2, y3....yn}T .La intepolaci´on con k-vector es primero iniciada construyendo el k-vector fuera del procesamiento en tiempo real. En este caso el k-vector esta dado por k = {k1, k2, k3....kn}T donde kj es el n´umero de valores de x que estan por debajo de la linea que une los puntos [1, −δ] [n, xn + δ] al j-´esimo indice. Entonces el indice del k-vector es calculado de acuerdo a: j = floor( x∗ − δ − q m ) (15)
  • 58. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Interpolaci´on Busqueda de datos en una tabla e interpolaci´on Si consideramos una look-up table discreta de una dimensi´on con coordenadas x = {x1, x2, x3....xn}T que mapea valores a otro vector y = {y1, y2, y3....yn}T .La intepolaci´on con k-vector es primero iniciada construyendo el k-vector fuera del procesamiento en tiempo real. En este caso el k-vector esta dado por k = {k1, k2, k3....kn}T donde kj es el n´umero de valores de x que estan por debajo de la linea que une los puntos [1, −δ] [n, xn + δ] al j-´esimo indice. Entonces el indice del k-vector es calculado de acuerdo a: j = floor( x∗ − δ − q m ) (15) Donde m = xn−x1+2δ (n−1) . Entonces, para calcular el valor interpolado y∗, se usa alguno de los m´etodos conocidos de interpolaci´on (lineal, m´as alto orden, spline, spline c´ubico..) para aproximar entre xkj y xkj+1 .
  • 59. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Ra´ıces de funciones no-lineales Realizamos una implementaci´on del algoritmo descripto en (2)basados en el preprocesamiento y la b´usqueda en si, mediante dos funciones que automatizan el m´etodo. Obtuvimos resultados muy buenos en varios sentidos comparados con los convencionales:
  • 60. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Ra´ıces de funciones no-lineales Realizamos una implementaci´on del algoritmo descripto en (2)basados en el preprocesamiento y la b´usqueda en si, mediante dos funciones que automatizan el m´etodo. Obtuvimos resultados muy buenos en varios sentidos comparados con los convencionales:
  • 61. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Ra´ıces de funciones no-lineales Implementaci´on preprocesamiento y busqueda de ra´ıces
  • 62. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Ra´ıces de funciones no-lineales Implementaci´on preprocesamiento y busqueda de ra´ıces Como ejemplo de salida t´ıpica de la implementaci´on para la funci´on y = sinc(x) en [−5, 5] es octave:3> nonlinear_inversion Raiz:1 ---> -5 Raiz:2 ---> -4 Raiz:3 ---> -3 Raiz:4 ---> -2 Raiz:5 ---> -1 Raiz:6 ---> 1 Raiz:7 ---> 2 Raiz:8 ---> 3 Raiz:9 ---> 4 Raiz:10 ---> 5 elapsed_time = 0.033457
  • 63. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Intersecci´on de dos funciones no-lineales Utilizando las mismas funciones de la implementaci´on anterior, realizamos un script que obtiene las intersecciones de dos funciones no-lineales, sinc(t) y sin(t) y el resultado que obtuvimos fue el siguiente:
  • 64. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Intersecci´on de dos funciones no-lineales Resultado −8 −6 −4 −2 0 2 4 6 8 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 time f(t) Interseccion de dos funciones no−lineales sinc(t) sin(t) Figura: Soluci´on a la intersecci´on de dos funciones no-lineales
  • 65. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Interpolaci´on Prueba con una look-up table Para verificar que la magnitud de la base de datos no afecta considerablemente a la velocidad de resoluci´on, realizamos un script que genera una base de datos variable y una b´usqueda en particular con el m´etodo antes mencionado, a cada b´usqueda es tomado el tiempo de resoluci´on y luego se grafica Los resultados fueron:
  • 66. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Interpolaci´on Resultado 10 1 10 2 10 3 10 4 10 5 10 −5 10 −4 10 −3 10 −2 Velocidad de resolucion vs. Orden de muestreo Dimension del muestreo Tiempoderesolucion(seg) Figura: Velocidad de resoluci´on vs orden de la base de datos
  • 67. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Raices de funciones no-lineales Se puede afirmar que es indiscutible la efectividad de dicho m´etodo comparado con otras metodolog´ıas para encontrar ra´ıces en un determinado intervalo. ´Esto se debe a que determinadas b´usquedas de ra´ıces, como ser el m´etodo de Newton-Raphson sin ser optimizado por el k-vector, encuentran ´unicamente una ra´ız de todas las posibles en dicho intervalo con una gran cantidad de iteraciones. Por otra parte este m´etodo posee una gran precisi´on y obtiene todas las ra´ıces de la funci´on en el intervalo solicitado.
  • 68. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Intersecci´on de dos funciones no-lineales Como se puede observar en la figura 3, es factible encontrar los puntos de intersecci´on de dos funciones no-lineales bajo el m´etodo k-vector. ´Este proceso lleva un leve costo en cuanto a la programaci´on, debido a que es posible implementarlo directamente utilizando la b´usqueda de ra´ıces de funciones no-lineales: Al restar las funciones entre si, se genera una nueva funci´on, y se le hallan a ´esta sus ceros. ´Estos ceros van a representar las coordenada de las intersecciones de las funciones originales. Como se menciono con anterioridad, el m´etodo de b´usqueda de ra´ıces es muy efectivo tanto en tiempo de resoluci´on como en precisi´on. Al ser el m´etodo para encontrar las intersecciones de dos funciones una variante del m´etodo anterior, ´este posee las mismas caracter´ısticas.
  • 69. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Interpolaci´on Al observar la Figura (4) se puede ver que el m´etodo de interpolaci´on utilizado es muy efectivo, no solo cuando se necesita un m´etodo de resoluci´on r´apido, sino tambi´en para situaciones en las cuales el problema conlleva una gran serie de datos independientes, obtenidos emp´ıricamente. ´Este tipo de metodolog´ıa es recomendable cuando se enfrenta a situaciones en las cuales la base de datos cambia continuamente, ya que el m´etodo pos´ee un tiempo de resoluci´on muy inferior a otros m´etodos cuando las bases de datos muestreados es considerablemente grande. ´Este tipo de base de datos no afecta al m´etodo del k-vector en t´erminos de eficiencia ni de velocidad, como puede observarse en la figura (4).
  • 70. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias References A k-vector approach to sampling, interpolation, and aproximation. Daniele Mortari and Jonathan Rogers k-vector Range searching techniques. Daniele Mortari, Beny Neta Title of the publication
  • 71. Resumen Introducci´on Definiciones limitaciones Aplicaciones Resultados e implementaciones conclusiones Referncias Preguntas?