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

1 Licence d’informatique Algorithmique des graphes Cours 7 : Graphes valués Chemins de valeur optimale Algorithme de Bellmann-Kalaba Utilisation de ce.

Présentations similaires


Présentation au sujet: "1 Licence d’informatique Algorithmique des graphes Cours 7 : Graphes valués Chemins de valeur optimale Algorithme de Bellmann-Kalaba Utilisation de ce."— Transcription de la présentation:

1 1 Licence d’informatique Algorithmique des graphes Cours 7 : Graphes valués Chemins de valeur optimale Algorithme de Bellmann-Kalaba Utilisation de ce document strictement réservée aux étudiants de l ’IFSIC dans le cadre de leur formation. Reproduction ou diffusion en dehors de l ’IFSIC strictement interdite sauf autorisation expresse de l’ auteur.

2 2 Graphes valués Chemins de valeur optimale E : ensemble de valeurs (numériques ou autres) Chaque couple de sommets (x, y) est muni d’une valeur v(x, y) Relation avec les arcs : Une valeur spécifique  indique l’absence d’arc.

3 3 E={vrai, faux}  = faux Exemple 1 valeurs d’existence des arcs

4 4  = +  Exemple 2 valeurs numériques des arcs

5 5  = -  Exemple 3 valeurs numériques des arcs

6 6  = 0 Exemple 4 probabilité d’existence (fiabilité) des arcs

7 7 Valeurs des chemins où  est une loi de composition sur E, associative avec  comme élément absorbant :

8 8 Exemple 1 E={vrai, faux}  = faux valeurs d’existence des arcs

9 9 Exemple 2  = +  valeurs numériques des arcs

10 10 Exemple 3  = -  valeurs numériques des arcs

11 11 Exemple 4  = 0 probabilité d’existence (fiabilité) des arcs

12 12 Comparaison des valeurs de chemins Relation d’ordre (« meilleur que ») telle que l’élément absorbant  est le pire (maximal) :

13 13 Exemple 1 E={vrai, faux}  = faux valeurs d’existence des arcs

14 14 Exemple 2 CHEMINS DE VALEUR ADDITIVE MINIMALE  = + 

15 15 Exemple 3  = -  CHEMINS DE VALEUR ADDITIVE MAXIMALE

16 16 Exemple 4  = 0 CHEMINS DE FIABILITE MAXIMALE

17 17 Chemins de valeur optimale Donnée : un graphe valué But : calculer la « valeur » « optimale » des chemins du sommet x au sommet y 3 types de problèmes :  Problèmes 1-1 (x et y donnés)  Problèmes 1-* (x donné, tout y)  Problèmes *-* (tout x, tout y)

18 18 Chemins de valeur optimale 3 types de problèmes :  Problèmes 1-1 (x et y donnés)  Problèmes 1-* (x donné, tout y)  Problèmes *-* (tout x, tout y) Ils ne peuvent pas être résolus sans résoudre un pb 1-*

19 19 Chemins de valeur optimale 3 types de problèmes :  Problèmes 1-1 (x et y donnés)  Problèmes 1-* (x donné, tout y)  Problèmes *-* (tout x, tout y) x donné. Pour tout y, calculer y = valeur optimale des chemins de x à y

20 20 Chemins de valeur optimale 3 types de problèmes :  Problèmes 1-1 (x et y donnés)  Problèmes 1-* (x donné, tout y)  Problèmes *-* (tout x, tout y) Pour tout x et tout y, calculer xy = valeur optimale des chemins de x à y

21 21 pred i Chemins de valeur optimale issus d’un sommet donné Sommet initial x =1. i = valeur optimale des chemins de 1 à i pred i = prédécesseur optimal de i 1 i chemin de valeur i chemin de valeur  i

22 22 i 1 v(  )=  <0b Chemins de valeur optimale issus d’un sommet donné Résultat d’existence  Les valeurs i sont définies  il n’y a pas de circuit de valeur < 0 dans la descendance du sommet 1 v=a v=a +  < a v=a + 2  < a +  < a Valeurs non minorées Réciproquement:

23 23 Chemins de valeur optimale issus d’un sommet donné Résultat d’existence  Les valeurs i sont définies  il n’y a pas de circuit de valeur < 0 dans la descendance du sommet 1 1 i Réciproquement: tout circuit de valeur est de longueur  0 donc valeurs minorées par celles des chemins élémentaires ensemble FINI CQFD

24 24 Chemins de valeur optimale issus d’un sommet donné CARACTERISATION  Les valeurs i constituent LA solution MAXIMALE du système d ’équations

25 25 a f e d c b 2 4 21 2 2 1 1 0 -2 a = 0 b = a +2 c = min( a +4, b +1, d +2, f +2) d = min( b +2, e +1) e = min( c -2, d +1) f = e (2)(4) (2) (0) 0 = 0 2 = 0 + 2 4 = min(0+4, 2+1, 4+2, 2+2) FAUX! 4 = min(2+2, 2+1) FAUX! 2 = min(4-2, 4+1) 2 = 2 SYSTEME NON VERIFIE : VALEURS TROP GRANDES

26 26 a f e d c b 2 4 21 2 2 1 1 0 -2 a = 0 b = a +2 c = min( a +4, b +1, d +2, f +2) d = min( b +2, e +1) e = min( c -2, d +1) f = e (2)(1) (2) (0) 0 = 0 2 = 0 + 2 2 = min(0+4, 2+1, 1+2, 0+2) VRAI! 1 = min(2+2, 0+1) VRAI! 0 = min(2-2, 1+1) 0 = 0

27 27 a f e d c b 2 4 2 1 2 2 1 1 0 -2 a = 0 b = a +2 c = min( a +4, b +1, d +2, f +2) d = min( b +2, e +1) e = min( c -2, d +1) f = e (2)(1) (2) (0) 0 = 0 2 = 0 + 2 2 = min(0+4, 2+1, 1+2, 0+2) 1 = min(2+2, 0+1) 0 = min(2-2, 1+1) 0 = 0 Pas de chemin de valeur x de a à tout x. Le sommet a n’est pas racine du sous-graphe minimal. SYSTEME VERIFIE VALEURS TROP PETITES

28 28 a f e d c b 2 4 2 1 2 2 1 1 0 -2 a = 0 b = a +2 c = min( a +4, b +1, d +2, f +2) d = min( b +2, e +1) e = min( c -2, d +1) f = e (2) (3) (1) (0) 0 = 0 2 = 0 + 2 3 = min(0+4, 2+1, 2+2, 1+2) 2 = min(2+2, 1+1) 1 = min(3-2, 2+1) 1 = 1 Il y a un chemin de valeur x de a à tout x. Le sommet a est racine du sous-graphe minimal. SYSTEME VERIFIE VALEURS CORRECTES

29 29 Algorithme de Bellmann-Kalaba Résolution du système par approximations successives (initialisation avec la première ligne de la matrice)

30 30 Algorithme de Bellmann-Kalaba Proposition Démonstration: Par récurrence sur k

31 31 Algorithme de Bellmann-Kalaba Proposition Démonstration: Par récurrence sur k vrai pour k=1, par construction

32 32 Algorithme de Bellmann-Kalaba Proposition Démonstration: vrai pour k  vrai pour k+1 1i j lg  k lg =1

33 33 Algorithme de Bellmann-Kalaba Proposition Si pas de circuits de valeur < 0 alors cette proposition est vérifiée pour la plus grande longueur k de chemin élémentaire Corollaire:  existence de circuits de valeur < 0  valeurs min obtenues

34 34 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) CHEMINS DE LONGUEUR 1 -2 BELLMAN-KALABA : PRINCIPE

35 35 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) (4) (7) (1) (0) (3) CHEMINS DE LONGUEUR <= 2 -2

36 36 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) (4) (7) (1) (0) (3) CHEMINS DE LONGUEUR <= 3 -2 (0) (4)

37 37 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) (4) (7) (1) (0) (3) CHEMINS DE LONGUEUR <= 4 -2 (0) (4) (-1)

38 38 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) (4) (7) (1) (0) (3) CHEMINS DE LONGUEUR <= 5 -2 (0) (4) (-1) (1)

39 39 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) (4) (7) (1) (0) (3) CHEMINS DE LONGUEUR <= 6 -2 (0) (4) (-1) (1) (6)

40 40 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) (4) (7) (1) (0) (3) CHEMINS DE LONGUEUR <= 7 -2 (0) (4) (-1) (1) (6) AUCUNE REMISE EN CAUSE : MINIMA OBTENUS

41 41 a i j h gk e l b c d f aa 1 -5 -3 7 4 2 3 2 4 2 -2 1 5 4 2 6 -4 6 (0) (2) (3) (-1) (4) (7) (1) (0) (3) -2 (0) (4) (-1) (1) (6) GRAPHE MINIMAL (chemins issus de a)

42 42 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 2 30 (a) (1) BELLMAN-KALABA : EXEMPLE D’EXECUTION SUR LA MATRICE a d e c f b 2 3 -5 -3 4 3 4 4 2 3 -7 5 6

43 43 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 2 30 (a) (1) (2) Courant : 0 Minimum : 0 0  a d e c f b 2 3 -5 -3 4 3 4 4 2 3 -7 5 6

44 44 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 2 30 (a) (1) (2) Courant : 2 Minimum : 2 (a) 0  2 (a) a d e c f b 2 3 -5 -3 4 3 4 4 2 3 -7 5 6

45 45 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant : -5 Minimum : -5 (a) 0  2 (a) -5 (a) -5 a d e c f b 2 3 -3 4 3 4 4 2 3 -7 5 6

46 46 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant :  Minimum :  0  2 (a) -5 (a) -5 -1 (c) (c) a d e c f b 2 3 -5 -3 4 3 4 4 2 3 -7 5 6

47 47 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant :  Minimum :  0  2 (a) 6 -5 (a) -5 6 (b) (c) 9 6 (b) a d e c f b 2 3 -5 -3 4 3 4 4 2 3 -7 5 6

48 48 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant : 3 Minimum : 3 (a) 0  2 (a) -5 (a) -5 (c) -2 6 (b) -2 (c) -2 (c)  a d e c f b 2 3 -5 -3 4 3 4 4 2 3 -7 5 6

49 49 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant : 0 Minimum : 0 (a) 0  2 (a) -5 (a) -5 (c) 2 6 (b) -2 (c)  (3) 0

50 50 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant : 2 Minimum : 2 (a) 0  2 (a) -5 (a) -5 (c) 3 6 (b) -2 (c)  (3) 02 (a)

51 51 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant : -5 Minimum : -5 (a) 0 2 (a) -5 (a) -5 (c)  6 (b) -2 (c)  (3) 02 (a) 11 -5 (a)

52 52 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant :  Minimum :  0 2 (a) -5 (a) -5 (c)  6 (b) -2 (c)  (3) 02 (a) -5 (a) -1 (c) (c)

53 53 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant :  Minimum :  0 6 2 (a) -5 (a) -5 (c)  6 (b) -2 (c) (3) 02 (a) 4 -5 (a) 6 (b) (c) 4 (f) 4 (f)

54 54 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Courant : 3 Minimum : 3 (a) 02 (a) -5 (a) -5 (c) -2 6 (b) -2 (c) (3) 02 (a)  -5 (a) -2 (c) (c) 4 (f)  -2 (c) 1

55 55 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 0 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0

56 56 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 2 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a)

57 57 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : -5 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a)

58 58 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : -1 (c) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) -3 (e) -3 (e)

59 59 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 6 (b) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) 4 (f) -3 (e) 4 (f)

60 60 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 3 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) -2 (c) -3 (e) 4 (f) -2 (c)

61 61 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 0 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) 0 (d) -3 (e) 4 (f) -2 (c) (5) 0 (d)

62 62 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 2 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) 1 (d) -3 (e) 4 (f) -2 (c) (5) 0 (d) 1

63 63 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : -5 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) -3 (e) 4 (f) -2 (c) (5) 0 (d) 1 -5 (a)

64 64 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : -1 (c) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) -3 (e) 4 (f) -2 (c) (5) 0 (d) 1 -5 (a) -3 (e) -3 (e)

65 65 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 6 (b) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) -3 (e) 4 (f) -2 (c) (5) 0 (d) 1 -5 (a) 4 (f) -3 (e) 4 (f)

66 66 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) Minimum : 3 (a) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) -3 (e) 4 (f) -2 (c) (5) 0 (d) 1 -5 (a) -2 (c) -3 (e) 4 (f) -2 (c)

67 67 abcdef a b c d e f -3 4 43 342 5-7 6 2-53 0 abcdef 230 (a) (1) (2) 02 (a) -5 (a) -5 (c) 6 (b) -2 (c) (3) 02 (a) -5 (a) (c) 4 (f) -2 (c) (4) 0 2 (a) -5 (a) -3 (e) 4 (f) -2 (c) (5) 0 (d) 1 -5 (a) -3 (e) 4 (f) -2 (c) (6) 0 (d) 1 -5 (a) -3 (e) 4 (f) -2 (c) STABILITE ! a d e c f b 2 3 -5 -3 4 3 4 4 2 3 -7 5 6 IL Y A UN CIRCUIT DE VALEUR 0

68 68Complexité A chaque étape : n mises à jour de valeurs (i) Au plus n étapes Une mise à jour : Un « produit scalaire » min +  n additions et n-1 comparaisons Globalement :n 3 additions et n 2 (n-1) comparaisons O(n 3 )


Télécharger ppt "1 Licence d’informatique Algorithmique des graphes Cours 7 : Graphes valués Chemins de valeur optimale Algorithme de Bellmann-Kalaba Utilisation de ce."

Présentations similaires


Annonces Google