Horquillado de una discontinuidad en una función escalonada

8

Tengo la funcion

,f(x)={0(x<a)1/2(x=a)1(x>a)

donde es desconocido. Puedo calcular la función para cualquier valor de x , y tratar de determinar a (con cierto grado de precisión).axa

Dado un paréntesis inicial , subdivido el paréntesis definiendox0<a<x1

x2:=x0+x12

y computación . Entonces tengo x 0 < a < x 2 o x 2 < a < x 1 . Podría continuar con este enfoque hasta que los valores de horquillado están de acuerdo en cierta exactitud, y por lo tanto resolver una .f(x2)x0<a<x2x2<a<x1a

¿Hay un algoritmo más eficiente?

user1951162
fuente

Respuestas:

7

No. Aunque la pregunta se formula en términos de aritmética de coma flotante, esta es en esencia una pregunta sobre la búsqueda binaria. La búsqueda binaria es un algoritmo óptimo entre los algoritmos que se basan en un árbol de decisión (por ejemplo, https://stackoverflow.com/q/4571478/491171 ). Cualquier libro de texto de estructuras de datos y algoritmos debe discutir esto.

an=|highlow|/ϵmachnlog2nlog2na

a

Kirill
fuente
5

fPP+12

Patrick Sanan
fuente
2
(+1) Es por eso que definir el modelo de computación con precisión es importante para hablar de eficiencia algorítmica.
Kirill