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 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 -GrenobleLabyrinthe
2 A BTrouver un chemin de
A à B à travers le
labyrintheHeike 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 planLe 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 deDijkstrapour trouver les
chemins les plus courts6Heike 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 efficaceListed'adjacence,puisque les voisins de chaque
sommet sont systématiquement visités7Heike 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, noir8Heike 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és9Heike 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.fileVideQ.defiler(u)
pourtoutsommetv adjacentà u faire si(coul[v] = blanc) // v pasencorevisité alorscoul[v] gris dist[v] dist[u] + 1 pred[v] uQ.enfiler(v)
fsi fpour coul[u] noir; ftqHeike 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] NILQ.enfiler(s)
coul[v] blanc dist[v] MAXINT pred[v] NIL fpourAlgorithmedu parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
12 rstu vwxy iLa valeurplacéedanschaquesommetestdist, pas de valeursignifieMAXINT Q s0Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
13 rstu vwxy Q 0Visiterle sommets:
Parcourirtousles voisinsde s
r 1 w 1 0Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
14 rstu vwxy Q 0Visiterle sommetr:
Parcourirtousles voisinsde r
w 1 v 1 0 2Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
15 rstu vwxy Q 0Visiterle sommetw:
Parcourirtousles voisinsde w
v 1 12 t 2 x 1 0 2Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
16Visiterle sommetv:
Parcourirtousles voisinsde v
rstu vwxy Q 01 12 210 2 tx
Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
17Visiterle sommett:
Parcourirtousles voisinsde t
rstu vwxy Q 01 12 210 2 1 132
xu
Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
18 rstu vwxy Q 0Visiterle sommetx:
Parcourirtousles voisinsde x
1 12 210 2 1 132
uy 3
Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
19 rstu vwxy Q 0Visiterle sommetu:
Parcourirtousles voisinsde u
y 1 12 210 2 1 132
322
3
Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
20 rstu vwxy Q 0Visiterle sommety:
Parcourirtousles voisinsde y
1 12 210 2 1 132
322
3
Parcoursenlargeur
Heike Ripphausen-Lipa& Jean-Michel Adam
Exécutionde l'algorithmedans
unetable 21som.rstwuvxy pred dist
Heike Ripphausen-Lipa& Jean-Michel Adam
22som.rstwuvxy predsNILwstrwx dist10213223
Trouverun cheminde sà u:
u t w sExécutionde l'algorithmedans
unetableHeike Ripphausen-Lipa& Jean-Michel Adam
Temps d'exécution du parcours
en largeurPour 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+m23Heike 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
25rstu vwxy 01 12 21
0quotesdbs_dbs8.pdfusesText_14