[PDF] Parcours de graphes - miashs-wwwu-gafr



Previous PDF Next PDF







Parcours dun graphe - Claude Bernard University Lyon 1

Parcours en largeur : principe de l’algorithme Vous devez parcourir toutes les pages d’un site web Les pages sont les sommets d’un graphe et un lien entre deux pages est une ar^ete entre ces deux sommets 1 Dans le parcours en largeur, on utilise une le On en le le sommet de d epart (on visite la page index du site)



Algorithmique des graphes quelques notes de cours

Si le graphe est donné par tableau de listes de successeurs, la complexité du parcours en largeur est O(n+ m) 2 1 3 Exercices 1 Modi er l'algorithme de parcours en largeur a n de récupérer les composantes connexes du graphe en entrée 2 Appliquer le parcours en largeur à la recherche d'un plus court chemin entre deux som-mets xet ydu



Algorithmique — M1 TD 2 : Parcours de Graphes

Exercice 1 : Appliquer a ce graphe l’algorithme de parcours en largeur (le sommet origine est indiqu´e par une simple fl`eche entrante) L’arbre de parcours en largeur r´esultant sera pr´esent´e par un sch´ema dans lequel les sommets de profondeur ´egale seront mis a la mˆeme hauteur, le sommet origine ´etant mis en haut



Parcours de graphes - miashs-wwwu-gafr

Propriétés de l’arbre de parcours en largeur Les chemins de l’arbre de parcours en largeur de s vers les autres sommets, sont les chemins les plus courts (en nombre d’arêtes) dans le graphe G, de s vers tous les autres sommets Heike Ripphausen -Lipa & Jean-Michel Adam 28



GRAPHES ET ALGORITHMES - LAAS

Parcours de Graphe (2 cours) Principe du parcours Parcours en profondeur Parcours en largeur Premières applications d’un algorithme de parcours Connexité – Forte connexité Divers , 3 Optimisation et Graphes Plus courts chemins (2 cours) Problèmes de flots (3 cours) 6



Algorithmes et structures de données génériques

5 6 6 Parcours en profondeur (matrices) 285 5 6 7 Parcours en largeur (matrices) 285 5 6 8 Plus courts chemins entre tous les sommets (Floyd) 286 5 6 9 Algorithme de Floyd 288 5 6 10 Algorithme de calcul de la fermeture transitive 290 5 6 11 Menu de test des graphes (matrices) 293 5 7 Résumé 293 5 8 Conclusion générale 294



INTELLIGENCE ARTIFICIELLE JI

niveau suivant Pour effectuer le parcours en largeur, une file est utilisée Le parcours s’arrête quand un état final est trouvé ou quand une profon-deur maximale est atteinte Ce parcours est très cher en temps et en espace mais il garantit de trouver la solution si elle existe; tandis que le parcours

[PDF] algorithme de parcours en profondeur en c PDF Cours,Exercices ,Examens

[PDF] Algorithme de Pythagore 2nde Mathématiques

[PDF] ALGORITHME DE PYTHAGORE ( TI-84 plus ) 2nde Mathématiques

[PDF] algorithme de recherche dans un tableau PDF Cours,Exercices ,Examens

[PDF] algorithme de recherche dichotomique PDF Cours,Exercices ,Examens

[PDF] algorithme de recherche intelligence artificielle PDF Cours,Exercices ,Examens

[PDF] algorithme de recherche python PDF Cours,Exercices ,Examens

[PDF] Algorithme de resolution d'equation de degré 1 ou 2 1ère Mathématiques

[PDF] Algorithme de seconde 2nde Mathématiques

[PDF] Algorithme de suite pour un devoir maison Terminale Mathématiques

[PDF] Algorithme de suites 1ère Mathématiques

[PDF] algorithme de tracé de cercle PDF Cours,Exercices ,Examens

[PDF] Algorithme de x en fonction de y 1ère Mathématiques

[PDF] algorithme débranché PDF Cours,Exercices ,Examens

[PDF] Algorithme dérivées 1ère Mathématiques

Parcours de graphes

Heike Ripphausen-Lipa-BeuthUniversity of Applied Science -Berlin J.M. Adam -Université de Grenoble Alpes -Grenoble

Labyrinthe

2 A B

Trouver un chemin de

A à B à travers le

labyrinthe

Heike Ripphausen-Lipa& Jean-Michel Adam

Labyrinthe

A nouveau le problème peut être

modélisé par un graphe :

Le labyrinthe peut être représenté par

un graphe similaire au graphe pour la représentation d'un plan

Le problème consiste à trouver un

chemin de A à B, par un parcours systématique du graphe.

Heike Ripphausen-Lipa& Jean-Michel Adam3

Parcoursde graphe

Il existe de nombreux algorithmes de

parcours systématiques de tous les sommets du graphe.

Il y a deux stratégies de parcours

différentes :partant d'un sommet, le graphe est parcouru

Ńen largeur

Ńen profondeur

4Heike Ripphausen-Lipa& Jean-Michel Adam

Parcours en largeur

Breadth

-First-Search (BFS)

Parcoursenlargeur

Le parcours en largeur consiste à

parcourir d'abord tous les voisins d'un sommet donné, puis on parcourt les voisins des voisins, etc.

Le parcours se fait en "largeur" avant de

se faire en "profondeur"

De nombreux algorithmes sont basés

sur cette stratégie, par exemple l'algorithme de

Dijkstrapour trouver les

chemins les plus courts

6Heike Ripphausen-Lipa& Jean-Michel Adam

Structure de donnéespour le

parcoursenlargeur Structure de donnéespour se rappelerles sommets qui n'ontpas étécomplètementprisencompte:

File :puisque chaque nouveau sommet visité est

positionné à la fin de la file d'attente; les sommets les premiers visités sont les premiers supprimés de la file. Structure de données pour représenter le graphe afin d'obtenir une mise en oeuvre efficace

Listed'adjacence,puisque les voisins de chaque

sommet sont systématiquement visités

7Heike Ripphausen-Lipa& Jean-Michel Adam

Parcoursenlargeur

Pour chaquesommeton calculles informations

suivantes: dist: la distance d'un sommet au sommet de départ (le sommet où commence la recherche) pred: le prédécesseur, c'est-à-dire le sommet depuis lequel le sommet actuel a été atteint la première fois coul: une des couleurs blanc, gris, noir

8Heike Ripphausen-Lipa& Jean-Michel Adam

Parcoursenlargeur

Signification des

couleurs:

Blanc : le sommetn'apas encore été

visité

Gris : le sommeta étévisité, mais

toussesvoisinsne l'ontpas encore

été

Noir: le sommetet toussesvoisins

ontétévisités

9Heike Ripphausen-Lipa& Jean-Michel Adam

Algorithmedu parcoursenlargeur

12.09.2019Heike Ripphausen-Lipa10

Algorithmparcours-largeur(s)

s : le sommetde départ, Q : unefile init-parcours-largeur(s) tantquenon Q.fileVide

Q.defiler(u)

pourtoutsommetv adjacentà u faire si(coul[v] = blanc) // v pasencorevisité alorscoul[v] gris dist[v] dist[u] + 1 pred[v] u

Q.enfiler(v)

fsi fpour coul[u] noir; ftq

Heike Ripphausen-Lipa & Jean-Michel Adam

11 init-parcours-largeur(s) s : le sommetde départ, Q : unefile coul[s] gris dist[s] 0 pred[s] NIL

Q.enfiler(s)

coul[v] blanc dist[v] MAXINT pred[v] NIL fpour

Algorithmedu parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

12 rstu vwxy iLa valeurplacéedanschaquesommetestdist, pas de valeursignifieMAXINT Q s0

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

13 rstu vwxy Q 0

Visiterle sommets:

Parcourirtousles voisinsde s

r 1 w 1 0

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

14 rstu vwxy Q 0

Visiterle sommetr:

Parcourirtousles voisinsde r

w 1 v 1 0 2

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

15 rstu vwxy Q 0

Visiterle sommetw:

Parcourirtousles voisinsde w

v 1 12 t 2 x 1 0 2

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

16

Visiterle sommetv:

Parcourirtousles voisinsde v

rstu vwxy Q 01 12 21
0 2 tx

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

17

Visiterle sommett:

Parcourirtousles voisinsde t

rstu vwxy Q 01 12 21
0 2 1 132
xu

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

18 rstu vwxy Q 0

Visiterle sommetx:

Parcourirtousles voisinsde x

1 12 21
0 2 1 132
uy 3

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

19 rstu vwxy Q 0

Visiterle sommetu:

Parcourirtousles voisinsde u

y 1 12 21
0 2 1 132
322
3

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

20 rstu vwxy Q 0

Visiterle sommety:

Parcourirtousles voisinsde y

1 12 21
0 2 1 132
322
3

Parcoursenlargeur

Heike Ripphausen-Lipa& Jean-Michel Adam

Exécutionde l'algorithmedans

unetable 21
som.rstwuvxy pred dist

Heike Ripphausen-Lipa& Jean-Michel Adam

22
som.rstwuvxy predsNILwstrwx dist10213223

Trouverun cheminde sà u:

u t w s

Exécutionde l'algorithmedans

unetable

Heike Ripphausen-Lipa& Jean-Michel Adam

Temps d'exécution du parcours

en largeur

Pour un graphe de nsommets et marêtes :

Initialiser les information col, distand predpour

tous les sommets : O(n)

Chaque sommet est place une seule fois dans la

queue; temps pour tous les sommets : O(n) Chaque sommet est supprimé une seule fois de la file; temps pour tous les sommets : O(n) Pour chaque sommet supprimé de la file, on examine tous les voisins; temps d'exécution: O(m) Temps d'exécution pour toutes ces étapes est O( n+m

23Heike Ripphausen-Lipa& Jean-Michel Adam

Arbrede parcoursenlargeur

Le parcoursenlargeurgénèreun arbre:

La racineestle sommetde départ

Les noeudsde l'arbresontles sommetsdu graphe

qui peuventêtreatteintsdepuisle sommetde départ. Les arêtes de l'arbresontcellesdu graphe, qui relient un sommetà son prédécesseur(pred) au coursdu parcours Remarque: tous les sommets du graphe ne doivent pas appartenir à l'arbre car il peut exister des sommets inaccessibles !

24Heike Ripphausen-Lipa& Jean-Michel Adam

25
rstu vwxy 01 12 21
0quotesdbs_dbs8.pdfusesText_14