Méthodes et Algorithmes Graphiques

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
La recherche de chemin optimal
Théorie des graphes.
Licence pro MPCQ : Cours
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
11 Bienvenue Entrez le nom du groupe ou projet ici mardi, 17 novembre 2009.
Fonctions & procédures
Champs de Markov en Vision par Ordinateur
Les numéros 70 –
Les numéros
Les identités remarquables
Le, la, les words Possessive Adjectives MINE!!. 2 My in french is mon, ma,mes... Le word/ begins with a vowel: Mon La word: Ma Les word: Mes.
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Sources discrètes & Entropie 3. Canaux discrets.
Introduction à la logique
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Sondage sur les préjugés Ensemble et l’association d'études canadiennes 20 mars, 2013 Une recherche novatrice sur le lieu, la fréquence et les différents.
Évaluation de la démarche de la Reconnaissance des acquis extrascolaires (RAE) Sondage Service de lÉducation des adultes Lucille Arsenault, responsable.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Par Clément en vacances sur la Côte d’Azur Le 15 Avril 2012
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
Etienne Bertaud du Chazaud
La méthodologie………………………………………………………….. p3 Les résultats
Écrit, animé et illustré par Sheila CartwrightTraduit par
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.
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
1 Choisir une catégorie. Vous recevrez la réponse, vous devez donner la question. Cliquez pour commencer.
Présentation générale
Cours de physique générale I Ph 11
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Le Concours de Conaissance Francais I novembre 2012.
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Les nombres.
LES NOMBRES PREMIERS ET COMPOSÉS
Matériel dont vous aller avoir besoin pour cette séance
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
Algorithme de Bellman-Ford
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
La statistique descriptive
1.1 LES VECTEURS GÉOMÉTRIQUES
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
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
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.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Inéquations du premier degré à une inconnue
Résoudre une équation du 1er degré à une inconnue
Aire d’une figure par encadrement
Atelier de formation : MAT optimisation II (les graphes).
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Mise en forme en Mathématiques
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Nom:____________ Prénom: ___________
Annexe Résultats provinciaux comparés à la moyenne canadienne
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Transcription de la présentation:

Méthodes et Algorithmes Graphiques Ian Jermyn

Quelques points avant de commencer. Pour me contacter: Ian Jermyn. Ian.Jermyn@sophia.inria.fr. 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.

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.

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. Emphasize that these transparencies are more complete than the lecture, and that due to time constraints I will not cover everything in the lecture. Instead the transparencies give a lot of information that can be studied later on. The first half of the lecture is math. There is too much to absorb in one go, but it is there to give the framework, so that later on they can recognize the structures involved in other situations. They need not worry on this account for the exam. There will be one question and it will focus more, although not exclusively, on the algorithmic side.

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. Expand on what is meant by a linear structure, a region, and a function, emphasizing 1d, 2d. Use next transparency.

Exemples

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. Say that you will come back to this slide after you have defined a graph and given some examples.

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

Graphes et graphes image

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). 5 i 1 h g b 2 a f 6 c d 7 4 e 3

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 c 3 d f 6 g h 5

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.

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).

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. Explain simple intuition.

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).

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.

Simplicité Graphe acyclique (GA): Chemin simple: Cycle simple: 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.

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 p/2. ¤¤e = e-1. =

Exemples Image = Explain the basic ideas of an image and a graph.

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?

Fonctions sur les graphes

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)).

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).

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: l-1(e) = l(e-1). On définit les fonctions symétriques: l= l-1 On définit les fonctions antisymétriques: l= -l-1 l(e) = 2 l(e-1) = §2

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.

Cycles négatifs Une fonction arc l a un cycle négatif si le graphe contient un cycle c t.q. l(c) < 0. Les cycles négatifs jouent une rôle important dans la suite du cours.

Exemple Une fonction f sur V. Une fonction g sur E. Dans ce cas, g = df. 4.0 1.5 2.5 -13.2 6.1 11.7 4.6 -9.2 -7.1 -2.1

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?

Problèmes graphiques et algorithmes

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

Généralités On suppose: Un graphe G = (E, V). C est le sous-ensemble de cycles dans G. Deux fonctions arc, l et t. t est positive. t n’est pas toujours utilisé. On peut supposer que l et t sont entiers.

Problèmes graphiques et algorithmes I Chemins de poids minimum

Chemins de poids minimum Problème: Trouver le chemin qui a le poids minimum de l 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.

Différents cas Cycle négatif Pas de cycle négatif Chemin l ¸ 0 : impossible. GA. Par défaut, on trouve un chemin simple. l ¸ 0. l général. Mal défini Chemin simple NP-complet

Notations, Init et Relax A la fin de chaque algorithme: d: V ! R sera le poids du chemin de poids minimum (valeur minimal de l) entre s et v. r: V ! V est le prédécesseur de chaque sommet dans le chemin de poids minimum de s. Init(d, s) d(s) = 0; 8 v 2 Vn{s}: d(v) = 1; Relax(e, d, r, l) Si d(b(e)) > d(s(e)) + l(e) d(b(e)) = d(s(e)) + l(e) r(b(e)) = s(e)

l ¸ 0: algorithme de Dijkstra Dijkstra(G, s, l) Init(d, s) Q = V Tant que Q ¹ ; u = arg minv 2 Q {d(v)} Q = Qn{u} Pour e 2 s-1(u) Relax(e, d, r, l) Complexité: O(E log(V)).

l général: algorithme de Bellman/Ford BellmanFord(G, s, l) Init(d, 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, d, r, l) Complexité: O(VE).

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.

Problèmes graphiques et algorithmes II Cycles divers

Cycle de poids minimum Cycle négatif Pas de cycle négatif Cycle l ¸ 0 : impossible. l ¸ 0. Trivial. Par défaut, on trouve un cycle simple, mais trivial. l général. Mal défini ld = l - dd Cycle simple NP-complet

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 r(u) = v DFS(u) Si M(u) = 1 Rend u (cycle détecté) M(v) = 2

Détection de cycles négatifs: algorithme CycNeg(G, l) s = arb(V) d = BellmanFord(G, s) Pour e 2 E u = s(e) v = b(e) Si d(v) > d(u) + l(e) (ou dd(e) > l(e)) Il y a une cycle négatif.

Détection de cycles zéro. d(v) · d(u) + l(hu, vi). Donc ld(hu, vi) = l(hu, vi) - dd(hu, vi) est positive. Pour un cycle c: ld(c) = l(c) parce que df(c) = 0 pour toutes fonctions sommet f et tous cycles. Donc, l(c) = 0 ) ld(e) = 0 8 e 2 c.

Cycles zéro: algorithme ZeroCyc(G, l) s = arb(V) d = BellmanFord(G, s, l) E0 = {e 2 E : ld(e) = 0} G0 = (E0, b(E0) [ s(E0)) c = Cycle(G0)

Problèmes graphiques et algorithmes III Cycle de poids rationnel minimum

Cycle de poids rationnel minimum Problème: Trouver arg minc 2 C l/t(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.

Cycle de poids rationnel minimum Cycle négatif Pas de cycle négatif Cycle l ¸ 0 : impossible. l ¸ 0. G, l sym: trivial. Par défaut, on trouve un cycle simple. l général l général. ld = l - dd Cycle simple

Commentaires Pas de restriction sur l: l peut avoir des cycles négatifs. On trouve toujours un cycle simple. Pour les graphes symétriques, l antisymétrique, t symétrique: arg minc 2 C l/t(c) = arg maxc 2 C jl/t(c)j. Donc l’algorithme maximise jl/tj.

Lemmes On définit une fonction arc paramétrisée lb = l - bt. Lemme: Soit b¤ t.q. minc 2 C lb¤(c) = 0 et soit c¤ un cycle minimisant lb¤(c¤) = 0, alors b¤ = minc 2 C l/t(c) et l/t(c¤) = b¤. lb(c) = 0 ) l/t(c) = b. Supposons b¤ ¹ minc 2 C l/t(c), alors 9 c t.q. l/t(c) < b¤ ) lb¤(c) < 0. Contradiction parce que minc 2 C lb¤(c) = 0. Lemme: Soit b¤ = minc 2 C l/t(c) et soit c¤ un cycle minimisant, alors minc 2 C lb¤(c) = 0 et lb¤(c¤) = 0. lb(c) = 0 ( l/t(c) = b. Supposons minc 2 C lb¤(c) ¹ 0, alors 9 c t.q. lb¤(c) < 0 ) l/t(c) < b¤. Contradiction parce que b¤ = minc 2 C l/t(c).

Nouveau problème Donc le problème devient: comment trouver b¤ t.q. minc 2 C lb¤(c) = 0, puis comment trouver un cycle de poids zéro. Noter: lmin = mine 2 E l(e) · b¤ · maxe 2 E l(e) = lmax 9 c 2 C. lb(c) < 0 ) minc 2 C lb(c) < 0 ) b > b¤ lb(c) < 0 ) b¤ · l/t(c) < b l/t(c) ¹ l/t(c0) ) j l/t(c) - l/t(c0) j ¸ (Etmax)-2

Cycle de poids rationnel minimum: algorithme CyclePRM(G, l, t) b = maxe 2 E l(e) Tant que c = CycNeg(G, lb) b = l/t(c) b¤ = b c¤ = ZeroCyc(G, lb¤)

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.

Fonctions sur les graphes image

Graphes image Deux graphes symétriques: V est l’ensemble des pixels. Vert: G = (E, V). Rouge: G = (E, V). V est l’ensemble des pixels. Il existe une bijection ¤: E $ E. Rotation positive de p/2. ¤¤e = e-1. =

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.

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.

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).

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.

Fonctions arc antisymétriques Trois façons pour créer une fonction arc antisymétrique à partir d’une fonction sommet rouge: f a df. Pas très utile: si c est un cycle, alors df(c) = 0. f a df a ¤df. Dérivée: elle décrit les changements de f. Propriété de bord. f a Af. Intégrale sur une région: elle décrit le masse de f. Propriété de région.

Fonctions arc symétriques Trois façons pour créer une fonction arc symétrique: Directement: 8 e 2 E. t(e) = 1. 8 e 2 E. t(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 l, fonction arc antisymétrique: On définit t = jlj par jlj(e) = j(l(e))j. Exemple j¤dfj: gradient sans orientation.

Problèmes image

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.

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.

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 l. Deux types de modélisation: Géométrie a priori. Attache aux données. On va construire l = klG + lA, (k2 R+).

Géométrie a priori La possibilité la plus simple est: Donc, sans lA: lG = l, la longueur géométrique. Donc, sans lA: Le chemin de poids minimum entre deux sommets est donc le chemin le plus court.

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: lA(e) = exp[-a(f(b(e)) + f(s(e))], a 2 R+.

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.

Résultat réel

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 l. Un fonction arc symétrique et positive t. Rappel: l’algorithme essaye de maximiser jl/tj.

Modèle simple 1. Soit f une fonction sommet rouge, l’intensité des pixels. Donc l = ¤df mesure la somme des valeurs du gradient orienté sur le bord. Soit t = l, la longueur géométrique. l/t mesure la densité du gradient sur le bord. L’algorithme va la maximiser. Point positif: invariant à l’échelle. Par contre, l dépend de la longueur du bord. Point négatif: les bords qui ont un gradient qui s’inverse.

Modèle simple 2 Soit f une fonction sommet rouge ´ 1. l = Af mesure l’aire de la région. Soit g une fonction sommet rouge, l’intensité des pixels. t = 1/j¤dgj mesure la somme des valeurs inverses du gradient non-orienté sur le bord. Donc, jl/tj est grand quand: L’aire est grande. Les gradients sont identiques et grands.

Resultat synthétique Un bord pour lequel le gradient s’inverse. (1) (2) (3) Un bord pour lequel le gradient s’inverse. Résultat avec modèle 1. Résultat avec modèle 2.

Résultat réel Cratère Lunaire: JPL

Fin

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) 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).

GA: algorithme CPMGA(G, s, l) Complexité: O(E). Init(d, s) Q = V Tant que Q ¹ ; u = minÁ Q; Q = Qn {u} Pour e 2 s-1(u) Relax(e, d, r, l) Complexité: O(E).