AccueilđŸ‡«đŸ‡·Chercher

MĂ©thode de dichotomie

La mĂ©thode de dichotomie ou mĂ©thode de la bissection est, en mathĂ©matiques, un algorithme de recherche d'un zĂ©ro d'une fonction qui consiste Ă  rĂ©pĂ©ter des partages d’un intervalle en deux parties puis Ă  sĂ©lectionner le sous-intervalle dans lequel existe un zĂ©ro de la fonction.

Étapes successives de la mĂ©thode de dichotomie avec comme point de dĂ©part, l'intervalle [a1 ; b1]. Le zĂ©ro de la fonction est en rouge.

Principe

On considĂšre deux nombres rĂ©els a et b et une fonction rĂ©elle f continue sur l'intervalle [a, b] telle que f(a) et f(b) soient de signes opposĂ©s. Supposons que nous voulions rĂ©soudre l'Ă©quation f(x) = 0. D'aprĂšs le thĂ©orĂšme des valeurs intermĂ©diaires, f a au moins un zĂ©ro dans l’intervalle [a, b]. La mĂ©thode de dichotomie consiste Ă  diviser l’intervalle en deux en calculant m = (a+b)/2. Il y a maintenant deux possibilitĂ©s : soit f(a) et f(m) sont de signes contraires, soit f(m) et f(b) sont de signes contraires.

L’algorithme de dichotomie est alors appliquĂ© au sous-intervalle dans lequel le changement de signe se produit, ce qui signifie que l’algorithme de dichotomie est rĂ©cursif.

L’erreur absolue de la mĂ©thode de dichotomie est au plus

aprÚs n étapes car l'erreur est diminuée de moitié à chaque étape.

Réciproquement, si l'on cherche à ce que l'erreur absolue soit inférieure à une certaine valeur Δ, on sait dénombrer le nombre d'itérations nécessaires N pour satisfaire cette tolérance sur le résultat final :

La méthode converge linéairement, ce qui est trÚs lent par comparaison avec la méthode de Newton. L'avantage par rapport à cette derniÚre est son domaine d'application plus vaste : il suffit seulement que f(a) et f(b) soient de signes opposés et qu'on puisse déterminer le signe de f(m) à chaque itération.

Programmation

Sous l'hypothĂšse que le signe de f(m) soit dĂ©terminable, voici une reprĂ©sentation de la mĂ©thode en pseudo-code, oĂč Δ est la prĂ©cision souhaitĂ©e.

Tant que (b - a) > Î” 
    m ← (a + b) / 2
    Si (f(a)*f(m) ≀ 0) alors
       b ← m
    sinon
       a ← m
    Fin Si
Fin Tant que

Limite de la méthode

Le principal avantage pratique de cette méthode est sa robustesse, puisque si f est continue, alors l'algorithme est théoriquement convergent (la taille de l'intervalle de recherche tend vers zéro). Le principal défaut de l'algorithme est que seul le signe de f est utilisé, ce qui mÚne à une convergence plutÎt lente (convergence quasiment linéaire). La méthode de Newton, qui utilise la valeur de f ainsi que la valeur de la pente de f, est, quand elle converge, significativement plus rapide (convergence quadratique).

Par exemple, supposons que le zéro, simple, est égal à 1, que la fonction est deux fois continûment différentiable et que f'(x) = 1. Supposons, de plus qu'on utilise des nombres à virgule flottante binaire de type IEEE-754 avec 64 bits, dont 53 bits de précision. Supposons qu'on recherche une erreur absolue inférieure à 10-16. Si l'intervalle de recherche initial est de longueur égale à 1, alors la dichotomie nécessite 52 itérations. Au contraire, si le point initial est associé à une erreur absolue inférieure à 0,1, alors la méthode de Newton converge en seulement 5 itérations.

Cette méthode d'une grande robustesse nécessite cependant de connaßtre à chaque étape le signe de f(m). Dans quelques cas, il peut arriver que la valeur de f(m) soit si proche de 0 que la précision du logiciel de calcul ne permette plus de déterminer le signe de f(m) (les erreurs d'arrondi peuvent conduire au signe opposé, ou à 0). L'application de l'algorithme risque alors de conduire à l'élimination erronée d'une moitié de l'intervalle et à la convergence vers une valeur éloignée de la racine.

D'une maniĂšre plus gĂ©nĂ©rale, la dĂ©termination du signe de f(m) peut se rĂ©vĂ©ler impossible, mĂȘme en augmentant la prĂ©cision du calcul du logiciel. ConsidĂ©rons par exemple un rĂ©el α dont on peut calculer des valeurs approchĂ©es dĂ©cimales ou rationnelles αn Ă  toute prĂ©cision 1/n dĂ©sirĂ©e. ConsidĂ©rons maintenant la fonction f affine sur les intervalles [0 , 1/3], [1/3 , 2/3] et [2/3 , 1] et telle que f(0) = -1, f(1) = 1, f(1/3) = f(2/3) = α. La mĂ©thode de dichotomie demande de dĂ©terminer le signe de f(1/2) = α. Or il n'existe aucun algorithme gĂ©nĂ©ral permettant de dĂ©cider si α > 0, α = 0 ou α < 0. En effet, un tel algorithme, s'il existait, ne devant effectuer qu'un nombre fini de calculs, devrait prendre sa dĂ©cision au vu d'un nombre fini de valeurs approchĂ©es αn, ce qui est insuffisant pour conclure.

Cette limite conduit les théoriciens[1] de l'analyse constructive à qualifier la méthode de dichotomie de non constructive et à privilégier l'énoncé alternatif : rechercher une valeur x telle que |f(x)| soit inférieur à une erreur donnée.

Notes et références

  • (en) Cet article est partiellement ou en totalitĂ© issu de l’article de WikipĂ©dia en anglais intitulĂ© « Bisection method » (voir la liste des auteurs).
  • (en) Richard L. Burden et J. Douglas Faires, Numerical Analysis, 7e Ă©d., Brooks/Cole, 2000 (ISBN 0-534-38216-9)
  1. (en) Errett Bishop (en) et Douglas Bridges, Constructive Analysis, Springer-Verlag, 1985, p. 8.
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.