[pyar] algun matematico por estos lados??

Alejandro Santos listas en alejolp.com
Sab Ago 21 12:29:42 ART 2010


2010/8/21 Fidel Sanchez-Bueno <fidellira.6 en gmail.com>:
>  Buenas, gente de la lista!..
>
> estoy realizando un programa en python (Obvio). En una parte del programa se
> da un proceso iterativo del tipo "calcula -> compara resultado -> si es
> igual termina -> si no calcula de nuevo con otro valor"
>
> lo que necesito es disminuir lo mas que pueda la cantidad de iteraciones del
> proceso. Lo primero que me paso por la mente es realizar una busqueda
> binaria..
>
> es decir calcular un minimo, un maximo y un valor del medio, comparar con mi
> setpoint y luego repetir el proceso..
>
> Yo se que la busqueda binaria es bastante efectiva para disminuir el numero
> de iteraciones, el problema es que los datos no son lineales (en la imagen
> ven los datos y la grafica resultante [1])
>
> me imagino que debe haber alguna manera de mejorar la busqueda binaria con
> valores no lineales tratando de predecir mejor el "valor del medio"..
>

No termino de entender qué estás tratando de lograr: a) aproximando
curvas con valores de muestras, o b) buscando elementos en una lista
ordenada de valores?

Si tenes dos valores, a y b, el mejor valor del "medio" es: (a+b)/2.
Eso es así porque no tenés más información que esos dos valores. Si
necesitás más precisión vas a tener que aumentar la frecuencia de
muestro de los valores.

Eso por un lado. Por el otro, la búsqueda binaria hace log(N)
comparaciones en el peor de los casos. Eso es así porque no conoce la
distribución de los valores; lo unico que sabe es que los valores
estan ordenados, pero no conoce el polinomio que los generó.

Usando la búsqueda binaria podés llegar a hacer algo como:

  medio = limit((a+b)/2 + delta, min, max)

donde delta es un valor que usás para "correrte un poco" del centro, y
limit evita que te pases de los valores de min y max, pero no se me
ocurre cómo calcular delta. Si estás buscando eficiencia, usar delta
puede generar más procesamiento de lo que la busqueda binaria te
reduce.

-- 
Alejandro Santos
http://alejolp.com.ar



More information about the pyar mailing list