des algorithmes dans les graphes - irif.frfrancoisl/irem/graphe.pdf · bibliothèque fr. mitterrand...
TRANSCRIPT
Des algorithmes dans les graphes
stage IREM - Nov./Dec. 2010
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Comment sortir ?
novembre 29, 2010_1.pdf - Page 3
Trouver un chemin optimal
Comment aller de Chevaleret a Porte de Bagnolet ?
Funiculaire deMontmartre
Orlyvaltarificationspéciale
Stade de FranceSt-Denis
St-Denis–Porte de Paris
Basiliquede St-Denis
Portede St-Ouen
LamarckCaulaincourt
JulesJoffrinGuy
Môquet
Portede Clichy
ChâteletLes Halles
Stalingrad
MarcadetPoissonniers
Hôtel de Ville
Arts etMétiers
Château Rouge
StrasbourgSt-Denis
St-Mandé
Hoche
MarxDormoy
La CourneuveAubervilliers
Le Bourget
Jaurès
Placedes Fêtes
Belleville Jourdain Télégraphe
Ourcq Portede Pantin
JacquesBonsergent Saint-Fargeau
PelleportPorte
de Bagnolet
Danube
BotzarisButtes
Chaumont
République
Parmentier
SèvresBabylone
RichelieuDrouot
Palais RoyalMusée du
Louvre
RéaumurSébastopol
Raspail
Pyramides
MontparnasseBienvenüe
Mabillon
ClunyLa Sorbonne
MalakoffRue Étienne Dolet
Chaussée d’AntinLa Fayette
BonneNouvelle
GrandsBoulevards
Bourse Sentier
BarbèsRochechouart
LaChapelle
Pigalle
PoissonnièreLiège
Notre-Damede-Lorette
St-Georges
Abbesses
Anvers
La Fourche
Placede Clichy
Pereire–Levallois Blanche
Villiers
OpéraAuber
HavreCaumartin
Trinitéd’Estienne
d'Orves
FranklinD. Roosevelt
Neuilly–Porte Maillot
Avenue Foch
Bir-Hakeim
Invalides
Pasteur
Pontde l’Alma
JavelAndréCitroën
Javel
Michel-AngeMolitor
La Muette
Michel-AngeAuteuil
Boulainvilliers Champ de MarsTour Eiffel
ChampsÉlysées
ClemenceauTrocadéro
AvenueHenri
Martin
Avenue duPdt Kennedy
Commerce
Félix Faure
Ruede la Pompe Iéna
Ranelagh
Jasmin
Exelmans
ChardonLagache
Églised’Auteuil
Duroc
La MottePicquetGrenelle
Assemblée Nationale
Varenne
St-MichelNotre-DameSolférino
Musée d’Orsay
Concorde Les Halles
Jussieu
Odéon
Étienne Marcel
Vavin
St-Germaindes-Prés
St-Sulpice
St-PlacidePlace Monge
Pont NeufTuileries
Notre-Damedes-Champs
Luxembourg
Port-Royal
LouvreRivoli
St-Michel
Bastille
Daumesnil
Reuilly–Diderot
PèreLachaise
Oberkampf
Quai dela Rapée
SaintMarcel Bercy
Fillesdu Calvaire
Chemin Vert
St-SébastienFroissart
Ruedes Boulets
Charonne
SèvresLecourbe
Cambronne
PontMarie
SullyMorland
PhilippeAuguste
AlexandreDumas
Avron
Voltaire
Quatre Septembre
St-Ambroise
RueSt-Maur
Pte deVincennes
Maraîchers Portede Montreuil
Robespierre
Croix de Chavaux
Buzenval
Pyrénées
Laumière
Châteaud’Eau
Porte Dorée
Porte de Charenton
Ivrysur-Seine
Portede Choisy
Ported’Italie Porte d’Ivry
Olympiades
Créteil–UniversitéCréteil–L’Échat
Maisons-AlfortLes Juilliottes
Maisons-Alfort–Stade
DenfertRochereau
MaisonBlanche
CensierDaubenton
Tolbiac
Le KremlinBicêtre Villejuif
Léo LagrangeVillejuifPaul Vaillant-Couturier
GlacièreCorvisart
NationaleChevaleret
CitéUniversitaire
Gentilly
Antony
MalakoffPlateau de Vanves
MoutonDuvernet
Gaîté
EdgarQuinet
Bd Victor
Issy
Portede St-Cloud
Pantin
Magenta
Vitrysur-Seine
Saint-Ouen
Ledru-Rollin
Ménilmontant
Couronnes
ColonelFabien
Montgallet
Michel Bizot
Charenton–Écoles
Liberté
FaidherbeChaligny
École Vétérinairede Maisons-Alfort
St-Paul
MaubertMutualité
CardinalLemoine
Temple
ChâteauLandon
Bolivar
Église de Pantin
Bobigny–PantinR. Queneau
RiquetCrimée
Corentin CariouPorte de la Villette
Aubervilliers–PantinQuatre Chemins
Fortd’Aubervilliers
LesGobelins Campo
FormioQuai
de la GareCour
St-Émilion
Pierre et Marie Curie
Dugommier
Bel-AirPicpus
St-Jacques
Dupleix
Passy
Alésia
Pernety
Plaisance
Pte de Vanves
Convention
Vaugirard
Porte de Versailles
Corentin Celton
Volontaires
Falguière
Lourmel
Boucicaut
Ségur
Ruedu Bac
Rennes
SaintFrançoisXavier
Vaneau
ÉcoleMilitaire
La Tour Maubourg
AvenueÉmile Zola
CharlesMichelsMirabeau
Ported’Auteuil
BoulogneJean Jaurès
Billancourt
MarcelSembat
Cité
AlmaMarceau
Boissière
KléberGeorge V
Argentine
Victor Hugo
Les SablonsPorte Maillot
Pont de Neuilly
Esplanadede La Défense
St-Philippedu-Roule
MiromesnilSt-Augustin
Courcelles
Ternes
Monceau
RomeMalesherbesWagram
Porte de Champerret
Anatole FranceLouise Michel
Europe
Le PeletierCadet
Pereire
Brochant
Mairiede Clichy
Garibaldi
Mairiede St-Ouen
CarrefourPleyel
Simplon
Bérault
RichardLenoir
Goncourt
BréguetSabin
Rambuteau
La PlaineStade de France
Madeleine
Gabriel Péri
BibliothèqueFr. Mitterrand
Les Agnettes
Portede Clignancourt
Garede l’Est
Garede Lyon
St-Denis–Université
Portede la Chapelle
La Courneuve8 Mai 1945
BobignyPablo Picasso
PréSt-Gervais
Mairiedes Lilas
Mairiede Montreuil
Gallieni
LouisBlanc
Portedes Lilas
Gambetta
Gare du Nord
Charlesde Gaulle
Étoile
Pont de LevalloisBécon
PorteDauphine
La Défense
BoulognePont de St-Cloud
Châtelet
Gared’Austerlitz
Nation
Châteaude Vincennes
Créteil–Préfecture
Mairie d’Ivry
Placed’Italie
VillejuifLouis Aragon
Mairie d’Issy
Châtillon–Montrouge
Pontde Sèvres
IssyVal de Seine
Gare St-Lazare
GareMontparnasse
HaussmannSt-Lazare
Ported’Orléans
Balard
Pontdu Garigliano
St-Lazare
Asnières–GennevilliersLes Courtilles CDG
Grande Arche
Orly
Paris
www.ratp.fr
MR
Prop
riété
de
la R
ATP
- Age
nce
Cart
ogra
phiq
ue -
PMI 0
4-20
08- B
O D
esig
n: b
dcco
nsei
l - R
epro
duct
ion
inte
rdite
Trouver un chemin optimal
Comment aller de Paris a Morlaix ?
• en minimisant la distance ?
• en minimisant la duree ?
• en minimisant le cout ?
• . . .
Calculs de plus courts chemins dans un graphe !
Le probleme de la ville embourbee
Probleme : Paver suffisamment de rues pour que tous leshabitants puissent se rendre n’importe ou les pieds ausec. . . mais en utilisant le moins de paves possible.novembre 29, 2010_4.pdf - Page 2
Le probleme des bandits
Probleme : Des bandits veulent visiter toutes les villes d’uneregion sans jamais repasser par une ville.
novembre 29, 2010_2.pdf - Page 4
Le probleme de la goudronneuse
Probleme : On veut faire passer une goudronneuse une etune seule fois par chaque rue.(on s’autorise a repasser aux croisements. . . )novembre 29, 2010_2.pdf - Page 5
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Les graphes
G = (S ,A) :
• S est un ensemble fini de sommets.
• A est un ensemble fini d’aretes (ou arcs, outransitions. . . ).
On va considerer des graphes orientes ou non-orientes, etparfois values.
novembre 29, 2010_3.pdf - Page 6
Les graphes
G = (S ,A) :
• S est un ensemble fini de sommets.
• A est un ensemble fini d’aretes (ou arcs, outransitions. . . ).
On va considerer des graphes orientes ou non-orientes, etparfois values. novembre 29, 2010_3.pdf - Page 7
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Comment sortir ?
novembre 29, 2010_1.pdf - Page 3
Quel algorithme ?
Quel est le probleme ?
Longer le mur sur la gauche ?
Utiliser un fil d’Ariane ?
Quel algorithme ?
Quel est le probleme ?
Longer le mur sur la gauche ?
Utiliser un fil d’Ariane ?
Quel algorithme ?
Quel est le probleme ?
Longer le mur sur la gauche ?
Utiliser un fil d’Ariane ?
Exemple
novembre 30, 2010_4.pdf - Page 6
Parcourir sans boucler
Commencer par la premiere case du labyrinthe. . .
1 Si la case courante est la sortie, alors c’est fini !
2 (Sinon :) marquer la case
3 pour chaque case C atteignable en “un coup” :
Si la case C n’est pas marquee, l’explorer enrecommencant au point 1
Du labyrinthe au graphe
novembre 29, 2010_6.pdf - Page 8
Parcours depuis une origine
Initialisation : Couleur[r ]← blanc et Π[r ]← nil ∀r ∈ S .Puis appel de PP-Visiter(G , qinit) :
PP-Visiter(G , q)
beginCouleur[q]← noir;pour chaque (q, q′) ∈ A faire
si Couleur[q′] = blanc alorsΠ[q′]← q;PP-Visiter(G , q′);
end
(variante simplifiee du parcours en profondeur)
Recherche d’un chemin de qinit a qF
Initialisation : Couleur[r ]← blanc et Π[r ]← nil ∀r ∈ S .Puis appel de Chemin(G , qinit , qS) :
Chemin(G , q, qS)
beginsi q = qS alors retourner Vrai;Couleur[q]← noir;pour chaque (q, q′) ∈ A faire
si Couleur[q′] = blanc alorsΠ[q′]← q;trouve← Chemin(G , u);si trouve = Vrai alors
retourner Vrai
retourner Fauxend
Parcours en profondeur
Algorithme important !A la base des algorithmes de recherche des composantesfortement connexes (par ex. algorithme de Tarjan) et de tritopologique.
Algorithme de type “backtracking”.
Un autre parcours classique est le parcours en largeur.
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Le probleme de la ville embourbee
Probleme : Paver suffisamment de rues pour que tous leshabitants puissent se rendre n’importe ou les pieds ausec. . . mais en utilisant le moins de paves possible.novembre 29, 2010_4.pdf - Page 2
NB : graphe non-oriente, value et connexe.
Algorithme 1
1 S = ∅2 On trie les aretes par poids croissant.
3 Pour chaque arete (x , y) :
Si (x , y) ne cree pas de cycle,
alors on l’ajoute a S
S est une solution !
Algorithme 2
1 S = ∅2 On choisit un sommet de depart s.
3 On ajoute a S une arete (s, x) de poids minimal,
4 On ajoute a S une arete (q, q′) reliant un sommet isole al’arbre en construction et de poids minimal,
5 recommencer le point 4 jusqu’a la connection de tous lessommets.
S est une solution !
Exemple Exemple d’ACM
q0 q1 q2
q3 q4 q5
q6
2
2
2
4
1 3 2
2 1 8
5
Arbres couvrants minimaux
Plus formellement. . .
G = (S ,A,w) : non-oriente, connexe et value (w : A→ R).
Definitions :
• un arbre couvrant de G est un graphe T = (S ,A′) avecA′ ⊆ A, connexe et acyclique.
• un arbre couvrant T = (S ,A′) est dit minimal lorsque :
w(A′) = min{w(A′′) | T ′ = (G ,A′′) est un AC de G}
avec w(A)def=
∑(x ,y)∈A w(x , y)
Propriete :Existence d’un ACMTout graphe non-oriente, value et connexe admet un ouplusieurs ACM.
Construire des ACM
Algorithme 1 : algorithme de Kruskal.
Algorithme 2 : algorithme de Prim.
Des algorithmes tres efficaces : en O(|A| · log(|A|)) etO(|A| · log(|S |)).(mais le choix des structures de donnees est important).
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Trouver un chemin optimal
Comment aller de Chevaleret a Porte de Bagnolet ?
Funiculaire deMontmartre
Orlyvaltarificationspéciale
Stade de FranceSt-Denis
St-Denis–Porte de Paris
Basiliquede St-Denis
Portede St-Ouen
LamarckCaulaincourt
JulesJoffrinGuy
Môquet
Portede Clichy
ChâteletLes Halles
Stalingrad
MarcadetPoissonniers
Hôtel de Ville
Arts etMétiers
Château Rouge
StrasbourgSt-Denis
St-Mandé
Hoche
MarxDormoy
La CourneuveAubervilliers
Le Bourget
Jaurès
Placedes Fêtes
Belleville Jourdain Télégraphe
Ourcq Portede Pantin
JacquesBonsergent Saint-Fargeau
PelleportPorte
de Bagnolet
Danube
BotzarisButtes
Chaumont
République
Parmentier
SèvresBabylone
RichelieuDrouot
Palais RoyalMusée du
Louvre
RéaumurSébastopol
Raspail
Pyramides
MontparnasseBienvenüe
Mabillon
ClunyLa Sorbonne
MalakoffRue Étienne Dolet
Chaussée d’AntinLa Fayette
BonneNouvelle
GrandsBoulevards
Bourse Sentier
BarbèsRochechouart
LaChapelle
Pigalle
PoissonnièreLiège
Notre-Damede-Lorette
St-Georges
Abbesses
Anvers
La Fourche
Placede Clichy
Pereire–Levallois Blanche
Villiers
OpéraAuber
HavreCaumartin
Trinitéd’Estienne
d'Orves
FranklinD. Roosevelt
Neuilly–Porte Maillot
Avenue Foch
Bir-Hakeim
Invalides
Pasteur
Pontde l’Alma
JavelAndréCitroën
Javel
Michel-AngeMolitor
La Muette
Michel-AngeAuteuil
Boulainvilliers Champ de MarsTour Eiffel
ChampsÉlysées
ClemenceauTrocadéro
AvenueHenri
Martin
Avenue duPdt Kennedy
Commerce
Félix Faure
Ruede la Pompe Iéna
Ranelagh
Jasmin
Exelmans
ChardonLagache
Églised’Auteuil
Duroc
La MottePicquetGrenelle
Assemblée Nationale
Varenne
St-MichelNotre-DameSolférino
Musée d’Orsay
Concorde Les Halles
Jussieu
Odéon
Étienne Marcel
Vavin
St-Germaindes-Prés
St-Sulpice
St-PlacidePlace Monge
Pont NeufTuileries
Notre-Damedes-Champs
Luxembourg
Port-Royal
LouvreRivoli
St-Michel
Bastille
Daumesnil
Reuilly–Diderot
PèreLachaise
Oberkampf
Quai dela Rapée
SaintMarcel Bercy
Fillesdu Calvaire
Chemin Vert
St-SébastienFroissart
Ruedes Boulets
Charonne
SèvresLecourbe
Cambronne
PontMarie
SullyMorland
PhilippeAuguste
AlexandreDumas
Avron
Voltaire
Quatre Septembre
St-Ambroise
RueSt-Maur
Pte deVincennes
Maraîchers Portede Montreuil
Robespierre
Croix de Chavaux
Buzenval
Pyrénées
Laumière
Châteaud’Eau
Porte Dorée
Porte de Charenton
Ivrysur-Seine
Portede Choisy
Ported’Italie Porte d’Ivry
Olympiades
Créteil–UniversitéCréteil–L’Échat
Maisons-AlfortLes Juilliottes
Maisons-Alfort–Stade
DenfertRochereau
MaisonBlanche
CensierDaubenton
Tolbiac
Le KremlinBicêtre Villejuif
Léo LagrangeVillejuifPaul Vaillant-Couturier
GlacièreCorvisart
NationaleChevaleret
CitéUniversitaire
Gentilly
Antony
MalakoffPlateau de Vanves
MoutonDuvernet
Gaîté
EdgarQuinet
Bd Victor
Issy
Portede St-Cloud
Pantin
Magenta
Vitrysur-Seine
Saint-Ouen
Ledru-Rollin
Ménilmontant
Couronnes
ColonelFabien
Montgallet
Michel Bizot
Charenton–Écoles
Liberté
FaidherbeChaligny
École Vétérinairede Maisons-Alfort
St-Paul
MaubertMutualité
CardinalLemoine
Temple
ChâteauLandon
Bolivar
Église de Pantin
Bobigny–PantinR. Queneau
RiquetCrimée
Corentin CariouPorte de la Villette
Aubervilliers–PantinQuatre Chemins
Fortd’Aubervilliers
LesGobelins Campo
FormioQuai
de la GareCour
St-Émilion
Pierre et Marie Curie
Dugommier
Bel-AirPicpus
St-Jacques
Dupleix
Passy
Alésia
Pernety
Plaisance
Pte de Vanves
Convention
Vaugirard
Porte de Versailles
Corentin Celton
Volontaires
Falguière
Lourmel
Boucicaut
Ségur
Ruedu Bac
Rennes
SaintFrançoisXavier
Vaneau
ÉcoleMilitaire
La Tour Maubourg
AvenueÉmile Zola
CharlesMichelsMirabeau
Ported’Auteuil
BoulogneJean Jaurès
Billancourt
MarcelSembat
Cité
AlmaMarceau
Boissière
KléberGeorge V
Argentine
Victor Hugo
Les SablonsPorte Maillot
Pont de Neuilly
Esplanadede La Défense
St-Philippedu-Roule
MiromesnilSt-Augustin
Courcelles
Ternes
Monceau
RomeMalesherbesWagram
Porte de Champerret
Anatole FranceLouise Michel
Europe
Le PeletierCadet
Pereire
Brochant
Mairiede Clichy
Garibaldi
Mairiede St-Ouen
CarrefourPleyel
Simplon
Bérault
RichardLenoir
Goncourt
BréguetSabin
Rambuteau
La PlaineStade de France
Madeleine
Gabriel Péri
BibliothèqueFr. Mitterrand
Les Agnettes
Portede Clignancourt
Garede l’Est
Garede Lyon
St-Denis–Université
Portede la Chapelle
La Courneuve8 Mai 1945
BobignyPablo Picasso
PréSt-Gervais
Mairiedes Lilas
Mairiede Montreuil
Gallieni
LouisBlanc
Portedes Lilas
Gambetta
Gare du Nord
Charlesde Gaulle
Étoile
Pont de LevalloisBécon
PorteDauphine
La Défense
BoulognePont de St-Cloud
Châtelet
Gared’Austerlitz
Nation
Châteaude Vincennes
Créteil–Préfecture
Mairie d’Ivry
Placed’Italie
VillejuifLouis Aragon
Mairie d’Issy
Châtillon–Montrouge
Pontde Sèvres
IssyVal de Seine
Gare St-Lazare
GareMontparnasse
HaussmannSt-Lazare
Ported’Orléans
Balard
Pontdu Garigliano
St-Lazare
Asnières–GennevilliersLes Courtilles CDG
Grande Arche
Orly
Paris
www.ratp.fr
MR
Prop
riété
de
la R
ATP
- Age
nce
Cart
ogra
phiq
ue -
PMI 0
4-20
08- B
O D
esig
n: b
dcco
nsei
l - R
epro
duct
ion
inte
rdite
Plus courts chemins
Objectif : Etant donne un graphe oriente et value, et unsommet s, on veut trouver :
• la distance minimale separant s de chaque sommet, et
• des plus courts chemins reliant s aux autres sommets.
Plus courts chemins
Objectif : Etant donne un graphe oriente et value, et unsommet s, on veut trouver :
• la distance minimale separant s de chaque sommet, et
• des plus courts chemins reliant s aux autres sommets.
Arborescence des PCC
s = q0 q1 q2
q3 q4 q5
q6
2
22
2
5
8 1 3 2
2 1 8
5
Plus courts chemins
Objectif : Etant donne un graphe oriente et value, et unsommet s, on veut trouver :
• la distance minimale separant s de chaque sommet, et
• des plus courts chemins reliant s aux autres sommets.novembre 30, 2010_1.pdf - Page 10
Exemplenovembre 30, 2010_2.pdf - Page 10
L’algorithme de Dijkstra
G = (S ,A,w) : oriente et value (w : A→ R+).s un sommet initial.
On va construire un arbre des plus courts chemins. . .et calculer les distances δ(x) : distance d’un PCC de s a x . . .
1 La distance de s a lui-meme est 0 : δ(s) = 0C’est la racine de l’arbre.
2 Trouver un sommet s ′ situe a une arete de l’arbre enconstruction et le plus proche possible de s.
3 Marquer l’arete (x , d , s ′) qui a permis de trouver s ′
4 La distance separant s et s ′ est : δ(x) + d .
5 Recommencer au point 2 tant qu’il reste des sommetsatteignables. . .
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Le probleme des bandits
Probleme : Des bandits veulent visiter toutes les villes d’uneregion sans jamais repasser par une ville.
novembre 29, 2010_2.pdf - Page 4
Aie !
On ne connaıt pas d’algorithme efficace pour ce probleme. . .
C’est un probleme NP-complet !
La recherche de chemin Hamiltonien.
Le probleme des bandits
novembre 30, 2010_3.pdf - Page 4
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Le probleme de la goudronneuse
Probleme : On veut faire passer une goudronneuse une etune seule fois par chaque rue.(on s’autorise a repasser aux croisements. . . )novembre 29, 2010_2.pdf - Page 5
Chemin Eulerien. . .
Tres facile !
Plan
1 Cinq problemes. . .
2 Les graphes
3 Des algorithmesParcoursArbres couvrants minimauxPlus courts cheminsChemins HamiltoniensChemins Euleriens
4 Representation des graphes
Representation des graphes - 1
Par liste d’adjacence :
novembre 30, 2010_4.pdf - Page 5
Representation des graphes - 1
Par matrice d’adjacence :
0 0 0 1 0 0 01 0 0 1 1 0 00 0 0 0 1 1 00 1 0 1 1 0 10 0 0 0 0 0 00 0 0 0 1 1 00 0 0 0 1 0 0
Graphes values
G = (S ,A) + w : A→ R.
La fonction w associe un poids, une distance, etc. a chaquearc ou arete de G .(La fonction w s’etend naturellement a tout chemin (fini) deG en sommant le poids de chaque arc/arete.)
Les deux representations precedentes s’etendent facilementaux graphes values.
Representation des graphes en PYTHON
S1=[’q0’,’q1’,’q2’,’q3’,’q4’,’q5’,’q6’]
A1={’q0’: [’q1’,’q3’], ’q1’: [’q3’,’q4’],’q2’: [’q4’,’q5’],
’q3’: [’q1’,’q3’,’q4’,’q6’],’q4’:[ ],’q5’: [’q4’,’q5’],
’q6’: [’q4’] }
G = (S1,A1)
novembre 30, 2010_4.pdf - Page 5