Chapitre 3

Vous aimerez peut-être aussi

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 15

Chapitre III

Méthodes directes pour les fonctions univariables


1. Recherche dichotomique
Définition
• La recherche d’une information dans un annuaire illustre cette idée.
On cherche si telle personne est présente dans l’annuaire afin d’en
déterminer l’adresse.
• Plus généralement, c’est l’un des mécanismes principaux des bases de
données : à l’aide d’un identifiant, on souhaite retrouver les
informations correspondantes.
• Dans cette famille d’algorithmes, la recherche dichotomique permet
de traiter efficacement des données représentées dans un tableau de
façon ordonnée.
Idée de base
• L’idée centrale de cette approche repose sur l’idée de réduire de
moitié l’espace de recherche à chaque étape : on regarde la valeur du
milieu et si ce n’est pas celle recherchée, on sait qu’il faut continuer
de chercher dans la première moitié ou dans la seconde.
• À chaque étape, on coupe l’intervalle de recherche en deux, et on en
choisit une moitié. On dit que l’on procède par dichotomie, du grec
dikha (en deux) et tomos (couper).
L’algorithme
1. on détermine l’élément m au milieu du tableau ;
2. si c’est la valeur recherchée, on s’arrête avec un succés ;
3. sinon, deux cas sont possibles :
(a) si m est plus grand que la valeur recherchée, comme la
tableau est trié, cela signifie qu’il suffit de continuer à chercher dans la
première moitié du tableau ;
(b) sinon, il suffit de chercher dans la moitié droite.
4. on répète cela jusqu’avoir trouvé la valeur recherchée, ou bien avoir
réduit l’intervalle de recherche à un intervalle vide, ce qui signifie que
la valeur recherchée n’est pas présente.
2. Nombre d’Or
Définition
• La méthode du nombre d'or est un algorithme d'optimisation, c'est-à-
dire de recherche de l'extremum d'une fonction, dans le cas d'une
fonction unimodale, c'est-à-dire dans lequel l'extremum global
recherché est le seul extremum local. S'il existe plusieurs extrema
locaux, l'algorithme donne un extremum local, sans qu'il soit garanti
que ce soit l'extremum absolu.
Principe de base
• Considérons une fonction réelle ƒ.
• On a calculé sa valeur en trois points, x1, x2 et x3,
avec x1 < x2 < x3 ; ceci est représenté sur le dessin
ci-contre, avec y = ƒ(x).
• Supposons que l'on ait ƒ(x2) < ƒ(x1) et ƒ(x2) < ƒ(x3) ;
• comme la fonction est unimodale, on sait que le
minimum est dans l'intervalle ]x1 ; x3[.
• On « sonde » la fonction en prenant un
point x4 dans cet intervalle, afin de réduire
l'intervalle de recherche
• On peut prendre x4 dans ]x1 ; x2[ ou bien dans ]x2 ; x3[ ;
• il est meilleur de le prendre dans l'intervalle le plus grand, ici ]x2 ; x3[.
Selon la valeur de ƒ(x4), alors :
- cas a : ƒ(x4a) > ƒ(x2), on sait que le minimum se trouve dans ]x1 ; x4[ ;
-cas b : ƒ(x4b) < ƒ(x2), on sait que le minimum se trouve dans ]x2 ; x3[.
• On procède ensuite de manière récursive.
• L'algorithme n'est pas très différent d'une recherche dichotomique,
mais le choix des points utilise le nombre d'or plutôt que le nombre 2.
Choix de la sonde
• La particularité de la méthode est de choisir la sonde x4 telle que les
deux segments possibles, ]x1 ; x4[ ou ]x2 ; x3[, aient la même longueur.
Sinon, on pourrait par « malchance » avoir une convergence lente. On
choisit donc:
x4 - x1 = x3 - x2
• soit
x4 = x1 + (x3 - x2).
• Si l'on désire toujours garder la même proportion entre la largeur du
segment à l'étape i et celle à l'étape i + 1, alors dans le cas a, il faut
(avec les notations introduites sur la figure ):

et dans le cas b :

En éliminant c dans ces équations, on obtient

ce qui donne le nombre d'or φ :


3. Fibonacci
Définition
• Elle doit son nom au mathématicien italien Leonardo Fibonacci qui
est connu pour avoir mis en évidence une suite mathématique qui
porte désormais son nom.
• Dans la suite de Fibonacci, il n’est pas nécessaire de mémoriser
chacun des termes ou nombres de la suite (qui est d’ailleurs infinie). Il
suffit de se rappeler sa règle de construction: à l’exception des deux
premiers, chaque terme de la suite est égal à la somme des deux
termes qui le précèdent immédiatement
• La suite: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,…
Propriétés
• La suite de Fibonacci possède de nombreuses propriétés très utilisées
en mathématiques.
• Une d’entre elles est que le rapport de deux nombres consécutifs de
la suite est alternativement supérieur et inférieur au nombre d’or, un
nombre remarquable qui vaut exactement 1.61803398
• plus on avance dans la suite de Fibonacci, plus l’écart s’amenuise, et
plus le rapport des deux nombres successifs (le plus grand / le plus
petit) tend vers la valeur du nombre d’or
L’algorithme :
• La suite de Fibonacci est définie récursivement par F0 = 0, F1 = 1 et
Fn+2 = Fn+1 + Fn pour n ≥ 0. Supposons que l’on cherche à calculer le k-
ième terme de cette suite.
• On obtient le pseudo-code ci-dessous :

Vous aimerez peut-être aussi