1 / 68

Licence d’informatique Algorithmique des graphes

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.

fairly
Download Presentation

Licence d’informatique Algorithmique des graphes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Licence d’informatiqueAlgorithmique 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. Relation avec les arcs : Une valeur spécifique indique l’absence d’arc. 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  17. Donnée : un graphe valué 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) Chemins de valeur optimale But : calculer la « valeur »« optimale » des chemins du sommet x au sommet y

  18. Chemins de valeur optimale Ils ne peuvent pas être résolus sans résoudre un pb 1-* 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)

  19. Chemins de valeur optimale x donné. Pour tout y, calculer y= valeur optimale des chemins de x à 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)

  20. Chemins de valeur optimale Pour tout x et tout y, calculer xy= valeur optimale des chemins de x à 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)

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

  22. Réciproquement: v()=<0b i 1 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 Valeurs non minorées v=a +  < a v=a + 2 < a +  < a

  23. i 1 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  Réciproquement: donc valeurs minorées par celles des chemins élémentaires CQFD tout circuit de valeur est de longueur  0 ensemble FINI

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

  25. 2 2 2 1 1 a f e d c b 1 4 -2 0 2 (2) (4) (0) (2) (4) (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 0 = 0 2 = 0 + 2 FAUX! 4 =min(0+4, 2+1, 4+2, 2+2) FAUX! 4 = min(2+2, 2+1) 2 = min(4-2, 4+1) 2 = 2 SYSTEME NON VERIFIE : VALEURS TROP GRANDES

  26. 2 2 2 1 1 a f e d c b 1 4 -2 0 2 (2) (1) (0) (0) (2) (0) 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 0 = 0 2 = 0 + 2 VRAI! 2 =min(0+4, 2+1, 1+2, 0+2) VRAI! 1 = min(2+2, 0+1) 0 = min(2-2, 1+1) 0 = 0

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

  28. a f e d c b (2) (2) 2 VALEURS CORRECTES 2 2 1 1 (0) 1 4 -2 (1) (3) 0 2 (1) 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 0 = 0 2 = 0 + 2 SYSTEME VERIFIE 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 aest racine du sous-graphe minimal.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  43. a b c d e f a 2 2 -5 -5 3 3 (a) (a) (a) b c d e f a d f e c b -3 -5 4 2 4 4 3 3 5 2 -7 3 6 a b c d e f 0 0 Courant : 0 l(1)  -3 4 Minimum : 0 0 4 3 l(2) 3 4 2 5 -7 6

  44. a b c d e f a 2 -5 3 b 2 c (a) d e f b f c e a d -3 -5 4 2 4 4 3 3 5 2 -7 3 6 a b c d e f 0 0 2 -5 3 Courant : 2 l(1)  (a) (a) (a) -3 4 Minimum : 2 (a) 0 4 3 l(2) 3 4 2 5 -7 6

  45. a b c d e f a 2 -5 3 b 2 -5 c (a) (a) d e f a d b c f e -3 -5 4 2 4 4 3 3 5 2 -7 3 6 a b c d e f 0 0 2 -5 3 Courant : -5 l(1) -1  (a) (a) (a) -3 4 Minimum : -5 (a) 0 4 3 l(2) 3 4 2 5 -7 6

  46. a b c d e f a 2 -5 3 b 2 -5 -1 c (a) (a) (c) d e f f c b d a e a b c d e f 0 0 2 -5 3 Courant :  l(1) -1  (a) (a) (a) -3 -1 (c) 4 Minimum :  0 4 3 l(2) 3 4 2 5 -7 6 -3 -5 4 2 4 4 3 3 5 2 -7 3 6

  47. a b c d e f a 2 -5 3 b 2 -5 -1 6 c (a) (a) (c) (b) d e f c b a e d f a b c d e f 0 0 2 -5 3 Courant :  l(1) 6  9 (a) (a) (a) -3 6 (b) 4 Minimum :  0 4 3 l(2) 3 4 2 5 -7 6 -3 -5 4 2 4 4 3 3 5 2 -7 3 6

  48. a b c d e f a 2 -5 3 b 2 -5 -1 6 -2 c (a) (a) (c) (b) (c) d e f d a f e c b a b c d e f 0 0 2 -5 3 Courant : 3 l(1)  -2  (a) (a) (a) -3 4 Minimum : 3 (a) -2 (c) 0 4 3 l(2) 3 4 2 5 -7 6 -3 -5 4 2 4 4 3 3 5 2 -7 3 6

  49. a b c d e f a 2 -5 3 b 2 -5 -1 6 -2 c (a) (a) (c) (b) (c) d e f a b c d e f 0 0 2 -5 3 Courant : 0 l(1)  2  (a) (a) (a) -3 4 Minimum : 0 (a) 0 4 3 l(2) 3 4 2 0 5 -7 l(3) 6

  50. a b c d e f a 2 -5 3 b 2 2 -5 -1 6 -2 c (a) (a) (a) (c) (b) (c) d e f a b c d e f 0 0 2 -5 3 Courant : 2 l(1)  3  (a) (a) (a) -3 4 Minimum : 2 (a) 0 4 3 l(2) 3 4 2 0 5 -7 l(3) 6

More Related