Licence dinformatique Algorithmique des graphes - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

Licence dinformatique Algorithmique des graphes

Description:

Utilisation de ce document strictement r serv e aux tudiants de l ' ... y ou si il existe un chemin de G, allant de x y. 3. Explorer la descendance d'un sommet ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 62
Provided by: iri5
Category:

less

Transcript and Presenter's Notes

Title: Licence dinformatique Algorithmique des graphes


1
Licence dinformatiqueAlgorithmique des graphes
  • Exploration de la descendance dun sommet

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
Explorer la descendance dun sommet
Donnée un graphe G, et un sommet x de ce graphe
Résultat la descendance de x dans le graphe G

Quest-ce que cest ?
Définition le sommet y est descendant de x dans
G si x y ou si il existe un
chemin de G, allant de x à y
3
Explorer la descendance dun sommet
Donnée un graphe G, et un sommet x de ce graphe
Résultat la descendance de x dans le graphe G

Mais aussi
Définition l arc (y, z) appartient à la
descendance de x dans Gsi cest un arc de G et
si y est descendant de x dans G
4
Graphe G (?(a) , ?a )
Exemple
i
h
j
5
Principe général dexploration visites
Prédicats
visité(y) le sommet y a été visité (par
lexploration)
visité(y,z) larc (y, z) a été visité (par
lexploration)
Axiomes
(le sommet initial x est visité a priori)
(un sommet z est visité ssi au moins un arc vers
z est visité)
(seul un arc du graphe peut être visité et son
origine doit être visitée)
6
Principe général dexploration visites
Etat initial
visité(x) (axiome init)
But (Etat final)
7
Algorithme général dexploration
Invariant
3 états possibles pour chaque sommet y
1) Il nest pas (encore?) visité
8
Algorithme général dexploration
Invariant
3 états possibles pour chaque sommet y
1) Il nest pas (encore?) visité
(donc aucun des arcs qui y aboutissent non plus)
9
Algorithme général dexploration
Invariant
3 états possibles pour chaque sommet y
1) Il nest pas (encore?) visité
(donc aucun des arcs qui y aboutissent non plus)
2) Il est déjà visité, et ses arcs sortants ne
sont pas encore tous visités
10
Algorithme général dexploration
Invariant
3 états possibles pour chaque sommet y
1) Il nest pas (encore?) visité
(donc aucun des arcs qui y aboutissent non plus)
2) Il est déjà visité, et ses arcs sortants ne
sont pas encore tous visités
3) Il est déjà visité, et ses arcs sortants sont
tous visités
(donc tous ses successeurs sont aussi visités)
11
Algorithme général dexploration
Invariant
3 états possibles pour chaque sommet y
dehors
1) Il nest pas (encore?) visité
(donc aucun des arcs qui y aboutissent non plus)
2) Il est déjà visité, et ses arcs sortants ne
sont pas encore tous visités
en_attente
3) Il est déjà visité, et ses arcs sortants sont
tous visités
(donc tous ses successeurs sont aussi visités)
terminé
12
Algorithme général dexploration
Invariant
2 états possibles pour chaque arc (y,z)
1) Il nest pas (encore?) visité
13
Algorithme général dexploration
Invariant
2 états possibles pour chaque arc (y,z)
1) Il nest pas (encore?) visité
2) Il est déjà visité
(donc son origine y et son extrémité z aussi -
axiomes (sommet) et (arc))
14
Algorithme général dexploration
Invariant
Lensemble des sommets du graphe se répartit en
Lensemble des arcs du graphe se répartit en
15
Algorithme général dexploration
Invariant
Lensemble des sommets du graphe se répartit en
Propriétés
(seuls les sommets descendants de x peuvent être
visités)
16
Algorithme général dexploration
Invariant
L ensemble des arcs du graphe se répartit en
Propriétés
(seuls les sommets descendants de x peuvent être
visités)
(seuls les arcs de la descendance de x peuvent
être visités)
17
STATUT DES SOMMETS ET DES ARCS
i
g
k
l
f
h
c
a
e
j
b
d
18
Algorithme général dexploration
ARRET
état final de lexploration
19
Algorithme général dexploration
ARRET
état final de l exploration
Cest-à-dire tout y visité est terminé
20
Algorithme général dexploration
ARRET
Réciproquement
état final de lexploration
Réciproquement
21
Algorithme général dexploration
ARRET
Réciproquement
état final de lexploration
Réciproquement
22
Algorithme général dexploration
INIT
V lt- ? si x a des successeurs alors T lt- ?
A lt- x sinon T lt- x A lt- ? fsi D lt-
tous les sommets sauf x
23
Algorithme général dexploration
PROGRESSION
Maintien des axiomes
(init) un sommet visité ne repasse jamais dehors
(sommet) après visite dun arc (y,z), z nest pas
dehors
(arc) la visite dun arc (y,z) nest possible que
si y est en_attente
Terminaison
A chaque étape, le nombre darcs non visités doit
décroître
24
Algorithme général dexploration
PROGRESSION
soit y un sommet détat en_attente
Si z est dehors ( non visité ) alors( visiter
y ) si z a des successeurs alors
z devient en_attente sinon z
devient terminé fsi
(arc) la visite dun arc (y,z) nest possible que
si y est en_attente
A chaque étape, le nombre darcs non visités doit
décroître
(sommet) après visite d un arc (y,z), z nest
pas dehors
25
Algorithme général dexploration
PROGRESSION
soit y un sommet détat en_attente
soit z un successeur de y tel que (y,z) est non
visité
Visiter larc (y,z)
Si z est dehors ( non visité ) alors si z
a des successeurs alors z devient
en_attente sinon z devient terminé fsi
si tous les arcs issus de y sont visités alors
y devient terminé
(init) un sommet visité ne repasse jamais dehors
26
STATUT DES SOMMETS ET DES ARCS
en_attente
i
g
k
l
f
h
c
a
e
j
b
d
27
STATUT DES SOMMETS ET DES ARCS
terminé
en_attente
Encore des arcs à visiter?
NON
i
g
k
l
terminé
f
h
c
a
en_attente
e
j
b
d
28
Maintien des propriétés invariantes
soit y un sommet détat en_attente
soit z un successeur de y tel que (y,z) est non
visité
Visiter larc (y,z)
Si z est dehors ( non visité ) alors si z a
des successeurs alors z devient en_attente
sinon z devient terminé
fsi
si tous les arcs issus de y sont visités alors y
devient terminé
Par induction
vrai chaque fois quun sommet devient
ou terminé
en_attente
29
Maintien des propriétés invariantes
soit y un sommet d état en_attente
soit z un successeur de y tel que (y,z) est non
visité
Visiter l arc (y,z)
Si z est dehors ( non visité ) alors
si z a des successeurs alors z
devient en_attente sinon z devient
terminé
fsi
si tous les arcs issus de y sont visités alors
y devient terminé
Par induction
vrai chaque fois quun arc devient
visité
30
Stratégies particulières
On particularise lalgorithme général en
spécifiant le sommet en_attente à partir duquel
on poursuit lexploration
Deux exemples
  • LARGEUR choisir le sommet  le plus ancien 
  • PROFONDEUR choisir le sommet  le plus récent 

31
LARGEUR DABORD LA FILE
Comment repérer le sommet en_attente  le plus
ancien ?
Gérer lensemble A avec la structure de données
adéquate
La FILE
PAPS
Premier Arrivé Premier Sorti
32
LARGEUR DABORD LA FILE
La FILE
sens de déplacement
v
a
mettre_en_file(v)
33
LARGEUR DABORD LA FILE
La FILE
sens de déplacement
v
a
mettre_en_file(v)
x ? ôter_de_file
34
LARGEUR DABORD LA FILE
La FILE
sens de déplacement
v
mettre_en_file(v)
a
x ? ôter_de_file
35
LARGEUR DABORD LA FILE
La FILE
sens de déplacement
v
mettre_en_file(v)
f ? créer
x ? ôter_de_file
b ? filevide
36
LARGEUR DABORD LA FILE
Une étape de l algorithme
sens de déplacement
y
Sommet en tête sélectionné devient terminé
37
LARGEUR DABORD LA FILE
Une étape de l algorithme
sens de déplacement
Sommet en tête sélectionné devient terminé
tous ses arcs sortants sont visités ses
successeurs encore dehors deviennent en_attente
(ils rentrent dans la file)
38
i
g
k
l
FILE
a
f
h
c
e
j
b
d
39
i
g
k
FILE
a
c e l
f
a
h
j
b
d
40
i
g
k
FILE
a
c e l
f
e l b
a
h
j
b
d
41
i
g
k
FILE
a
c e l
f
e l b
a
h
l b d f
j
b
d
42
i
g
k
FILE
a
c e l
f
e l b
a
h
l b d f
b d f h k
j
b
d
43
i
g
k
FILE
a
c e l
f
e l b
a
h
Déjà visité
l b d f
b d f h k
d f h k
j
b
d
44
i
g
k
FILE
a
c e l
f
e l b
a
h
l b d f
b d f h k
d f h k
f h k
j
b
d
Pas de successeur
45
i
g
k
FILE
a
c e l
f
e l b
a
h
l b d f
b d f h k
d f h k
f h k
j
b
d
h k g
Déjà visité
46
i
g
k
FILE
a
c e l
Déjà visité
f
e l b
a
h
l b d f
b d f h k
d f h k
f h k
j
b
d
h k g
k g
47
i
g
k
FILE
a
Sommets déjà visités
c e l
f
e l b
a
h
l b d f
b d f h k
d f h k
f h k
j
b
d
h k g
k g
g
48
i
g
k
FILE
déjà visité
a
c e l
f
e l b
a
h
l b d f
b d f h k
d f h k
f h k
j
b
d
h k g
k g
g
?
49
i
k
l
g
DISTANCE 1
DISTANCE 2
f
DISTANCE 3
h
c
a
e
j
b
d
ARBORESCENCE DEXPLORATION EN LARGEUR
50
Stratégies particulières
On particularise l algorithme général en
spécifiant le sommet en_attente à partir duquel
on poursuit lexploration
Deux exemples
  • LARGEUR choisir le sommet  le plus ancien 
  • PROFONDEUR choisir le sommet  le plus récent 

51
PROFONDEUR DABORD LA PILE
Comment repérer le sommet en_attente  le plus
récent  ?
Gérer l ensemble A avec la structure de données
adéquate
La PILE
DAPS
Dernier Arrivé Premier Sorti
52
PROFONDEUR DABORD LA PILE
La PILE
v
w
empiler(v)
53
PROFONDEUR DABORD LA PILE
La PILE
v
w
empiler(v)
dépiler
54
PROFONDEUR DABORD LA PILE
La PILE
w
w
empiler(v)
dépiler
x?sommet_pile
55
PROFONDEUR DABORD LA PILE
La PILE
w
empiler(v)
dépiler
x?sommet_pile
56
PROFONDEUR DABORD LA PILE
Une étape de l algorithme
y
Sommet en tête sélectionné
Choix dun arc sortant (y,z) non encore visité
Visite de l arc (y,z)
Si z est dehors alors il devient en_attente
empiler(z)
57
PROFONDEUR DABORD LA PILE
Une étape de lalgorithme
y
Sommet en tête sélectionné
Choix dun arc sortant (y,z) non encore visité
Si tous les arcs sortants de y sont visités, y
devient terminé
(dépiler)
58
PROFONDEUR DABORD LA PILE
Une étape de lalgorithme
Sommet en tête sélectionné
Choix dun arc sortant (y,z) non encore visité
Si tous les arcs sortants de y sont visités, y
devient terminé
(dépiler)
IL FAUT DONC ATTACHER A CHAQUE SOMMET en_attente
LENSEMBLE DES ARCS A VISITER
59
i
g
k
l
PILE
a
a c
a c b
a c b e
f
h
c
a c b e d
a c b e
a c b e f
e
a c b e f g
a c b e f g k
a c b e f g k l
j
b
d
a c b e f g k l h
a c b e f g k l
a c b e f g k
a c b e f g
a c b e f
a c b e
a c b
a c
a
?
60
ARBORESCENCE DEXPLORATION EN PROFONDEUR
61
Comparaison des deux stratégies
Algorithme simple (pas de mémorisation des arcs
à visiter)
Algorithme plus compliqué (mémorisation des
arcs à visiter)
Arborescence de chemins longs (en terme de
nombre darcs)
Arborescence des chemins les plus courts (en
terme de nombre darcs)
Tout état de la pile est un chemin possibilité
de  greffer  sur le parcours des calculs sur
les chemins
Les états de la file ne sont pas des chemins
pas de calculs sur les chemins lors du parcours
Write a Comment
User Comments (0)
About PowerShow.com