En análisis numérico , el método ITP , abreviatura de Interpolate Truncate and Project , es el primer algoritmo de búsqueda de raíces que logra la convergencia superlineal del método secante [1] mientras conserva el rendimiento óptimo [2] en el peor de los casos del método de bisección . [3] También es el primer método con un rendimiento promedio garantizado estrictamente mejor que el método de bisección bajo cualquier distribución continua. [3] En la práctica, funciona mejor que la interpolación tradicional y las estrategias basadas en híbridos ( Método de Brent , Ridders , Illinois ), ya que no solo converge de manera superlineal sobre funciones con buen comportamiento sino que también garantiza un rendimiento rápido bajo funciones con mal comportamiento donde las interpolaciones fallan. [3]
El método ITP sigue la misma estructura de las estrategias de horquillado estándar que realizan un seguimiento de los límites superior e inferior para la ubicación de la raíz; pero también realiza un seguimiento de la región donde el rendimiento en el peor de los casos se mantiene acotado superiormente. Como estrategia de horquillado, en cada iteración, el ITP consulta el valor de la función en un punto y descarta la parte del intervalo entre dos puntos donde el valor de la función comparte el mismo signo. El punto consultado se calcula con tres pasos: interpola encontrando la estimación de regula falsi , luego perturba/trunca la estimación (similar a Regula falsi § Mejoras en regula falsi ) y luego proyecta la estimación perturbada en un intervalo en la vecindad del punto medio de bisección. La vecindad alrededor del punto de bisección se calcula en cada iteración para garantizar la optimalidad minmax (Teorema 2.1 de [3] ). El método depende de tres hiperparámetros y donde es la proporción áurea : los dos primeros controlan el tamaño del truncamiento y el tercero es una variable de holgura que controla el tamaño del intervalo para el paso de proyección. [a]
Problema de búsqueda de raíz
Dada una función continua definida de a tal que , donde al costo de una consulta se puede acceder a los valores de en cualquier . Y, dada una precisión objetivo preestablecida , se diseña un algoritmo de búsqueda de raíces para resolver el siguiente problema con la menor cantidad de consultas posible:
Definición del problema: Encontrar tal que , donde satisface .
Este problema es muy común en el análisis numérico , la informática y la ingeniería ; y los algoritmos de búsqueda de raíces son el enfoque estándar para resolverlo. A menudo, el procedimiento de búsqueda de raíces es llamado por algoritmos padre más complejos dentro de un contexto más amplio y, por esta razón, resolver problemas de raíces de manera eficiente es de extrema importancia ya que un enfoque ineficiente puede tener un alto costo computacional cuando se toma en cuenta el contexto más amplio. Esto es lo que el método ITP intenta hacer explotando simultáneamente las garantías de interpolación, así como las garantías óptimas minmax del método de bisección que termina en como máximo iteraciones cuando se inicia en un intervalo .
El método
Dado , y donde es la proporción áurea , en cada iteración el método ITP calcula el punto siguiendo tres pasos:
[Paso de interpolación] Calcular los puntos de bisección y de regla falsa: y ;
[Paso de truncamiento] Perturba el estimador hacia el centro: donde y ;
[Paso de proyección] Proyectar el estimador al intervalo minmax: donde .
Se consulta el valor de la función en este punto y luego se reduce el intervalo para encerrar la raíz manteniendo el subintervalo con valores de función de signo opuesto en cada extremo.
El algoritmo
El siguiente algoritmo (escrito en pseudocódigo ) supone que los valores iniciales de y están dados y satisfacen donde y ; y devuelve una estimación que satisface en la mayoría de las evaluaciones de función.
Entrada: Preprocesamiento: , , y ; While ( )Cálculo de parámetros: , , ; Interpolación: ; Truncamiento: ; Si entonces , De lo contrario ; Proyección: Si entonces , De lo contrario ; Intervalo de actualización :; Si entonces y , De lo contrario, entonces y , De lo contrario y ; ; Salida:
Ejemplo: Encontrar la raíz de un polinomio
Supongamos que se utiliza el método ITP para encontrar una raíz del polinomio Usando y encontramos que:
Este ejemplo se puede comparar con el método de bisección § Ejemplo: Hallar la raíz de un polinomio . El método ITP requirió menos de la mitad del número de iteraciones que la bisección para obtener una estimación más precisa de la raíz sin costo en las garantías minmax. Otros métodos también podrían alcanzar una velocidad de convergencia similar (como Ridders, Brent, etc.) pero sin las garantías minmax dadas por el método ITP.
Análisis
La principal ventaja del método ITP es que se garantiza que no requiere más iteraciones que el método de bisección cuando . Por lo tanto, se garantiza que su rendimiento promedio será mejor que el del método de bisección incluso cuando la interpolación falla. Además, si las interpolaciones no fallan (funciones suaves), se garantiza que disfrutará del alto orden de convergencia como métodos basados en interpolación.
Rendimiento en el peor de los casos
Debido a que el método ITP proyecta el estimador en el intervalo minmax con una holgura, requerirá como máximo iteraciones (Teorema 2.1 de [3] ). Esto es minmax óptimo como el método de bisección cuando se elige que sea .
Rendimiento promedio
Debido a que no requiere más de iteraciones, el número promedio de iteraciones siempre será menor que el del método de bisección para cualquier distribución considerada cuando (Corolario 2.2 de [3] ).
Rendimiento asintótico
Si la función es dos veces diferenciable y la raíz es simple, entonces los intervalos producidos por el método ITP convergen a 0 con un orden de convergencia de si o si y no es una potencia de 2 con el término no demasiado cercano a cero (Teorema 2.3 de [3] ).
^ Para una discusión más profunda de los hiperparámetros, consulte la documentación de ITP en la biblioteca kurbo.
Referencias
^ Argyros, IK; Hernández-Verón, MA; Rubio, MJ (2019). "Sobre la convergencia de métodos de tipo secante". Tendencias actuales en análisis matemático y sus aplicaciones interdisciplinarias . pp. 141–183. doi :10.1007/978-3-030-15242-0_5. ISBN 978-3-030-15241-3.S2CID202156085 .[ enlace muerto permanente ]
^ Sikorski, K. (1 de febrero de 1982). "La bisección es óptima". Matemática numérica . 40 (1): 111-117. doi :10.1007/BF01459080. ISSN 0945-3245. S2CID 119952605.
^ abcdefg Oliveira, IFD; Takahashi, RHC (6 de diciembre de 2020). "Una mejora del rendimiento promedio del método de bisección preservando la optimalidad de Minmax". ACM Transactions on Mathematical Software . 47 (1): 5:1–5:24. doi :10.1145/3423597. ISSN 0098-3500. S2CID 230586635.
^ Northrop, PJ (2023), itp: El algoritmo de búsqueda de raíces Interpolar, Truncar, Proyectar (ITP)