Chp. 3. Généralités sur les algorithmes

Transcription

Chp. 3. Généralités sur les algorithmes
Chp. 3. Généralités sur les algorithmes
3.1
Directions de descente
Définition 8 On dit qu’un vecteur u de IR n est une direction de descente pour une fonction f de
n variables au point x si : ∀s > 0 ∃t ∈]0, s[ f (x + t u) < f (x)
Théorème 3.1 Supposons f dérivable au point x. Si : ∇f (x)T u < 0 , u est une direction de
descente pour f au point x.
Preuve : Si ϕ(t) = f (x + t u), ϕ0 (0) = ∇f (x)T u < 0.
2
Si x? est un minimum local de f , il n’existe aucune direction de descente pour f au point x?.
Réciproquemment, s’il n’existe aucune direction de descente pour f au point x?, x? est un point
critique de f . Si en outre x? est non dégénéré, c’est un minimum local strict.
Attention! En un point critique dégénéré, il peut n’y avoir aucune direction de descente sans
pour autant que ce point soit un minimum local. Ce résultat peut paraı̂tre paradoxal.
Contre-exemple 3.1 f = 2 x4 − 3 x2 y + y 2 n’admet aucune direction de descente en (0, 0), bien
que (0, 0) ne soit pas un minimum local de f .
3.2
Algorithmes de descente
Partant d’un point x0 qui lui sera initialement passé pour argument, un algorithme de descente
actualise un point courant x de façon à réduire, à chaque étape, la valeur du critère à minimiser.
Le schéma général est le suivant :
AlgoGene(f ,x0 ,test d’arr^
et)
x ← x0
Tant que : test d’arr^
et=False
Calculer une direction de descente u au point x
Calculer un pas t tel que : f (x + t u) < f (x)
x ← x + tu
Un algorithme de descente est essentiellement déterminé par :
• La stratégie de choix des directions de descente successives.
• La stratégie de choix du pas qui sera effectué, à chaque étape, dans la direction choisie.
Université Paris Dauphine
3.3
iup.gmi
Convergence des algorithmes
Un algorithme du type AlgoGene est dit convergent s’il existe un minimum local x? du critère
qui lui est passé pour argument pour lequel l’une des deux éventualités suivantes serait réalisée en
choisissant : x == x? pour test d’arrêt :
1. l’algorithme s’arrête après un nombre fini k d’itérations.
2. il construit théoriquement (en supposant tous les calculs exacts et la capacité de calcul illimitée) une suite infinie x1 , . . . , xk . . . de points de IR n convergeant vers x?.
En pratique, le test d’arrêt passé pour argument devra être choisi pour garantir que l’algorithme
s’arrête toujours après un nombre fini d’itérations et que le dernier point calculé est suffisamment
proche de x?. Lorsque l’algorithme converge, on dit que sa vitesse de convergence est d’ordre p s’il
existe une constante τ telle que :
k xk+1 − x? k
• lim
p <τ
k7→+∞ k xk − x? k
La constante τ est le taux de convergence de l’algorithme. En particulier, la convergence est dite :
• linéaire lorsque : p = 1.
• superlinéaire lorsque : p = 1 et τ = 0.
• quadratique lorsque : p = 2.
√
Exemple 3.2 La fonction : f = x4 − 8 x + 1 atteint son minimum sur IR au point : x?= 3 2. Pour
calculer une valeur approchée de x? avec six chiffres significatifs exacts, à partir de l’estimation
grossière x0 = 1 , il faut :
2
x3
• vingt itérations à l’algorithme : xk+1 = xk − k + , dont la convergence est linéaire, de taux :
3
3
τ ' 0.6
1
(x3k − 2) dont la convergence est su• quatre seulement pour l’algorithme : xk+1 = xk − √
3
3
4
!
Ã
1
2
perlinéaire, ou pour l’algorithme : xk+1 =
xk + 2 , dont la convergence est quadratique.
3
xk
Attention! La convergence éventuelle d’un algorithme de descente dépendra toujours des propriétés du critère qui lui sera passé pour argument et, en général, du choix de l’initialisation x0 . Il
n’existe aucun algorithme universel dont la convergence soit garantie quels que soient le critère ou
l’initialisation qui lui seront passés pour argument.
3.4
Choix de la direction de descente
Il existe deux grandes stratégies de choix de la direction de descente u au point x :
• la stratégie de Cauchy : u = −∇f (x).
• la stratégie de Newton : u = −∇2 f (x)−1 ∇f (x)
La première conduit aux algorithmes de gradient , la seconde aux algorithmes Newtonniens. La
stratégie de Cauchy calcule la direction qui minimise, à norme constante, la dérivée : ∇f (x)T u de
ϕ(t) = f (x + t u), et retourne la direction : u = −∇f (x), pour laquelle : ∇f (x)T u = − k ∇f (x) k2 .
gmi1.opti. G.L. cours – 02/05
p. 13
Université Paris Dauphine
iup.gmi
Elle définit donc une direction de descente en tout point non critique. Les méthodes de gradient
sont ainsi des méthodes robustes : tant que l’algorithme n’a pas trouvé un point critique, la valeur
du critère décroı̂t strictement à chaque itération. Mais elles sont lentes : leur vitesse de convergence
est linéaire.
La stratégie de Newton calcule la direction u qui minimise l’approximation quadratique :
t2
t2
ϕ(0) + t ϕ0 (0) + ϕ00 (0) = f (x) + t ∇f (x)T u + uT ∇2 f (x) u
2
2
de : ϕ(t) = f (x + t u) et retourne la direction : u = −∇2 f (x)−1 ∇f (x), pour laquelle :
ϕ0 (0) = ∇f (x)T u = −uT ∇2 f (x) u
C’est une direction de descente dès que ∇2 f (x) est définie positive, ce qui sera toujours vérifié si x
est suffisamment proche d’un minimum local non dégénéré de f .
Lorsqu’ils convergent, les algorithmes Newtonniens ont une vitesse de convergence quadratique.
Ils sont donc plus rapides que les algorithmes de gradient. Mais ils sont plus côuteux, et surtout
moins robustes : (( loin )) d’un minimum local, la direction de Newton n’est plus nécessairement une
direction de descente :
Exemple 3.3 Le point (1, 1) est un minimum local strict non dégénéré de : f = x4 + y 4 − 4 x y.
La Hessienne de f au point (0.5, 0.5) est inversible, mais la direction de Newton en ce point n’est
pas une direction de descente pour f .
La situation est pire encore dans le cas d’un minimum dégénéré : il peut alors exister des points
arbitrairement voisins du minimum en lesquels la Hessienne est inversible mais la direction de
Newton n’est pas une direction de descente :
Exemple 3.4 f = 1000 (x3 − x y)2 + (x3 + x y)2 + y 6 admet un minimum local strict dégénéré au
point (0, 0). Le long de l’axe y = 0, la matrice Hessienne de f est toujours inversible, sauf en (0, 0),
mais la direction de Newton n’est jamais une direction de descente pour f .
3.5
Choix du pas
Le choix du pas obeit à deux objectifs souvent contradictoires :
• Trouver le meilleur pas possible.
• Effectuer le moins de calculs possibles.
Ils conduisent à deux stratégies dominantes :
– Les algorithmes à pas optimal minimisent, à chaque étape, la fonction : ϕ(t) = f (x + tu) en
utilisant une procédure unidimensionnelle pour rechercher le meilleur pas possible.
– Les algorithmes à pas fixe au contraire se satisfont d’un pas constant, passé pour paramètre
à la procédure. Le choix du pas, effectué une fois pour toutes, dépend alors, en général, d’une
analyse de convergence de l’algorithme utilisé et des propriétés du critère à minimiser.
L’expérience montre que ces stratégies radicales sont le plus souvent mauvaises :
• il est dangeureux d’utiliser un pas constant.
• il est inutile de calculer à chaque étape le pas optimal
En pratique, on se contentera d’un pas permettant de faire décroı̂tre raisonnablement le critère
à minimiser.
gmi1.opti. G.L. cours – 02/05
p. 14