660 likes | 744 Views
Université Mohamed 1er Faculté des Sciences Département de Mathématiques et Informatique. Un résultat de convergence des algorithmes parallèles asynchrones Application aux opérateurs maximaux fortement monotones Abdenasser BENAHMED. Plan. Problème
E N D
Université Mohamed 1er Faculté des Sciences Département de Mathématiques et Informatique Un résultat de convergence des algorithmes parallèles asynchronesApplication aux opérateurs maximaux fortement monotonesAbdenasser BENAHMED
Plan • Problème • Méthodes directes / itératives pour le calcul numérique • Algorithmes itératifs synchrones • Algorithmes itératifs asynchrones • L’algorithme général • Résultats de convergence • Notre résultat • Application aux opérateurs monotones • Cas spéciaux • Conclusion
Problème • La modélisation de beaucoup de phénomènes conduit à la résolution d’une équation du type f(x) = 0 , x E(1) E espace vectoriel • Équation qu’on peut écrire sous la forme x = F(x) , x E(2) Les solutions de (2) sont appelés points fixes de F
Méthodes directes / itératives pour le calcul numérique • Méthodes directes : • calculent la solution exacte en un nombre fini d’étapes • gourmandes en mémoire (dimension n => stockage n3) • Méthodes itératives (séquentielles) : • évaluent la solution par approximations successives : xp+1 = F(xp) • moins gourmandes en mémoire • plus facilement parallélisable • Exemple de 2 processeurs expliquant le déroulement des algorithmes parallèles synchrones et asynchrones
Algorithmes itératifs synchrones • Les processeurs commencent la même itération au même moment • Les échanges de données sont réalisées à la fin d'une itération • Beaucoup de temps morts entre les itérations (périodes d’inactivité) • Dégrade considérablement les performances des algorithmes parallèles xip+1 = Fi (x1p,x2p) i=1,2 phases de communication et d'attente phases de calcul 1 2 3 4 5 6 x1 Processeur 1 1 2 3 4 5 6 x2 Processeur2 temps
Algorithmes itératifs asynchrones • Les processeurs ne calculent pas forcément la même itération à un instant t (pas de synchronisation) • Ils effectuent leurs itérations sans tenir compte de l'avancement des autres (pas d'ordre de calcul) • Il n'y a plus d'attente des données venant d'autres processeurs pour commencer une itération • Il n'y a plus de temps morts entre les itérations xip+1 = Fi (x1s1(p),x2s2(p)) i=1,2 1 2 3 4 5 6 7 8 Processeur 1 x1 1 2 3 4 5 6 7 8 x2 Processeur2 temps
L’algorithme général :Décomposition de Rn • processeurs • chaque processeur communique avec les autres processeurs de façon asynchrone pour envoyer et recevoir des données • Rn= Rn1xRn2x… x Rn, n1 +n2 + … +n= n • xRn x = (x1,…, x), xiRni
L’algorithme général :Produit scalaire et normes x = (x1,…, x)et y = (y1,…, y) • Chaque Rni est muni du produit scalaire euclidien (.,.)i de la norme associée ||..||i = (.,.)i1/2 • L'espace Rn sera muni du produit scalaire (x,y)= ∑ (xi ,yi)i i=1 de la norme associée ||x|| = (x, x)1/2 et de la norme uniforme ||x|| = max{ ||xi||i , 1 ≤ i ≤ }
L’algorithme général :Définition • F est une application de Rn vers Rn • L’algorithme parallèle asynchrone associé à l’application F est défini par (3) • J(p) est une suite de sous-ensembles non vides de {1,…, } • si(p) sont des entiers inférieurs à p indexant des itérations antérieures à p
L’algorithme général :Définition (3) • Cet algorithme décrit le comportement d'un processus itératif exécuté de façon asynchrone sur une machine parallèle comportant processeurs. A chaque itération p + 1, le ième processeur calcule xip+1en utilisant (3) • J(p) est l'ensemble des composantes mises à jour à l'itération p (stratégie de composantes) • ri(p) = psi(p) représente le retard éventuel dû au ième processeur lors du calcul du ième bloc à l'itération p
L’algorithme général :Définition (3) • Comment s'est développé cet algorithme au cours des années passées?
Résultats de convergence:Chazan & Miranker (1969) • Pour résoudre le système linéaire Ax = b où A est une matrice symétrique définie positive sur Rn • Problème linéaire de point fixe • Mise à jour d’une seule composante • Retards bornés • Application contractive
Résultats de convergence:Miellou J.C. (1975) • Généralise le résultat de Chazan & Miranker sur deux niveaux • Problème non linéaire de point fixe • Mise à jour de plusieurs composantes • Retards bornés • Application contractive en norme vectorielle
Résultats de convergence:Baudet G. (1978) • Généralise le résultat de Miellou • Problème non linéaire de point fixe • Mise à jour de plusieurs composantes • Retards non bornés • Application contractive en norme vectorielle
Résultats de convergence:El Tarazi M.N. (1982) • Plus simple dans la pratique • Problème non linéaire de point fixe • Mise à jour de plusieurs composantes • Retards non bornés • Application contractive en norme scalaire
Résultats de convergence:Bahi J.M. (2000) • Systèmes singuliers • Problème linéaire de point fixe • Mise à jour de plusieurs composantes • Retards bornés • Application non-expansive
Notre résultat • Problème non linéaire de point fixe • Mise à jour de plusieurs composantes • Retards bornés • Application non-expansive
Notre résultat Théorème 1: (Résultat principal) Supposons : (h0) une sous-suite {pk}kN telle que J(pk) ={1,…, } et si(pk) = pk i {1,…, } (h1) s N tel que i {1,…, } , p N, p s ≤ si(p) ≤ p (h2) u Rn , F(u) = u (h3) x,x’ Rn , ||F(x) F(x’)||≤|| x x’|| (h4) x,x’ Rn , ||F(x) F(x’)||2≤ (F(x) F(x’),x x’) Alors pour tout x0 Rn, l’algorithme parallèle asynchrone associé à F converge vers x* point fixe de F
La preuve Elle se fait en trois étapes: • La suite (|| xp u ||)pN est convergente grâce à (h2), (h3) et (h1) Donc la suite (xp)pN est bornée • La suite (xpk)kN ((pk)kN est définie par (h0)), étant bornée, elle admet une sous-suite notée aussi (xpk)kN qui converge vers x* de Rn. Alors x* est un point fixe de F grâce à (h4), (h2) et (h0) et (i) • xp x* pour la norme ||..|| quand p tend vers grâce à (i) et (ii) (h0) une sous-suite {pk}kN telle que J(pk) ={1,…, } et si(pk) = pk i {1,…, } (h1) s N tel que i {1,…, } , p N, p s ≤ si(p) ≤ p (h2) u Rn , F(u) = u (h3) x,x’ Rn , ||F(x) F(x’)||≤|| x x’|| (h4) x,x’ Rn , ||F(x) F(x’)||2≤ (F(x) F(x’),x x’)
Commentaires (h0) une sous-suite {pk}kN telle que J(pk) ={1,…, } et si(pk) = pk i {1,…, } (h1) s N tel que i {1,…, } , p N, p s ≤ si(p) ≤ p (h2) u Rn , F(u) = u (h3) x,x’ Rn , ||F(x) F(x’)||≤|| x x’|| (h4) x,x’ Rn , ||F(x) F(x’)||2≤ (F(x) F(x’),x x’) • L'hypothèse (h0) signifie que de temps à autre (après quelques itérations) les processeurs se synchronisent et mettent à jours leurs données en les échangeant • Cette sous-suite peut être programmée par l'utilisateur
Commentaires (h0) une sous-suite {pk}kN telle que J(pk) ={1,…, } et si(pk) = pk i {1,…, } (h1) s N tel que i {1,…, } , p N, p s ≤ si(p) ≤ p (h2) u Rn , F(u) = u (h3) x,x’ Rn , ||F(x) F(x’)||≤|| x x’|| (h4) x,x’ Rn , ||F(x) F(x’)||2≤ (F(x) F(x’),x x’) • L'hypothèse (h1) signifie que les retards dus aux communications entre processeurs et aux différents temps de calcul sont bornés, ce qui revient à supposer qu'au bout d'au plus (s+1) itérations, tous les processeurs finissent par mettre à jour leurs données.
Commentaires (h0) une sous-suite {pk}kN telle que J(pk) ={1,…, } et si(pk) = pk i {1,…, } (h1) s N tel que i {1,…, } , p N, p s ≤ si(p) ≤ p (h2) u Rn , F(u) = u (h3) x,x’ Rn , ||F(x) F(x’)||≤|| x x’|| (h4) x,x’ Rn , ||F(x) F(x’)||2≤ (F(x) F(x’),x x’) • L'hypothèse (h2) affirme que F admet un point fixe • L'hypothèse (h3) signifie que F est non-expansive par rapport à la norme uniforme ||..|| sur Rn
Commentaires (h0) une sous-suite {pk}kN telle que J(pk) ={1,…, } et si(pk) = pk i {1,…, } (h1) s N tel que i {1,…, } , p N, p s ≤ si(p) ≤ p (h2) u Rn , F(u) = u (h3) x,x’ Rn , ||F(x) F(x’)||≤|| x x’|| (h4) x,x’ Rn , ||F(x) F(x’)||2≤ (F(x) F(x’),x x’) • L'hypothèse (h4) est vérifiée par une large classe d'opérateurs: • la résolvante F = (I + cT )-1 (c > 0) associée à un opérateur T maximal monotone • la projection pc d'un espace de Hilbert réel H sur un convexe fermé non vide C • les opérateurs linéaires symétriques positifs et non-expansifs
L’algorithme de Jacobi • Caractérisé par : • si(p) = p i {1,…, } (tous les retards sont nuls) • J(p) = {1,…, }(toutes les composantes sont réactualisée) • (4) décrit un algorithme parallèle synchrone (sans retards) • On peut se passer de l’hypothèse (h3) (4)
L’algorithme de Jacobi Théorème 2: • Si F admet un point fixe u et si elle vérifie l’hypothèse (h4) alors l’algorithme parallèle de Jacobi converge dans Rn vers x* point fixe de F • La preuve • (i) La suite (|| xp-u ||)pN est convergente grâce à (h2), (h4) • (ii) et (iii) sont similaires au théorème 1
Application aux opérateurs maximaux fortement monotones:Définitions • H est un espace de Hilbert réel ((.,.) et ||..|| euclidien) • Un opérateur multivoque T de H à domaine D(T) est dit • monotone si x,x’ D(T), (y y’, x x’) ≥ 0 y Tx et y’ Tx’ • a-fortement monotone (a > 0) si x,x’ D(T), ( y y’, x x’) ≥ a||x x’||2 y Tx et y’ Tx’ • Les éléments x de D(T) vérifiant 0 Tx sont appelés solutions ou zéros de l’opérateur T
Application aux opérateurs maximaux fortement monotones:Le théorème Théorème 3: Soit T un opérateur multivoque maximal a-fortement monotone sur Rn (a > 0). Alors • T admet une solution unique x* • Tout algorithme parallèle asynchrone à retards bornés associé à l'application univoque F = (I + cT )-1 où c ≥ converge dans Rn vers la solution x* de T
Application aux opérateurs maximaux fortement monotones:La preuve • C’est une application du théorème 1 • On démontre que l’application F vérifie les hypothèses (h2), (h3) et (h4) (h0) une sous-suite {pk}kN telle que J(pk) ={1,…, } et si(pk) = pk i {1,…, } (h1) s N tel que i {1,…, } , p N, p s ≤ si(p) ≤ p (h2) u Rn , F(u) = u (h3) x,x’ Rn , ||F(x) F(x’)||≤|| x x’|| (h4) x,x’ Rn , ||F(x) F(x’)||2≤ (F(x) F(x’),x x’)
Application aux opérateurs maximaux fortement monotones:Remarque • Méthode parallèle pour le calcul des solutions des opérateurs multivoques maximaux fortement monotones • On peut se passer de la forte monotonie dans le cas de Jacobi
Application aux opérateurs maximaux monotones Théorème 4: • Soit T un opérateur multivoque maximal monotone sur Rn admettant une solution. Alors, tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + cT )-1 où c > 0 quelconque converge dans Rn vers x* solution de T • C’est une application directe du théorème 2 Si F admet un point fixe u et si elle vérifie l’hypothèse (h4) alors l’algorithme parallèle de Jacobi converge dans Rn vers x* point fixe de F
Cas spéciaux • On va construire des opérateurs maximaux monotones pour le : • calcul du minimum de fonctionnelles • calcul du point selle de fonctions selles • calcul de solutions des programmes convexes • calcul de solutions des problèmes de l’inégalité variationnelle
Cas spéciaux :Minimum de fonctionnelles • f fonctionnelle de Rn vers R {+} convexe propre et s.c.i. • f est un opérateur maximal monotone sur Rn
Cas spéciaux :Minimum de fonctionnelles • f fonctionnelle de Rn vers R {+} convexe propre et s.c.i. • Les zéros du sous-différentiel f sont les points de minimum de f 0 f(x0)f(x0) = min f(x) xRn
Cas spéciaux :Minimum de fonctionnelles • f fonctionnelle de Rn vers R {+} convexe propre et s.c.i. f est a-fortement convexe (a > 0) f est un opérateur a-fortement monotone
Cas spéciaux :Minimum de fonctionnelles Corollaire 1: (cas asynchrone) f de Rn vers R {+} a-fortement convexe propre et s.c.i. (a > 0). Alors • f admet un minimum unique x* • Tout algorithme parallèle asynchrone à retards bornés associé à l'application univoque F = (I + cf )-1 où c ≥ converge dans Rn vers x* le point de minimum de f sur Rn Application du théorème 3 à l’opérateur T = f
Cas spéciaux :Minimum de fonctionnelles Corollaire 2: (cas synchrone) f de Rn vers R {+} convexe propre et s.c.i. telle que le problème de minimisation min f(x) admette une solution. xRn Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + cf )-1 où c > 0 quelconqueconverge dans Rn vers un point de minimum de f sur Rn Application du théorème 4 à l’opérateur T = f
Cas spéciaux :Points selle • L fonctionnelle de RnxRm vers [,+] • Un point (x*,y*) de RnxRm vérifiant L(x*,y) ≤ L(x*,y*) ≤ L(x,y*), (x,y)RnxRm est appelé point selle de L L(x*,y*) = min L(x,y*) = max L(x*,y) xRnyRm
Cas spéciaux :Points selle L fonctionnelle de RnxRm vers [,+] L est convexe-concave si x L(x,y) est convexe y Rm y L(x,y) est concave x Rn L est fonction selle (Rockafellar) L est a-fortement convexe-concave (a > 0) si x L(x,y) est a-fortement convexe y Rm y L(x,y) est a-fortement concave x Rn
Cas spéciaux :Points selle L de RnxRm vers [,+] fonction selle et propre Si x L(x,y) est s.c.i. sur Rny Rm y L(x,y) est s.c.s. sur Rm x Rn Alors L est fermée (Rockafellar)
Cas spéciaux :Points selle L fonctionnelle de RnxRm vers [,+] L(x0 ,y0) = le sous-différentiel de L au point (x0 ,y0)RnxRm C’est l’ensemble des (x,y)de RnxRm vérifiant L(x0,y’) (y,y’ y0) ≤ L(x0,y0) ≤ L(x’,y0) (x,x’ x0) (x’,y’)RnxRm
Cas spéciaux :Points selle L fonctionnelle de RnxRm vers [,+] Nous associons à la fonctionnelle L l'opérateur multivoque TL défini sur RnxRmpar TL(x,y) = {(z,t)RnxRm : (z, t)L(x,y) } (x,y)RnxRm (0,0)TL(x,y) (x,y) est point selle de L Les points selle de L sont les solutions de l’opérateur TL TLest maximal monotone? fortement maximal monotone?
Cas spéciaux :Points selle Proposition(Rockafellar) Si L une fonction selle propre fermée sur RnxRm Alors TL est un opérateur maximal monotone sur RnxRm
Cas spéciaux :Points selle Lemme: Si L est une fonction a-fortement convexe-concave Alors TL est un opérateur a-fortement monotone
Cas spéciaux :Points selle Corollaire 3: (cas asynchrone) La-fortement convexe-concave propre et fermée de RnxRm vers [,+]. Alors • L admet un point selle unique (x*,y*) • Tout algorithme parallèle asynchrone à retards bornés associé à l'application univoque F = (I + c TL)-1 de RnxRm vers RnxRm où c ≥ converge vers le point selle (x*,y*) de L Application du théorème 3 à l’opérateur T = TL
Cas spéciaux :Points selle Corollaire 4: (cas synchrone) Lfonction selle fermée et propre de RnxRm vers [,+] admettant un point selle . Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + c TL)-1 de RnxRm vers RnxRm où c > 0 quelconqueconverge vers un point selle de L Application du théorème 4 à l’opérateur T = TL
Cas spéciaux :Programme convexe Considérons le programme convexe Min f0(x) x C (P) fi(x) ≤ 0 , (1≤ i≤ m) C convexe fermé non vide de Rn fi: C R sont des fonctions (finies) convexes et s.c.i. pour (0≤ i≤ m) Contraintes qualifiées x0 C tel que fi(x0) < 0 , i {1,…, m}
Cas spéciaux :Programme convexe Le Lagrangien associe au problème (P) dans sa forme étendue est la fonctionnelle L définie sur RnxRmpar m f0(x) + ∑ yifi (x) si x C et y (R+)m i=1 L(x,y) = si x C et y (R+)m + si x C
Cas spéciaux :Programme convexe Le problème dual associé à (P) Max g0(y) (D) y (R+)m g0: Rm R {} définie par g0 (y) = Inf L(x,y) xC
Cas spéciaux :Programme convexe Si (x*,y*) est un point selle du lagrangien L sur RnxRm , alors x* est une solution optimale du problème primal (P) et y* est une solution optimale du problème dual (D). Inversement Si le problème (P) admet une solution x* et si les contraintes sont qualifiées alors il existe y (R+)m tel que (x*,y*) soit point selle de la fonctionnelle L Nous pouvons alors énoncer :
Cas spéciaux :Programme convexe Corollaire 5: (cas synchrone) Supposons que le programme convexe (P) soit à contraintes qualifiées et admette une solution. Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + c TL)-1 de RnxRm vers RnxRm où c > 0 quelconqueconverge vers (x*,y*) point selle de L, et donc x* est une solution du primal (P) et y* solution du dual (D). Application du corollaire 4 au lagrangien L