E638 : A la recherche de Max
Calculons deux valeurs pour x0 et x1 tels que 0<x1<x0<1 ; la probabilité que f(x0)=f(x1), étant théoriquement nulle, deux cas peuvent se présenter :
- Si f(x0)<f(x1) le maximum se situe entre 0 et x0
- Si f(x0)>f(x1) le maximum se situe entre x1 et 1
Le calcul des deux premiers points permet donc une réduction de l’intervalle de recherche à [0,x2] ou [x1,x0], soit au minimum de Sup(x0,1-x1) ; cette réduction sera la même (rapport x0) quel que soit le cas si x0+x1=1 ; elle sera maximale si x0-x1 est le plus petit possible ; inversement, pour x0-x1 fixé, la réduction est maximale si x0+x1=1.
Si x0+x1=1, on peut supposer, pour simplifier l’exposé, que le maximum se situe entre 0 et x0 (l’autre cas se ramène à celui-ci par symétrie par rapport au milieu de l’intervalle);
en rajoutant un troisième point x2, (0<x2<x1<x0<1) on peut obtenir une réduction
maximale de Sup(x1,x0-x2), pour x1-x2 fixé, lorsque x1+x2=x0. En itérant le processus (et en se ramenant, par symétries éventuelles, au cas où le maximum cherché est en 0), on obtiendra après n étapes, soit n+1 points, une réduction maximale de Sup( xn-1, xn-2-xn), pour xn-2-xn = xn-1 (soit xn-2=xn+xn-1)avec xn=xn-1-ε avec ε aussi petit que possible. Soit Fn
le n-ième nombre de Fibonacci avec F0=0, F1=1, et Fn=Fn-1+Fn-2. On déduit alors des relations ci-dessus que xn=xnF1+εF0, xn-1=xnF2+εF1, …, donc x1=xnFn+εFn,
x0=xn-1Fn+1+εFn, et 1=xnFn+2+εFn+1 ; soit Fn+2=(1-εFn+1/Fn+2)/xn.
Si l’on veut obtenir xn-1=xn+ε<10-3, puisque F16=987, et F17=1597 il faudra prendre n+1=16 (soit 16 points), et ε<3.10-4.
Dans ce cas, la méthode n’est pas plus rapide que celle dite de la section dorée dans laquelle x0=1/ϕ (où ϕ=(1+√5)/2 est le nombre d’or), x1=1-x0, et où à chaque étape
l’intervalle est divisé par ϕ. En effet, logϕ=0,209… (si log désigne le logarithme décimal), donc 15logϕ>3, et à la quinzième étape (16 points) on aura réduit l’intervalle
d’incertitude dans le rapport 10-3. Par contre, si l’on avait voulu réduire l’intervalle d’incertitude à 10-4, F21= 10946, et 19logϕ<4 : on aurait ainsi gagné une étape…