Articulo de referencia

Método ITP

En análisis numérico , el método ITP ( método de interpolación, truncamiento y proyección ) es el primer algoritmo de búsqueda de raíces que logra la convergencia superlineal de...

En análisis numérico , el método ITP ( método de interpolación, truncamiento y proyección ) es el primer algoritmo de búsqueda de raíces que logra la convergencia superlineal del método de la secante [ 1 ] manteniendo 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 híbridas ( método de Brent , Ridders , Illinois ), ya que no solo converge superlinealmente sobre funciones bien comportadas, sino que también garantiza un rendimiento rápido bajo funciones mal comportadas donde las interpolaciones fallan. [ 3 ]

El método ITP sigue la misma estructura de las estrategias de acotación estándar que mantiene un registro de los límites superior e inferior para la ubicación de la raíz; pero también mantiene un registro de la región donde el rendimiento del peor caso se mantiene acotado superiormente. Como estrategia de acotación, 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 para encontrar la estimación de la 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.κ1(0,),κ2[1,1+ϕ){\displaystyle \kappa _{1}\in (0,\infty ),\kappa _{2}\in \left[1,1+\phi \right)}ynorte0[0,){\displaystyle n_{0}\in [0,\infty )}dóndeϕ{\displaystyle \phi }es la proporción áurea12(1+5){\displaystyle {\tfrac {1}{2}}(1+{\sqrt {5}})}: 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íces

Dada una función continuaF{\displaystyle f}definido desde[a,b]{\displaystyle [a,b]}aR{\displaystyle \mathbb {R} } de tal manera queF(a)F(b)0{\displaystyle f(a)f(b)\leq 0}, donde con el coste de una consulta se puede acceder a los valores deF(incógnita){\displaystyle f(x)}en cualquier momento dadoincógnita{\displaystyle x}Y, dado un objetivo de precisión preespecificadoϵ>0{\displaystyle \epsilon >0}Un algoritmo de búsqueda de raíces está diseñado para resolver el siguiente problema con la menor cantidad de consultas posible:

Definición del problema: Encontrarincógnita^{\displaystyle {\hat {x}}}de tal manera que |incógnita^incógnita|ϵ{\displaystyle |{\hat {x}}-x^{*}|\leq \epsilon }, dóndeincógnita{\displaystyle x^{*}}SatisfaceF(incógnita)=0{\displaystyle f(x^{*})=0}.

Este problema es muy común en análisis numérico , informática e 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 padres 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 suma importancia, ya que un enfoque ineficiente podría tener un alto costo computacional cuando se tiene en cuenta el contexto más amplio. Esto es lo que el método ITP intenta hacer al explotar simultáneamente garantías de interpolación, así como garantías óptimas minmax del método de bisección que termina en como máximo norte1/2registro2((b0a0)/2ϵ){\displaystyle n_{1/2}\equiv \lceil \log _{2}((b_{0}-a_{0})/2\epsilon )\rceil }iteraciones cuando se inician en un intervalo[a0,b0]{\displaystyle [a_{0},b_{0}]}.

El método

Dadoκ1(0,),κ2[1,1+ϕ){\displaystyle \kappa _{1}\in (0,\infty ),\kappa _{2}\in \left[1,1+\phi \right)},norte1/2registro2((b0a0)/2ϵ){\displaystyle n_{1/2}\equiv \lceil \log _{2}((b_{0}-a_{0})/2\epsilon )\rceil } ynorte0[0,){\displaystyle n_{0}\in [0,\infty )} dóndeϕ{\displaystyle \phi }es la proporción áurea12(1+5){\displaystyle {\tfrac {1}{2}}(1+{\sqrt {5}})}, en cada iteraciónj=0,1,2{\displaystyle j=0,1,2\dots } El método ITP calcula el puntoincógnitaITP{\displaystyle x_{\text{ITP}}}siguiendo tres pasos:

Paso 1 del método ITP.
Paso 2 del método ITP.
Paso 3 del método ITP.
Los tres pasos combinados forman el método ITP. La línea azul gruesa representa la "interpolación truncada proyectada" del método.
  1. [Paso de interpolación] Calcular los puntos de bisección y de regula falsi: incógnita1/2a+b2{\displaystyle x_{1/2}\equiv {\frac {a+b}{2}}} y incógnitaFbF(a)aF(b)F(a)F(b){\displaystyle x_{f}\equiv {\frac {bf(a)-af(b)}{f(a)-f(b)}}} ;
  2. [Paso de truncamiento] Perturbar el estimador hacia el centro: incógnitatincógnitaF+σδ{\displaystyle x_{t}\equiv x_{f}+\sigma \delta } dónde σfirmar(incógnita1/2incógnitaF){\displaystyle \sigma \equiv {\text{sign}}(x_{1/2}-x_{f})}yδmin{κ1|ba|κ2,|incógnita1/2incógnitaF|}{\displaystyle \delta \equiv \min\{\kappa _{1}|ba|^{\kappa _{2}},|x_{1/2}-x_{f}|\}} ;
  3. [Paso de proyección] Proyecte el estimador al intervalo minmax:incógnitaITPincógnita1/2σρk{\displaystyle x_{\text{ITP}}\equiv x_{1/2}-\sigma \rho _{k}}dóndeρkmin{ϵ2norte1/2+norte0jba2,|incógnitatincógnita1/2|}{\displaystyle \rho _{k}\equiv \min \left\{\epsilon 2^{n_{1/2}+n_{0}-j}-{\frac {ba}{2}},|x_{t}-x_{1/2}|\right\}}.

El valor de la funciónF(incógnitaITP){\displaystyle f(x_{\text{ITP}})}En este punto se realiza la consulta y luego se reduce el intervalo para delimitar 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 ) asume los valores iniciales deya{\displaystyle y_{a}}yyb{\displaystyle y_{b}}se dan y satisfacenya<0<yb{\displaystyle y_{a}<0<y_{b}}dóndeyaF(a){\displaystyle y_{a}\equiv f(a)}yybF(b){\displaystyle y_{b}\equiv f(b)}y devuelve una estimaciónincógnita^{\displaystyle {\hat {x}}}que satisface|incógnita^incógnita|ϵ{\displaystyle |{\hat {x}}-x^{*}|\leq \epsilon }como máximonorte1/2+norte0{\displaystyle n_{1/2}+n_{0}}evaluaciones de funciones.

Aporte:a,b,ϵ,κ1,κ2,norte0,F{\displaystyle a,b,\epsilon ,\kappa _{1},\kappa _{2},n_{0},f}Preprocesamiento:norte1/2=registro2ba2ϵ{\displaystyle n_{1/2}=\lceil \log _{2}{\tfrac {b-a}{2\epsilon }}\rceil },nortemáximo=norte1/2+norte0{\displaystyle n_{\max }=n_{1/2}+n_{0}}, y j=0{\displaystyle j=0}; Mientras (ba>2ϵ{\displaystyle b-a>2\epsilon })Cálculo de parámetros:incógnita1/2=a+b2{\displaystyle x_{1/2}={\tfrac {a+b}{2}}},r=ϵ2nortemáximoj(ba)/2{\displaystyle r=\epsilon 2^{n_{\max }-j}-(b-a)/2},δ=κ1(ba)κ2{\displaystyle \delta =\kappa _{1}(b-a)^{\kappa _{2}}}; Interpolación:incógnitaF=ybayabybya{\displaystyle x_{f}={\tfrac {y_{b}a-y_{a}b}{y_{b}-y_{a}}}}; Truncamiento:σ=firmar(incógnita1/2incógnitaF){\displaystyle \sigma ={\text{sign}}(x_{1/2}-x_{f})}; Siδ|incógnita1/2incógnitaF|{\displaystyle \delta \leq |x_{1/2}-x_{f}|}entoncesincógnitat=incógnitaF+σδ{\displaystyle x_{t}=x_{f}+\sigma \delta }, Demásincógnitat=incógnita1/2{\displaystyle x_{t}=x_{1/2}}; Proyección: Si|incógnitatincógnita1/2|r{\displaystyle |x_{t}-x_{1/2}|\leq r}entoncesincógnitaITP=incógnitat{\displaystyle x_{\text{ITP}}=x_{t}}, DemásincógnitaITP=incógnita1/2σr{\displaystyle x_{\text{ITP}}=x_{1/2}-\sigma r}; Intervalo de actualización:yITP=F(incógnitaITP){\displaystyle y_{\text{ITP}}=f(x_{\text{ITP}})}; SiyITP>0{\displaystyle y_{\text{ITP}}>0}entoncesb=incógnitaITPAG{\displaystyle b=x_{ITP}}yyb=yITP{\displaystyle y_{b}=y_{\text{ITP}}}, Si no,yITP<0{\displaystyle y_{\text{ITP}}<0}entoncesa=incógnitaITP{\displaystyle a=x_{\text{ITP}}}yya=yITP{\displaystyle y_{a}=y_{\text{ITP}}}, Demása=incógnitaITP{\displaystyle a=x_{\text{ITP}}}yb=incógnitaITP{\displaystyle b=x_{\text{ITP}}}; j=j+1{\displaystyle j=j+1}; Producción:incógnita^=a+b2{\displaystyle {\hat {x}}={\tfrac {a+b}{2}}}

Ejemplo: Hallar la raíz de un polinomio

Supongamos que se utiliza el método ITP para encontrar una raíz del polinomio.F(incógnita)=incógnita3incógnita2.{\displaystyle f(x)=x^{3}-x-2\,.}Usandoϵ=0,0005,κ1=0.1,κ2=2{\displaystyle \epsilon =0.0005,\kappa _{1}=0.1,\kappa _{2}=2}ynorte0=1{\displaystyle n_{0}=1}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 de iteraciones que la bisección para obtener una estimación más precisa de la raíz sin sacrificar las garantías de minmax. Otros métodos también podrían alcanzar una velocidad de convergencia similar (como Ridders, Brent, etc.), pero sin las garantías de minmax que ofrece el método ITP.

Análisis

La principal ventaja del método ITP es que garantiza que no requerirá más iteraciones que el método de bisección cuandonorte0=0{\displaystyle n_{0}=0}Por lo tanto, su rendimiento promedio está garantizado para 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), entonces se garantiza que tendrá un alto orden de convergencia, al igual que los 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 unnorte0{\displaystyle n_{0}}holgura, requerirá como máximonorte1/2+norte0{\displaystyle n_{1/2}+n_{0}}iteraciones (Teorema 2.1 de [ 3 ] ). Esto es óptimo minmax como el método de bisección cuandonorte0{\displaystyle n_{0}}es elegido para sernorte0=0{\displaystyle n_{0}=0}.

Rendimiento promedio

Porque no se necesita más quenorte1/2+norte0{\displaystyle n_{1/2}+n_{0}}iteraciones, el número promedio de iteraciones siempre será menor que el del método de bisección para cualquier distribución considerada cuandonorte0=0{\displaystyle n_{0}=0}(Corolario 2.2 de [ 3 ] ).

Rendimiento asintótico

Si la funciónF(incógnita){\displaystyle f(x)}es dos veces diferenciable y la raízincógnita{\displaystyle x^{*}}es simple, entonces los intervalos producidos por el método ITP convergen a 0 con un orden de convergencia deκ2{\displaystyle {\sqrt {\kappa _{2}}}}sinorte00{\displaystyle n_{0}\neq 0}o sinorte0=0{\displaystyle n_{0}=0}y(ba)/ϵ{\displaystyle (b-a)/\epsilon }no es una potencia de 2 con el términoϵ2norte1/2ba{\displaystyle {\tfrac {\epsilon 2^{n_{1/2}}}{b-a}}}no demasiado cerca de cero (Teorema 2.3 de [ 3 ] ).

Software

  • El paquete itp [ 4 ] aportado en R.

Véase también

Notas

  1. Para una discusión más detallada de los hiperparámetros, consulte la documentación de ITP en la biblioteca kurbo .

Referencias

  1. Argyros, IK; Hernández-Verón, MA; Rubio, MJ (2019). "Sobre la convergencia de métodos 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. S2CID 202156085 . 
  2. ^ 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 .  
  3. 1 2 3 4 5 6 7 Oliveira, IFD; Takahashi, RHC (2020-12-06). "Una mejora del rendimiento promedio del método de bisección que preserva la optimalidad minmax" . ACM Transactions on Mathematical Software . 47 (1): 5:1–5:24. doi : 10.1145/3423597 . ISSN 0098-3500 . S2CID 230586635 .  
  4. Northrop, PJ (2023), itp: El algoritmo de búsqueda de raíces Interpolate, Truncate, Project (ITP)
  • Un método de bisección mejorado , por Kudos