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

Slides:



Advertisements
Présentations similaires
Systèmes de deux équations à deux inconnues
Advertisements

Systèmes de deux équations à deux inconnues Nous allons étudier, dans ce document, la méthode par substitution. Nous allons étudier, dans ce document,
La recherche de chemin optimal
Fonction « carré » Fonctions polynômes de degré 2
Comparaison de deux algorithmes d’approximation
Théorie des graphes.
Le routage optique.
Algorithmes et structures de données avancés
Vecteurs Le plan est muni d’un repère (O, I, J)
UMLV 1 Problème G = (S, A) graphe (orienté) Calculer H = (S, B) où B est la clôture réflexive et transitive de A. Note : (s,t) B ssi il existe un chemin.
Modélisation par le concept de graphe
Mise à Niveau en Recherche Opérationnelle
Bloc1 : Théorie des graphes et problèmes d’ordonnancement
Bloc1 : Théorie des graphes et problèmes d’ordonnancement
LES GRAPHES.
Algèbre de Boole.
PROGRAMME : BTS CG.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Introduction à la Théorie des Graphes
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Houssein ALAEDDINE Kamal SERRHINI
Recherche Opérationnelle
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Algorithmes Branch & Bound
Optimisation et Complexité
Les buts clairement définis
Théorie des graphes Un peu de vocabulaire.
Alignement de séquences (suite)
1 Exercice : longueur d’un mot est-elle paire ?  Test fonctionnel  Quel ensemble de valeur choisir / spécification  Test structurel  Soit le code d’un.
Algorithme de Bellman-Ford
Structures de données IFT-2000
STRUCTURES DE DONNÉES Maxime CROCHEMORE
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Algorithmes d ’approximation
1 Décisions dans lincertain Eric Sanlaville ISIMA 3 F3, master SIAD novembre 2008.
21 février 2006Cours de graphes 2 - Intranet1 Cours de graphes Les plus courts chemins, les chemins les plus légers : à laide de la vague, à laide de la.
Programmation dynamique
Atelier de formation : MAT optimisation II (les graphes).
Pour le chemin le plus court pour tous les couples
La décomposition en valeurs singulières: un outil fort utile
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
1 Licence d’informatique Algorithmique des graphes Cours 3 deuxième partie : Opérations et relations entre graphes. Composition, puissances. Utilisation.
D.E ZEGOUR Ecole Supérieure d’Informatique
Graph cuts et applications
Programmation linéaire en nombres entiers
1 BEP métiers de l’électronique Déroulement de l’examen (Candidats scolarisés)
Modes d’adressage (1) Référence aux cellules dans les formules – Important lors des copier/coller Adressage relatif (dépend de la cellule d’origine) –
Algorithmes Branch & Bound
Licence Informatique Algorithmique des graphes
LE FLOT MAXIMAL et LA COUPE MINIMALE
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
1 Licence d’informatique Algorithmique des graphes Exploration de la descendance d’un sommet Utilisation de ce document strictement réservée aux étudiants.
Licence d’informatique Algorithmique des graphes
IN302 – Chapitre 2 Arbres et arborescences. Isthmes Composantes connexes : 2.
Lucie demande à Julie l’âge de ses trois frères  ; celle-ci répond : la somme de leurs âges est égale au tien, et leur produit à 36. Bien, dit Lucie, qui.
Fonction carré.
1 Licence d’informatique Algorithmique des graphes Utilisation de ce document strictement réservée aux étudiants de l ’IFSIC dans le cadre de leur formation.
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Licence d’Informatique Algorithmique des graphes
2 Cadre du TER Projet Algol But du TER Conception et étude d’algorithmes de traitement de données dans un satellite d’observation de la voûte spatiale.
Génération de routes optimales Sujets Introduction TSP Colonies de fourmis (voir autre présentation Informs Healhcare) PIF6004 Sujets Spéciaux en informatique.
CSI2510 Structures de données et algorithmes Plus court chemin
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
© Promaintech Novaxa – Tous droits d’utilisation réservés Intervalles de confiance Introduction à la statistique industrielle.
Courbes Bsplines uniformes
Les stratégies de calcul 5 e et 6 e année. Addition.
Chapitre 3 Problèmes de Cheminement
Transcription de la présentation:

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 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 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 Valeurs des chemins où  est une loi de composition sur E, associative avec  comme élément absorbant :

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

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

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

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

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

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

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

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

16 Exemple 4  = 0 CHEMINS DE FIABILITE MAXIMALE

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 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 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 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 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 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 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 Chemins de valeur optimale issus d’un sommet donné CARACTERISATION  Les valeurs i constituent LA solution MAXIMALE du système d ’équations

25 a f e d c b 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 = = 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 a f e d c b 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 = = 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 a f e d c b 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 = = 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 a f e d c b 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 = = 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 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 Algorithme de Bellmann-Kalaba Proposition Démonstration: vrai pour k  vrai pour k+1 1i j lg  k lg =1

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 a i j h gk e l b c d f aa (0) (2) (3) (-1) CHEMINS DE LONGUEUR 1 -2 BELLMAN-KALABA : PRINCIPE

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

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

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

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

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

40 a i j h gk e l b c d f aa (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 a i j h gk e l b c d f aa (0) (2) (3) (-1) (4) (7) (1) (0) (3) -2 (0) (4) (-1) (1) (6) GRAPHE MINIMAL (chemins issus de a)

42 abcdef a b c d e f abcdef 2 30 (a) (1) BELLMAN-KALABA : EXEMPLE D’EXECUTION SUR LA MATRICE a d e c f b

43 abcdef a b c d e f abcdef 2 30 (a) (1) (2) Courant : 0 Minimum : 0 0  a d e c f b

44 abcdef a b c d e f abcdef 2 30 (a) (1) (2) Courant : 2 Minimum : 2 (a) 0  2 (a) a d e c f b

45 abcdef a b c d e f abcdef 230 (a) (1) (2) Courant : -5 Minimum : -5 (a) 0  2 (a) -5 (a) -5 a d e c f b

46 abcdef a b c d e f abcdef 230 (a) (1) (2) Courant :  Minimum :  0  2 (a) -5 (a) (c) (c) a d e c f b

47 abcdef a b c d e f 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

48 abcdef a b c d e f 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

49 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f abcdef 230 (a) (1) (2) Courant : -5 Minimum : -5 (a) 0 2 (a) -5 (a) -5 (c)  6 (b) -2 (c)  (3) 02 (a) (a)

52 abcdef a b c d e f 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 abcdef a b c d e f abcdef 230 (a) (1) (2) Courant :  Minimum :  (a) -5 (a) -5 (c)  6 (b) -2 (c) (3) 02 (a) 4 -5 (a) 6 (b) (c) 4 (f) 4 (f)

54 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 abcdef a b c d e f 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 IL Y A UN CIRCUIT DE VALEUR 0

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 )