La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Département de Mathématiques et Informatique

Présentations similaires


Présentation au sujet: "Département de Mathématiques et Informatique"— Transcription de la présentation:

1 Département de Mathématiques et Informatique
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

2 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

3 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 E = Rn

4 Méthodes directes / itératives pour le calcul numérique
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

5 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 Processeur 2 temps

6 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 Processeur 2 x2 temps

7 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 = Rn1 x Rn2 x … x Rn , n1 + n2 + … + n = n x  Rn x = (x1,…, x) , xi  Rni

8 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 ≤  }

9 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

10 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+1 en utilisant (3) J(p) est l'ensemble des composantes mises à jour à l'itération p (stratégie de composantes) ri(p) = p si(p) représente le retard éventuel dû au ième processeur lors du calcul du ième bloc à l'itération p

11 L’algorithme général : Définition
(3) Comment s'est développé cet algorithme au cours des années passées?

12 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

13 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

14 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

15 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

16 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

17 Notre résultat Problème non linéaire de point fixe
Mise à jour de plusieurs composantes Retards bornés Application non-expansive

18 Notre résultat Théorème 1: (Résultat principal) Supposons :
(h0)  une sous-suite {pk}kN 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

19 La preuve Elle se fait en trois étapes:
La suite (|| xp u ||)pN est convergente grâce à (h2), (h3) et (h1) Donc la suite (xp)pN est bornée La suite (xpk)kN ((pk)kN est définie par (h0)), étant bornée, elle admet une sous-suite notée aussi (xpk)kN 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}kN 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’)

20 Commentaires (h0)  une sous-suite {pk}kN 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

21 Commentaires (h0)  une sous-suite {pk}kN 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.

22 Commentaires L'hypothèse (h2) affirme que F admet un point fixe
(h0)  une sous-suite {pk}kN 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

23 Commentaires (h0)  une sous-suite {pk}kN 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

24 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)

25 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 ||)pN est convergente grâce à (h2), (h4) (ii) et (iii) sont similaires au théorème 1

26 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 H = Rn

27 Application aux opérateurs maximaux fortement monotones: Le théorème
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

28 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}kN 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’)

29 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

30 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

31 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

32 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

33 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) xRn

34 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

35 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 + cf )-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

36 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. xRn Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + cf )-1 où c > 0 quelconque converge dans Rn vers un point de minimum de f sur Rn Application du théorème 4 à l’opérateur T = f

37 Cas spéciaux : Points selle
L fonctionnelle de Rn x Rm vers [ ,+] Un point (x*,y*) de Rn x Rm vérifiant L(x*,y) ≤ L(x*,y*) ≤ L(x,y*), (x,y) Rn x Rm est appelé point selle de L L(x*,y*) = min L(x,y*) = max L(x*,y) xRn yRm

38 Cas spéciaux : Points selle
L fonctionnelle de Rn x Rm 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

39 Cas spéciaux : Points selle
L de Rn x Rm vers [ ,+] fonction selle et propre Si x  L(x,y) est s.c.i. sur Rn  y Rm y  L(x,y) est s.c.s. sur Rm  x Rn Alors L est fermée (Rockafellar)

40 Cas spéciaux : Points selle
L fonctionnelle de Rn x Rm vers [ ,+] L(x0 ,y0) = le sous-différentiel de L au point (x0 ,y0) Rn x Rm C’est l’ensemble des (x,y) de Rn x Rm vérifiant L(x0,y’)  (y,y’ y0) ≤ L(x0,y0) ≤ L(x’,y0)  (x,x’ x0) (x’,y’) Rn x Rm

41 Cas spéciaux : Points selle
L fonctionnelle de Rn x Rm vers [ ,+] Nous associons à la fonctionnelle L l'opérateur multivoque TL défini sur Rn x Rm par TL(x,y) = {(z,t) Rn x Rm : (z, t) L(x,y) } (x,y) Rn x Rm (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 TL est maximal monotone? fortement maximal monotone?

42 Cas spéciaux : Points selle
Proposition (Rockafellar) Si L une fonction selle propre fermée sur Rn x Rm Alors TL est un opérateur maximal monotone sur Rn x Rm

43 Cas spéciaux : Points selle
Lemme: Si L est une fonction a-fortement convexe-concave Alors TL est un opérateur a-fortement monotone

44 Cas spéciaux : Points selle
Corollaire 3: (cas asynchrone) L a-fortement convexe-concave propre et fermée de Rn x Rm 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 Rn x Rm vers Rn x Rm où c ≥ converge vers le point selle (x*,y*) de L Application du théorème 3 à l’opérateur T = TL

45 Cas spéciaux : Points selle
Corollaire 4: (cas synchrone) L fonction selle fermée et propre de Rn x Rm vers [ ,+] admettant un point selle . Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + c TL)-1 de Rn x Rm vers Rn x Rm où c > 0 quelconque converge vers un point selle de L Application du théorème 4 à l’opérateur T = TL

46 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}

47 Cas spéciaux : Programme convexe
Le Lagrangien associe au problème (P) dans sa forme étendue est la fonctionnelle L définie sur Rn x Rm par m f0(x) + ∑ yi fi (x) si x  C et y (R+)m i=1 L(x,y) =   si x  C et y (R+)m + si x  C

48 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) xC

49 Cas spéciaux : Programme convexe
Si (x*,y*) est un point selle du lagrangien L sur Rn x Rm , 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 :

50 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 Rn x Rm vers Rn x Rm où c > 0 quelconque converge 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

51 Cas spéciaux : Inégalité variationnelle
C convexe fermé non vide de Rn A opérateur maximal monotone sur Rn à domaine C Chercher x* de C tel que  y* A x* , (y*, x  x*) ≥ 0 ,  x  C Le cône normal de C en x est Nc(x) = { y Rn, (y, x  z) ≥ 0 ,  z  C }

52 Cas spéciaux : Inégalité variationnelle
L’opérateur multivoque T défini sur Rn par Ax + Nc(x) si x  C Tx =  si x  C est un opérateur maximal monotone (Rockafellar) Cet opérateur vérifie-t-il les conditions du théorème 3 ?

53 Cas spéciaux : Inégalité variationnelle
Lemme 1: Si A est a-fortement monotone alors T est un opérateur a-fortement monotone

54 Cas spéciaux : Inégalité variationnelle
Lemme 2: Le solutions de l’opérateur T sont exactement les solutions du problème de Inégalité variationnelle

55 Cas spéciaux : Inégalité variationnelle
Corollaire 6: (cas asynchrone) C convexe fermé non vide de Rn et A un opérateur multivoque maximal a-fortement monotone défini sur C (a > 0). Alors Le problème de l’inégalité variationnelle admet une unique solution 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* du problème de l’inégalité variationnelle Appliquer lemme 1, lemme 2 et théorème 3 à l’opérateur T

56 Cas spéciaux : Inégalité variationnelle
Corollaire 7: (cas synchrone) C convexe fermé non vide de Rn et A un opérateur multivoque maximal monotone défini sur C tel que le problème de l’inégalité variationnelle admette une solution Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + cT )-1 où c > 0 quelconque converge vers x* solution du problème de l’inégalité variationnelle Appliquer théorème 4 à l’opérateur T

57 Conclusion Notre travail
Un algorithme parallèle asynchrone convergeant vers un point fixe Concerne le cas non linéaire non-expansif L’hypothèse (h4) est largement vérifiée Applications aux problèmes d’optimisation (non linaire) au problème de l'inégalité variationnelle

58 Merci de votre attention

59 Questions Algorithme Implémentable Communications
Détection de convergence Procédure d’arrêt

60 Algorithme : Implémentation
Difficile dans le cas général Implémentable dans le cas où T =  f Nouvelle méthode (Solodov et Svaiter 2000) Choisir x0 Rn et prendre k = 0 Ayant xk , choisir k > 0 et k  [0,1[ et trouver yk Rn et vk  Tyk tel que 0 = vk + k (yk  xk) + rk || rk || ≤ k max {|| vk || , k ||yk  xk ||} Stop si vk = 0 ou yk = xk Sinon , prendre xk+1 = xk  (vk , xk  yk ) || vk ||-2 vk prendre k = k+1 et repeter Hybrid Proximal Point algorithm HPPA

61 Algorithme : Communications
Threads ( en anglais) veut dire processus légers ou tâches utilise RMI (Remote Method Invocation ) pour communiquer Threads d’envois : Créés à la demande Appellent la fonction correspondante d’empaquetage des données à envoyer Threads de réceptions: Activées l’arrivée d’un message Appellent la fonction de dépaquetage correspondante lorsqu’un message arrive Lors d’une réception, on réactualise xip+1

62 Algorithme : Détection de convergence
Un processeur centralise les convergences locales de tous les processeurs Ce processeur se comporte de la même manière que tous les autres, mais doit juste effectuer une opération en plus Chaque processeur détermine sa convergence locale : On calcule la différence d’évolution entre 2 itérations On compte le nombre de fois consécutives où cette différence est inférieure à un seuil fixé Si le compteur dépasse un seuil, on considère qu’il y a convergence locale Envoie d’un message de convergence au processeur centralisateur S’il y a divergence après une convergence, envoie d’un message d’annulation de convergence Convergence globale détectée lorsque toutes les convergences locales sont reçues

63 Algorithme : Procédure d’arrêt
Lorsqu’il détecte la convergence globale, le processeur centralisateur envoie un message d’arrêt général Quand les processeurs reçoivent le message d’arrêt, ils quittent la boucle d’itération L’arrêt nécessite la fin de tous les messages en cours

64 Jace : Présentation Java Asynchronous Computation Environment
Environnement de calcul asynchrone Java Conçu et optimisé pour le calcul itératif asynchrone (calcul, communication) Architecture de Jace (trois entités principales) les Tâches le Démon le Spawner (Distributeur de tâches)

65 Jace : Architecture Les Tâches
héritent d'une classe Jace nommée Task proposant les méthodes de communications et de synchronisations

66 Jace : Architecture Le Démon
présent sur chaque machine participant au calcul contient tous les objets nécessaires pour : configurer la machine parallèle router les messages gérer les taches responsable de la synchronisation et de la communication entre les nœuds de calculs (réception et envoie de message) utilise RMI (Remote Method Invocation ) pour communiquer

67 Jace : Architecture Le Spawner (Distributeur de tâches)
se charge de distribuer les tâches sur l'ensemble des processeurs suivant un certain protocole de distribution de tâches instancie à distance une tâche de calcul s'intégrant au démon


Télécharger ppt "Département de Mathématiques et Informatique"

Présentations similaires


Annonces Google