licence d informatique algorithmique des graphes n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Licence d’informatique Algorithmique des graphes PowerPoint Presentation
Download Presentation
Licence d’informatique Algorithmique des graphes

Loading in 2 Seconds...

play fullscreen
1 / 61

Licence d’informatique Algorithmique des graphes - PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on

Licence d’informatique Algorithmique des graphes. Exploration de la descendance d’un sommet. Utilisation de ce document strictement réservée aux étudiants de l ’IFSIC dans le cadre de leur formation.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Licence d’informatique Algorithmique des graphes' - fabian


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
licence d informatique algorithmique des graphes
Licence d’informatiqueAlgorithmique des graphes

Exploration de la descendance d’un 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.

explorer la descendance d un sommet
Explorer la descendance d’un sommet

Donnée :un graphe G, et un sommet x de ce graphe

Résultat :la descendance de x dans le graphe G

Qu’est-ce que c’est ?

Définition :le sommet y est descendant de x dans Gsi

x = you si il existe un chemin de G, allant de x à y

explorer la descendance d un sommet1
Explorer la descendance d’un 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 c’est un arc de Get siy est descendant de x dans G

slide4

g

k

l

g

k

l

f

f

a

c

a

c

e

e

d

b

d

b

Graphe G* = (*(a) , a )

Exemple

i

h

j

principe g n ral d exploration visites
Principe général d’exploration : visites

Prédicats :

visité(y) :le sommet y a étévisité(par l’exploration)

visité(y,z) :l’arc (y, z) a étévisité(par l’exploration)

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)

principe g n ral d exploration visites1

et

donc,

d'

après

(arc)

Principe général d’exploration : visites

Etat initial :

visité(x)(axiome init)

But (Etat final) :

algorithme g n ral d exploration
Algorithme général d’exploration

Invariant :

3 états possibles pour chaque sommet y :

1) Il n’est pas (encore?) visité

algorithme g n ral d exploration1
Algorithme général d’exploration

Invariant :

3 états possibles pour chaque sommet y :

1) Il n’est pas (encore?) visité

(donc aucun des arcs qui y aboutissent non plus)

algorithme g n ral d exploration2

(la réciproque de cet axiome n’est pas vraie)

Algorithme général d’exploration

Invariant :

3 états possibles pour chaque sommet y :

1) Il n’est 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

algorithme g n ral d exploration3
Algorithme général d’exploration

Invariant :

3 états possibles pour chaque sommet y :

1) Il n’est 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)

algorithme g n ral d exploration4
Algorithme général d’exploration

Invariant :

3 états possibles pour chaque sommet y :

dehors

1) Il n’est 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é

algorithme g n ral d exploration5
Algorithme général d’exploration

Invariant :

2 états possibles pour chaque arc (y,z):

1) Il n’est pas (encore?) visité

algorithme g n ral d exploration6
Algorithme général d’exploration

Invariant :

2 états possibles pour chaque arc (y,z):

1) Il n’est pas (encore?) visité

2) Il est déjà visité

(donc son origine y et son extrémité z aussi - axiomes (sommet) et (arc))

algorithme g n ral d exploration7
Algorithme général d’exploration

Invariant :

L’ensemble des sommets du graphe se répartit en :

L’ensemble des arcs du graphe se répartit en :

algorithme g n ral d exploration8
Algorithme général d’exploration

Invariant :

L’ensemble des sommets du graphe se répartit en :

Propriétés :

(seuls les sommets descendants de x peuvent être visités)

algorithme g n ral d exploration9
Algorithme général d’exploration

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)

slide17

dehors

terminé

visité

en_attente

STATUT DES SOMMETS

ET DES ARCS

i

g

k

l

f

h

a

c

e

j

d

b

algorithme g n ral d exploration10

Par définition :

Algorithme général d’exploration

ARRET :

état final de l’exploration :

algorithme g n ral d exploration11
Algorithme général d’exploration

ARRET :

état final de l ’exploration :

C’est-à-dire tout y visité est terminé

algorithme g n ral d exploration12

Donc :

Algorithme général d’exploration

ARRET :

Réciproquement :

état final de l’exploration :

Réciproquement:

algorithme g n ral d exploration13
Algorithme général d’exploration

ARRET :

Réciproquement :

état final de l’exploration :

Réciproquement:

algorithme g n ral d exploration14

état initial de l’exploration :

visité(x)

Algorithme général d’exploration

INIT :

V <-  ;

si x a des successeurs

alors T <-  ; A <- {x}; sinon T <- {x}; A <-  fsi ;

D <- tous les sommets sauf x

algorithme g n ral d exploration15
Algorithme général d’exploration

PROGRESSION:

Maintien des axiomes

(init) un sommet visité ne repasse jamais dehors

(sommet) après visite d’un arc (y,z), z n’est pas dehors

(arc) la visite d’un arc (y,z) n’est possible que si y est en_attente

Terminaison

A chaque étape, le nombre d’arcs non visités doit décroître

algorithme g n ral d exploration16

soit z un successeur de y tel que (y,z) est non visité;

visiter l’arc (y,z);

Algorithme général d’exploration

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 d’un arc (y,z) n’est possible que si y est en_attente

A chaque étape, le nombre d’arcs non visités doit décroître

(sommet) après visite d’ un arc (y,z), z n’est pas dehors

algorithme g n ral d exploration17
Algorithme général d’exploration

PROGRESSION:

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é

(init) un sommet visité ne repasse jamais dehors

slide26

dehors

déjà en_attente

terminé

visité

en_attente

STATUT DES SOMMETS

ET DES ARCS

en_attente

i

g

k

l

f

h

a

c

e

j

d

b

slide27

dehors

visité

en_attente

dehors

STATUT DES SOMMETS

ET DES ARCS

terminé

en_attente

Encore des arcs à visiter?

NON

i

g

k

l

terminé

f

h

a

c

en_attente

e

j

d

b

slide28

vrai initialement

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 qu’un sommet devient

ou terminé

en_attente

slide29

vrai initialement

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 qu’un arc devient

visité

strat gies particuli res
Stratégies particulières

On particularise l’algorithme général en spécifiant le sommet en_attenteà partir duquel on poursuit l’exploration

Deux exemples :

  • LARGEUR : choisir le sommet « le plus ancien »
  • PROFONDEUR : choisir le sommet « le plus récent »
slide31

LARGEUR D’ABORD : LA FILE

Comment repérer le sommet en_attente « le plus ancien »?

Gérerl’ensemble A avec la structure de données adéquate :

La FILE

PAPS

Premier Arrivé Premier Sorti

slide32

LARGEUR D’ABORD : LA FILE

La FILE

sens de déplacement

v

a

mettre_en_file(v)

slide33

LARGEUR D’ABORD : LA FILE

x

La FILE

sens de déplacement

v

a

mettre_en_file(v)

x ôter_de_file

slide34

LARGEUR D’ABORD : LA FILE

x

La FILE

sens de déplacement

v

mettre_en_file(v)

a

x ôter_de_file

slide35

LARGEUR D’ABORD : LA FILE

La FILE

sens de déplacement

v

f  créer

mettre_en_file(v)

x ôter_de_file

b  filevide

slide36

LARGEUR D’ABORD : LA FILE

Une étape de l ’algorithme :

sens de déplacement

y

Sommet en tête sélectionné : devient terminé ;

slide37

LARGEUR D’ABORD : LA FILE

z1

z2

z3

y

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

slide38

a

i

g

k

l

FILE

a

f

h

c

e

j

d

b

slide39

l

c

e

i

g

k

FILE

a

c e l

f

a

h

j

d

b

slide40

l

c

e

i

g

k

FILE

a

c e l

f

e l b

a

h

j

d

b

slide41

l

c

e

i

g

k

FILE

a

c e l

f

e l b

a

h

l b d f

j

d

b

slide42

l

c

e

i

g

k

FILE

a

c e l

f

e l b

a

h

l b d f

bd f h k

j

d

b

slide43

l

c

e

i

g

k

FILE

a

c e l

f

e l b

a

h

Déjà visité

l b d f

bd f h k

d f h k

j

d

b

slide44

l

c

e

i

g

k

FILE

a

c e l

f

e l b

a

h

l b d f

bd f h k

d f h k

f h k

j

d

b

Pas de successeur

slide45

l

c

e

i

g

k

FILE

a

c e l

f

e l b

a

h

l b d f

bd f h k

d f h k

f h k

j

d

b

h k g

Déjà visité

slide46

l

c

e

i

g

k

FILE

a

c e l

Déjà visité

f

e l b

a

h

l b d f

bd f h k

d f h k

f h k

j

d

b

h k g

k g

slide47

l

c

e

i

g

k

FILE

a

Sommets déjà visités

c e l

f

e l b

a

h

l b d f

bd f h k

d f h k

f h k

j

d

b

h k g

k g

g

slide48

l

c

e

i

g

k

FILE

déjà visité

a

c e l

f

e l b

a

h

l b d f

bd f h k

d f h k

f h k

j

d

b

h k g

k g

g

slide49

g

k

f

h

a

d

k

i

g

l

DISTANCE1

DISTANCE 2

f

DISTANCE 3

h

a

c

e

j

d

b

ARBORESCENCE D’EXPLORATION EN LARGEUR

strat gies particuli res1
Stratégies particulières

On particularise l ’algorithme général en spécifiant le sommet en_attenteà partir duquel on poursuit l’exploration

Deux exemples :

  • LARGEUR : choisir le sommet « le plus ancien »
  • PROFONDEUR : choisir le sommet « le plus récent »
slide51

PROFONDEUR D’ABORD : LA PILE

Comment repérer le sommet en_attente « le plus récent » ?

Gérerl ’ensemble A avec la structure de données adéquate :

La PILE

DAPS

Dernier Arrivé Premier Sorti

slide53

PROFONDEUR D’ABORD : LA PILE

La PILE

v

w

empiler(v)

dépiler

slide54

PROFONDEUR D’ABORD : LA PILE

x

La PILE

w

w

empiler(v)

dépiler

xsommet_pile

slide55

PROFONDEUR D’ABORD : LA PILE

p  créer

b  pilevide

La PILE

w

empiler(v)

dépiler

xsommet_pile

slide56

PROFONDEUR D’ABORD : LA PILE

z

Une étape de l ’algorithme :

y

Sommet en tête sélectionné ;

Choix d’un arc sortant (y,z) non encore visité ;

Visite de l ’arc (y,z) ;

Si z est dehors alors il devient en_attente : empiler(z) ;

slide57

PROFONDEUR D’ABORD : LA PILE

Une étape de l’algorithme :

y

Sommet en tête sélectionné ;

Choix d’un arc sortant (y,z) non encore visité ;

Si tous les arcs sortants de y sont visités, y devient terminé ;

(dépiler)

slide58

PROFONDEUR D’ABORD : LA PILE

Une étape de l’algorithme :

Sommet en tête sélectionné ;

Choix d’un 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

L’ENSEMBLE DES ARCS A VISITER

slide59

a

a

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

d

b

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

slide60

i

k

l

f

h

a

a

c

c

b

e

j

h

b

d

f

g

ARBORESCENCE D’EXPLORATION EN PROFONDEUR

comparaison des deux strat gies

PROFONDEUR :

LARGEUR :

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 d’arcs)

Arborescence des chemins les plus courts (en terme de nombre d’arcs)

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