Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parDanièle Hoarau Modifié depuis plus de 9 années
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 )
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.