méthodes et algorithmes graphiques

76
Méthodes et Algorithmes Graphiques Ian Jermyn

Upload: geoffrey-lancaster

Post on 30-Dec-2015

45 views

Category:

Documents


2 download

DESCRIPTION

Méthodes et Algorithmes Graphiques. Ian Jermyn. Quelques points avant de commencer. Pour me contacter : Ian Jermyn. [email protected] . www-sop.inria.fr/ariana/personnel/Ian.Jermyn . Nationalité : Britannique. Excusez mon français s’il vous plait. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Méthodes et Algorithmes Graphiques

Méthodes et Algorithmes Graphiques

Ian Jermyn

Page 2: Méthodes et Algorithmes Graphiques

2

Quelques points avant de commencer. Pour me contacter: Ian Jermyn.

[email protected]. www-sop.inria.fr/ariana/personnel/Ian.Jermyn.

Nationalité: Britannique. Excusez mon français s’il vous plait. Chercheur en traitement d’image et

vision par ordinateur à l’INRIA dans projet Ariana.

Formation: en physique théorique, puis vision par ordinateur.

Page 3: Méthodes et Algorithmes Graphiques

3

Quelques points avant de commencer. N’hésitez pas à:

Me questionner: c’est la façon meilleure d’apprendre.

Demander que: Je parle plus fort. Je répète ou explique quelque chose.

Vous pouvez trouver ce fichier à l’URL precedent, sous ‘Teaching/Advising’ puis ‘Courses’, à partir de lundi.

Page 4: Méthodes et Algorithmes Graphiques

4

But Donner une structure mathématique

afin que vous puissiez: Comprendre la littérature. Utiliser ces méthodes pour:

Systématiser vos idées. Bien poser les problèmes.

Donner des algorithmes flexibles: Pour que vous compreniez les possibilités

de ces techniques. Que vous pouvez adapter à vos problèmes. Que vous pouvez incorporer dans des

solutions plus complètes.

Page 5: Méthodes et Algorithmes Graphiques

5

Motivation Beaucoup des problèmes en traitement

d’image peuvent être exprimés ainsi: Trouver une structure linéique avec telles

ou telles propriétés. Trouver une région ou son contour (i.e.

bord) avec telles ou telles propriétés. Exemples:

Extraction de réseaux routiers. Extraction de zones urbaines.

Page 6: Méthodes et Algorithmes Graphiques

6

Exemples

Page 7: Méthodes et Algorithmes Graphiques

7

Motivation Les graphes image sont une

représentation discrète de la géométrie de l’image.

Les problèmes précédents se traduisent par des problèmes sur des graphes définis à partir de l’image: Trouver un chemin (de poids minimum)

dans un graphe. Trouver un cycle (de poids (ratio) minimum)

dans un graphe.

Page 8: Méthodes et Algorithmes Graphiques

8

Plan du cours Graphes et graphes image Fonctions sur les graphes Problèmes graphiques et algorithmes

Chemins de poids minimum Cycles divers Cycle de poids rationnel minimum

Fonctions sur les graphes image Problèmes image Exemples

Page 9: Méthodes et Algorithmes Graphiques

Graphes et graphes image

Page 10: Méthodes et Algorithmes Graphiques

10

Graphes orientés: intuition On peut imaginer un

graphe orienté en termes de sommets (cercles verts) et d’arcs (flèches noires): On peut avoir des

sommets isolés (7). On peut avoir des

boucles (g). On peut avoir plus d’un

arc entre deux sommets (h,i).

1

5

6

7

2

43

ab

c d

f

g

e

hi

Page 11: Méthodes et Algorithmes Graphiques

11

Graphes orientés Un graphe consiste

de deux ensembles E (arcs) et V (sommets) et deux applications s (source) et b (but) de E à V:

On peut penser à une seule application de E à V £ V:

s(e) e b(e)

1 a 4

2 b 1

4 c 2

3 d 2

3 e 4

3 f 1

6 g 6

h 5 s bE V V

s

b

E V

Page 12: Méthodes et Algorithmes Graphiques

12

Types de graphes Si il y a plus d’un arc entre deux sommets,

on a un multigraphe (s £ b pas injective). Sinon (s £ b est injective), on peut identifier E

avec un sous-ensemble de V £ V. Si il n’y a pas de boucle, on a un graphe

simple. Si on a tous les arcs possibles (E = V £ V),

le graphe est complet (s £ b surjective). Nous utiliserons le mot graphe pour les

non-multigraphes simples.

Page 13: Méthodes et Algorithmes Graphiques

13

Graphe symétrique Pour chaque arc e, il y a un autre arc (e-

1) entre les mêmes sommets mais avec l’orientation inverse. 8 e 2 E. 9 ! e-1 2 E t.q. s £ b(e-1) = b £ s(e).

Page 14: Méthodes et Algorithmes Graphiques

14

Connectivité Un graphe n’est pas

connecté si les sommets se divisent en deux parties, sans un arc entre les deux.

On parle de graphes connectés dans le cours.

Page 15: Méthodes et Algorithmes Graphiques

15

Sous-graphes Un sous-graphe H = (U, D) d’un graphe

G = (V, E) est un sous-ensemble des sommets U ½ V, et un sous-ensemble des arcs entre eux: D ½ E (U £ U).

H

G

Page 16: Méthodes et Algorithmes Graphiques

16

Graphes spéciaux: chemins et cycles Un chemin est une séquence d’arcs:

{ei}i 2 [1..n], t.q. b(ei) = s(ei + 1) pour i 2 [1..(n – 1)].

Un cycle est un chemin avec b(en) = s(e1).

On dit qu’un graphe contient un chemin ou un cycle si il a un sous-graphe qui est un chemin ou un cycle.

Page 17: Méthodes et Algorithmes Graphiques

17

Simplicité Graphe acyclique (GA):

Une graphe qui ne contient pas un sous-graphe qui est un cycle.

Chemin simple: Une chemin qui ne contient pas un sous-

graphe qui est un cycle. Cycle simple:

Un cycle qui ne contient pas un sous-graphe propre qui est un cycle.

Page 18: Méthodes et Algorithmes Graphiques

18

Graphes image V est l’ensemble des

pixels. Deux graphes

symétriques: Vert: G = (E, V). Rouge: G = (E, V).

Il existe une bijection ¤: E $ E. Rotation positive de /2. ¤¤e = e-1.

=

Page 19: Méthodes et Algorithmes Graphiques

19

Exemples Image

=

Page 20: Méthodes et Algorithmes Graphiques

20

Et maintenant? On cherche un chemin ou un cycle dans

un des deux graphes image. Mais comment on va le sélectionner?

On définit une fonction (poids) qui donne une valeur pour chaque chemin ou chaque cycle dans le graphe. On cherche le chemin ou le cycle avec le

poids minimum. Comment construire une telle fonction?

Page 21: Méthodes et Algorithmes Graphiques

Fonctions sur les graphes

Page 22: Méthodes et Algorithmes Graphiques

22

Fonctions sommet et arc Sommets:

Pour chaque sommet v, on a une valeur (un poids) f(v).

Arcs: Pour chaque arc e, on a une valeur (un

poids) f(e). On peut définir la dérivée d’une fonction

sommet, qui est un fonction arc: (df)(e) = f(b(e)) – f(s(e)).

Page 23: Méthodes et Algorithmes Graphiques

23

Fonctions spéciales On peut définir des fonctions

Positives: f(u) > 0. Entières: f(u) 2 Z. Binaires: f(u) 2 {0,1}. (Sous-ensemble de U.)

Soit g et h deux fonctions, h positive. On définit une fonction rationelle g/h(u) =

g(u)/h(u).

Page 24: Méthodes et Algorithmes Graphiques

24

Fonctions symétriques Rappel qu’un graphe symétrique a

pour chaque arc e, un arc e-1. Pour les fonctions arc, on définit:

-1(e) = (e-1). On définit les fonctions symétriques:

= -1

On définit les fonctions antisymétriques: = --1

(e) = 2

(e-1) = §2

Page 25: Méthodes et Algorithmes Graphiques

25

Fonctions sur ensembles Etant donné une fonction sommet

ou arc, on peut définir une fonction sur sous-ensembles de V ou E par sommation. E.g.: U ½ V; f(U) = v 2 U f(v).

Noter que df(c) = 0 si c est un cycle.

Page 26: Méthodes et Algorithmes Graphiques

26

Cycles négatifs Une fonction arc a un cycle négatif si

le graphe contient un cycle c t.q. (c) < 0.

Les cycles négatifs jouent une rôle important dans la suite du cours.

Page 27: Méthodes et Algorithmes Graphiques

27

Exemple Une fonction f sur V. Une fonction g sur E. Dans ce cas, g = df.

4.0

2.5

-9.2

-2.1

-13.2

1.5

11.7

4.6

6.1

-7.1

Page 28: Méthodes et Algorithmes Graphiques

28

Et maintenant? On a vu comment définir des fonctions

sur les chemins et les cycles. Comment trouver le chemin ou cycle

avec le poids minimum?

Page 29: Méthodes et Algorithmes Graphiques

Problèmes graphiques et algorithmes

Page 30: Méthodes et Algorithmes Graphiques

30

Problèmes Chemins de poids minimum. Cycle de poids minimum. Détection de cycles négatifs. Cycle de poids rationel minimum.

Page 31: Méthodes et Algorithmes Graphiques

31

Généralités On suppose:

Un graphe G = (E, V). C est le sous-ensemble de cycles dans G.

Deux fonctions arc, et . est positive. n’est pas toujours utilisé. On peut supposer que et sont entiers.

Page 32: Méthodes et Algorithmes Graphiques

Problèmes graphiques et algorithmes I

Chemins de poids minimum

Page 33: Méthodes et Algorithmes Graphiques

33

Chemins de poids minimum Problème:

Trouver le chemin qui a le poids minimum de parmi les chemins qui passent entre un sommet s et un sommet t.

Différents Cas: G contient un cycle négatif. G ne contient aucun cycle négatif.

1 6

4

12

1

2

t

s

Page 34: Méthodes et Algorithmes Graphiques

34

Différents casCycle négatif Pas de cycle

négatif

Chemin ¸ 0 : impossible. GA.

Par défaut, on trouve un chemin simple.

¸ 0. général. Mal défini

général.

Chemin simple

général. NP-complet

GA.

¸ 0. ¸ 0 : impossible.

général.

Page 35: Méthodes et Algorithmes Graphiques

35

Notations, Init et Relax A la fin de chaque algorithme:

: V ! R sera le poids du chemin de poids minimum (valeur minimal de ) entre s et v.

: V ! V est le prédécesseur de chaque sommet dans le chemin de poids minimum de s.

Init(, s) (s) = 0; 8 v 2 Vn{s}: (v) = 1;

Relax(e, , , ) Si (b(e)) > (s(e)) + (e)

(b(e)) = (s(e)) + (e) (b(e)) = s(e)

Page 36: Méthodes et Algorithmes Graphiques

36

¸ 0: algorithme de Dijkstra Dijkstra(G, s, )

Init(, s) Q = V Tant que Q ;

u = arg minv 2 Q {(v)} Q = Qn{u} Pour e 2 s-1(u)

Relax(e, , , )

Complexité: O(E log(V)).

Page 37: Méthodes et Algorithmes Graphiques

37

général: algorithme de Bellman/Ford BellmanFord(G, s, )

Init(, s) Pour n 2 {1,…,(jVj – 1)}

Q = V Tant que Q ;

u = arb(Q); Q = Qn{u} Pour e 2 s-1(u)

Relax(e, , , )

Complexité: O(VE).

Page 38: Méthodes et Algorithmes Graphiques

38

Commentaire Noter que si l’on veut calculer la

distance entre un sommet et un sous-ensemble des autres sommets l’algorithme de Dijkstra peut être arrêté au point où les sommets sont selectionnés.

Page 39: Méthodes et Algorithmes Graphiques

Problèmes graphiques et algorithmes II

Cycles divers

Page 40: Méthodes et Algorithmes Graphiques

40

Cycle de poids minimumCycle négatif Pas de cycle

négatif

Cycle ¸ 0 : impossible.

¸ 0. Trivial. Par

défaut, on trouve un cycle simple, mais trivial.

général. Mal défini

général. = - d

Cycle simple

général. NP-complet

¸ 0.Trivial.

¸ 0 : impossible.

général. = - d

Page 41: Méthodes et Algorithmes Graphiques

41

Détection de cycles: algorithme Cycle(G)

Pour v 2 V Si M(v) = 0

DFS (v)

DFS(v) – depth-first search – recherche par profondeur d’abord

M(v) = 1; Pour u 2 b(s-1(v))

Si M(u) = 0 (u) = v DFS(u)

Si M(u) = 1 (u) = v Rend u (cycle détecté)

M(v) = 2

Page 42: Méthodes et Algorithmes Graphiques

42

Détection de cycles négatifs: algorithme CycNeg(G, )

s = arb(V) = BellmanFord(G, s) Pour e 2 E

u = s(e) v = b(e) Si (v) > (u) + (e) (ou d(e) > (e))

Il y a une cycle négatif.

Page 43: Méthodes et Algorithmes Graphiques

43

Détection de cycles zéro. (v) · (u) + (hu, vi). Donc (hu, vi) = (hu, vi) - d(hu, vi)

est positive. Pour un cycle c:

(c) = (c) parce que df(c) = 0 pour toutes fonctions sommet f et tous cycles.

Donc, (c) = 0 ) (e) = 0 8 e 2 c.

Page 44: Méthodes et Algorithmes Graphiques

44

Cycles zéro: algorithme ZeroCyc(G, )

s = arb(V) = BellmanFord(G, s, ) E0 = {e 2 E : (e) = 0} G0 = (E0, b(E0) [ s(E0)) c = Cycle(G0)

Page 45: Méthodes et Algorithmes Graphiques

Problèmes graphiques et algorithmes III

Cycle de poids rationnel minimum

Page 46: Méthodes et Algorithmes Graphiques

46

Cycle de poids rationnel minimum Problème:

Trouver arg minc 2 C /(c).

Ce problème ne presente pas les difficultés rencontrées avec le cycle de poids minimum.

Dans les applications, il y a aussi des propriétés théoriques intéressantes.

Page 47: Méthodes et Algorithmes Graphiques

47

Cycle négatif Pas de cycle négatif

Cycle ¸ 0 : impossible. ¸ 0. G, sym: trivial.

Par défaut, on trouve un cycle simple.

général

Par défaut, on trouve un cycle simple.

général. = - d

Cycle simple

général

¸ 0.G, sym: trivial.

¸ 0 : impossible. général. = - d

Cycle de poids rationnel minimum

Page 48: Méthodes et Algorithmes Graphiques

48

Commentaires Pas de restriction sur :

peut avoir des cycles négatifs. On trouve toujours un cycle simple.

Pour les graphes symétriques, antisymétrique, symétrique: arg minc 2 C /(c) = arg maxc 2 C j/(c)j. Donc l’algorithme maximise j/j.

Page 49: Méthodes et Algorithmes Graphiques

49

Lemmes On définit une fonction arc paramétrisée = - . Lemme: Soit ¤ t.q. minc 2 C ¤(c) = 0 et soit c¤ un

cycle minimisant ¤(c¤) = 0, alors ¤ = minc 2 C /(c) et /(c¤) = ¤.

(c) = 0 ) /(c) = . Supposons ¤ minc 2 C /(c), alors 9 c t.q. /(c) < ¤ ) ¤

(c) < 0. Contradiction parce que minc 2 C ¤(c) = 0.

Lemme: Soit ¤ = minc 2 C /(c) et soit c¤ un cycle minimisant, alors minc 2 C ¤(c) = 0 et ¤(c¤) = 0.

(c) = 0 ( /(c) = . Supposons minc 2 C ¤(c) 0, alors 9 c t.q. ¤(c) < 0 )

/(c) < ¤. Contradiction parce que ¤ = minc 2 C /(c).

Page 50: Méthodes et Algorithmes Graphiques

50

Nouveau problème Donc le problème devient: comment

trouver ¤ t.q. minc 2 C ¤(c) = 0, puis comment trouver un cycle de poids zéro.

Noter: min = mine 2 E (e) ·¤ · maxe 2 E (e) = max

9 c 2 C. (c) < 0 ) minc 2 C (c) < 0 ) > ¤

(c) < 0 ) ¤ · /(c) < /(c) /(c0) ) j /(c) - /(c0) j ¸ (Emax)-2

Page 51: Méthodes et Algorithmes Graphiques

51

Cycle de poids rationnel minimum: algorithme CyclePRM(G, , )

= maxe 2 E (e) Tant que c = CycNeg(G, )

= /(c) ¤ = c¤ = ZeroCyc(G, ¤)

Page 52: Méthodes et Algorithmes Graphiques

52

Et maintenant? Etant donné les fonctions arc et , on

peut trouver le chemin de poids minimum ou le cycle de poids rationnel minimum.

Mais étant donné une image, comment construire ces fonctions? Une image est une fonction sur les sommets

rouges, l’intensité. Le résultat de l’application d’un filtre (e.g.

qui mesure une texture) est une fonction sommet rouge.

Page 53: Méthodes et Algorithmes Graphiques

Fonctions sur les graphes image

Page 54: Méthodes et Algorithmes Graphiques

54

Graphes image Deux graphes

symétriques: Vert: G = (E, V). Rouge: G = (E, V).

V est l’ensemble des pixels.

Il existe une bijection ¤: E $ E. Rotation positive de /2. ¤¤e = e-1.

=

Page 55: Méthodes et Algorithmes Graphiques

55

Fonctions simples Etant donné une fonction f sur les

sommets rouges, on peut définir une fonction g sur les arcs rouges: g(e) = h(f(s(e)), f(b(e))).

Deux exemples: Somme: h(x, y) = x + y.

Fonction symétrique. « L’intégrale » de f le long d’un chemin.

Différence: h(x, y) = x – y. h = df. Fonction antisymétrique. Pas très utile: si c est un cycle, alors df(c) = 0.

Page 56: Méthodes et Algorithmes Graphiques

56

Fonctions duelles Etant donné une fonction f sur les arcs

rouges, on peut definir une fonction ¤f sur les arcs verts (et vice-versa):

¤f(e) = f(¤e). Donc, étant donné une fonction f sur les

sommets rouges, on peut définir une fonction ¤df sur les arcs verts.

Pour un cycle c: ¤df(c) = e 2 c [f(b(¤e)) – f(s(¤e))]. Donc le flux du gradient de f à travers c. Dérivée: elle décrit les changements de f. Propriété de bord.

Page 57: Méthodes et Algorithmes Graphiques

57

Fonction arc ) fonction sommet Etant donné une fonction arc vert

(rouge) f antisymétrique, définir la dérivée df comme la fonction sommet rouge (vert): df(v) = e 2 c(v) f(e) Où c(v) est le cycle autour de v (choix

d’orientation). Théorème de Stokes/Green:

Pour un cycle c: f(c) = v 2 Int(c) df(v).

Page 58: Méthodes et Algorithmes Graphiques

58

Fonction sommet ) fonction arc Pour chaque fonction sommet rouge

(vert), on peut trouver une fonction arc vert (rouge) antisymétrique Af t.q. dAf = f Alors, on a v 2 Int(c) f(v) = Af(c).

Donc on peut calculer « l’intégrale » de f sur une région, mais en utilisant les arcs. Intégrale: elle décrit le masse de f. Propriété de région.

Page 59: Méthodes et Algorithmes Graphiques

59

Fonctions arc antisymétriques Trois façons pour créer une fonction arc

antisymétrique à partir d’une fonction sommet rouge: f df.

Pas très utile: si c est un cycle, alors df(c) = 0. f df ¤df.

Dérivée: elle décrit les changements de f. Propriété de bord.

f Af. Intégrale sur une région: elle décrit le masse de f. Propriété de région.

Page 60: Méthodes et Algorithmes Graphiques

60

Fonctions arc symétriques Trois façons pour créer une fonction arc

symétrique: Directement:

8 e 2 E. (e) = 1. 8 e 2 E. (e) = la longueur géométrique de e =

l(e). À partir d’une fonction sommet rouge, en

utilisant une fonction h symétrique. « L’intégrale » de f le long d’un chemin.

À partir de , fonction arc antisymétrique: On définit = jj par jj(e) = j((e))j. Exemple j¤dfj: gradient sans orientation.

Page 61: Méthodes et Algorithmes Graphiques

Problèmes image

Page 62: Méthodes et Algorithmes Graphiques

62

Modélisation On veut trouver une structure linéique

ou une région dans une image qui correspond à un objet.

Il faut construire des fonctions arc (rouge ou vert) qui incorpore: Notre connaissance a priori des propriétés

de l’objet. La relation entre l’objet et l’image.

Page 63: Méthodes et Algorithmes Graphiques

63

Commentaires Ces exemples sont illustratifs. Ils ne

sont pas les solutions complètes aux problèmes mentionnés. Pourquoi? Les solutions complètes n’existent pas.

E.g. l’extraction des réseaux routiers est encore un sujet actuel de recherche (problème ouvert).

Il vaut mieux d’expliquer comment on peut appliquer ces techniques que de donner des méthodes toutes faites.

Chaque problème est différent et il faut penser au problème spécifique.

Page 64: Méthodes et Algorithmes Graphiques

64

Réseaux routiers Un réseau routier est composé de routes,

donc: Utiliser les chemins de poids minimum et

l’algorithme de Dijkstra. On voudrait une chaîne de pixels:

On va utiliser le graphe rouge. On doit définir:

Un fonction arc symétrique et positive . Deux types de modélisation:

Géométrie a priori. Attache aux données.

On va construire = kG + A, (k2 R+).

Page 65: Méthodes et Algorithmes Graphiques

65

Géométrie a priori La possibilité la plus simple est:

G = l, la longueur géométrique.

Donc, sans A: Le chemin de poids minimum entre deux

sommets est donc le chemin le plus court.

Page 66: Méthodes et Algorithmes Graphiques

66

Attache aux données Soit f une fonction sommet rouge,

l’intensité des pixels. Les chemins sont souvent clairs et ont

une radiométrie homogène. Donc, on peut essayer:

A(e) = exp[-(f(b(e)) + f(s(e))], 2 R+.

Page 67: Méthodes et Algorithmes Graphiques

67

Initialisation Pour utiliser l’algorithme

de Dijkstra, il faut s. On ne veut pas les

chemins de s à tous les autres sommets: Juste aux sommets qui

font partie d’un chemin. Choisir les intersections

des routes avec le bord de l’image.

Page 68: Méthodes et Algorithmes Graphiques

68

Résultat réel

Page 69: Méthodes et Algorithmes Graphiques

69

Bord d’une région Le bord d’une région est un

cycle: Utiliser le cycle de poids

rationel minimum. On voudrait le bord d’une

région: On va utiliser le graphe vert.

On doit définir: Un fonction arc antisymétrique

. Un fonction arc symétrique et

positive . Rappel: l’algorithme essaye

de maximiser j/j.

Page 70: Méthodes et Algorithmes Graphiques

70

Modèle simple 1. Soit f une fonction sommet rouge, l’intensité

des pixels. Donc = ¤df mesure la somme des valeurs du

gradient orienté sur le bord. Soit = l, la longueur géométrique. / mesure la densité du gradient sur le bord.

L’algorithme va la maximiser. Point positif: invariant à l’échelle.

Par contre, dépend de la longueur du bord.

Point négatif: les bords qui ont un gradient qui s’inverse.

Page 71: Méthodes et Algorithmes Graphiques

71

Modèle simple 2 Soit f une fonction sommet rouge ´ 1. = Af mesure l’aire de la région. Soit g une fonction sommet rouge,

l’intensité des pixels. = 1/j¤dgj mesure la somme des

valeurs inverses du gradient non-orienté sur le bord.

Donc, j/j est grand quand: L’aire est grande. Les gradients sont identiques et grands.

Page 72: Méthodes et Algorithmes Graphiques

72

Resultat synthétique

1. Un bord pour lequel le gradient s’inverse.

2. Résultat avec modèle 1.3. Résultat avec modèle 2.

(2)(1) (3)

Page 73: Méthodes et Algorithmes Graphiques

73

Résultat réel

Cratère Lunaire: JPL

Page 74: Méthodes et Algorithmes Graphiques

Fin

Page 75: Méthodes et Algorithmes Graphiques

75

GA: ordre topologique On peut définir un ordre Á des sommets t.q. si

u Á v, il n’existe aucun chemin de v à u. OT(G)

Pour v 2 V Si M(v) = 0

OTT(v, T)

OTT(v, T) M(v) = 1; T = T + 1; Pour u 2 b(s-1(v))

Si M(u) = 0 OTT(u, T)

T = T + 1 F(v) = T

On a: M: V! {0,1}.

F: V! Z+

L’ordre est: u Á v , F(v) < F(u).

L’ordre n’est pas unique.

Complexité: O(E).

Page 76: Méthodes et Algorithmes Graphiques

76

GA: algorithme CPMGA(G, s, )

Init(, s) Q = V Tant que Q ;

u = minÁ Q; Q = Qn {u} Pour e 2 s-1(u)

Relax(e, , , )

Complexité: O(E).