• Aucun résultat trouvé

Des algorithmes dans les graphes

N/A
N/A
Protected

Academic year: 2022

Partager "Des algorithmes dans les graphes"

Copied!
50
0
0

Texte intégral

(1)

Des algorithmes dans les graphes

stage IREM - Nov./D´ec. 2010

(2)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(3)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(4)

Comment sortir ?

novembre 29, 2010_1.pdf - Page 3

(5)

Trouver un chemin optimal

Comment aller de Chevaleret `a Porte de Bagnolet ?

Funiculaire de Montmartre

Orlyval tarification spéciale Stade de France

St-Denis St-Denis–Porte de Paris Basilique de St-Denis

Porte de St-Ouen

Lamarck Caulaincourt

Jules Joffrin GuyMôquet

Porte de Clichy

Châtelet Les Halles

Stalingrad Marcadet

Poissonniers

Hôtel de Ville Arts et Métiers Château Rouge

Strasbourg St-Denis

St-Mandé Hoche Marx

Dormoy La Courneuve

Aubervilliers Le Bourget

Jaurès

Place des Fêtes

Belleville Jourdain Télégraphe

Ourcq Porte de Pantin

Jacques Bonsergent

Saint-Fargeau

Pelleport Porte de Bagnolet Danube

Botzaris Buttes Chaumont

République Parmentier

Sèvres Babylone

Richelieu Drouot

Palais Royal Musée du Louvre

Réaumur Sébastopol

Raspail Pyramides

Montparnasse Bienvenüe

Mabillon Cluny La Sorbonne

Malakoff Rue Étienne Dolet

Chaussée d’Antin La Fayette

Bonne Nouvelle Grands Boulevards Bourse Sentier

Barbès Rochechouart La

Chapelle Pigalle

Poissonnière Liège

Notre-Dame de-Lorette St-Georges Abbesses

Anvers La Fourche

Place de Clichy

Pereire–Levallois Blanche

Villiers

Opéra Auber Havre Caumartin

Trinité d’Estienne d'Orves

Franklin D. Roosevelt Neuilly–Porte Maillot

Avenue Foch

Bir-Hakeim Invalides

Pasteur Pont

de l’Alma

Javel André Citroën Javel

Michel-Ange Molitor

La Muette

Michel-Ange Auteuil

Boulainvilliers Champ de Mars

Tour Eiffel Champs

Élysées Clemenceau Trocadéro Avenue

Henri Martin

Avenue du Pdt Kennedy

Commerce

Félix Faure Rue

de la Pompe Iéna

Ranelagh

Jasmin

Exelmans Chardon Lagache Église d’Auteuil

Duroc La Motte Picquet Grenelle

Assemblée Nationale

Varenne

St-Michel Notre-Dame Solférino

Musée d’Orsay

Concorde Les Halles

Jussieu Odéon Étienne Marcel

Vavin St-Germain

des-Prés

St-Sulpice

St-Placide

Place Monge Pont Neuf

Tuileries

Notre-Dame des-Champs Luxembourg

Port-Royal Louvre Rivoli

St-Michel

Bastille

Daumesnil Reuilly–Diderot

Père Lachaise Oberkampf

Quai de la Rapée

Saint

Marcel Bercy

Filles du Calvaire

Chemin Vert St-Sébastien Froissart

des BouletsRue Charonne

Sèvres Lecourbe Cambronne

Pont Marie Sully Morland

Philippe Auguste Alexandre Dumas Avron Voltaire Quatre Septembre

St-Ambroise Rue St-Maur

Pte de Vincennes Maraîchers Porte

de Montreuil Robespierre Croix de Chavaux

Buzenval Pyrénées

Laumière

Château d’Eau

Porte Dorée Porte de Charenton

Ivrysur-Seine Porte

de Choisy Porte d’Italie Porte d’Ivry

Olympiades

Créteil–Université Créteil–L’Échat Maisons-Alfort Les Juilliottes Maisons-Alfort–Stade Denfert

Rochereau

Maison Blanche Censier Daubenton

Tolbiac

Le Kremlin BicêtreVillejuif

Léo Lagrange Villejuif Paul Vaillant-Couturier Glacière

Corvisart Nationale

Chevaleret

CitéUniversitaire

Gentilly

Antony Malakoff

Plateau de Vanves Mouton Duvernet Gaîté

Edgar Quinet

Bd Victor

Issy Porte de St-Cloud

Pantin

Magenta

Vitry sur-Seine Saint-Ouen

Ledru-Rollin Ménilmontant Couronnes Colonel Fabien

Montgallet

Michel Bizot

Charenton–Écoles Liberté Faidherbe Chaligny

École Vétérinaire de Maisons-Alfort St-Paul

Maubert Mutualité Cardinal Lemoine

Temple Château Landon

Bolivar Église de Pantin

Bobigny–Pantin R. Queneau

Riquet Crimée

Corentin Cariou Porte de la Villette Aubervilliers–Pantin

Quatre Chemins Fort d’Aubervilliers

Les Gobelins Campo

Formio Quai

de la Gare Cour St-Émilion

Pierre et Marie Curie

Dugommier Bel-Air

Picpus

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 Rue du Bac

Rennes Saint François Xavier

Vaneau École Militaire La Tour Maubourg

Avenue Émile Zola

Charles Michels Mirabeau Porte d’Auteuil

Boulogne Jean Jaurès

Billancourt Marcel Sembat

Cité MarceauAlma

Boissière Kléber

George V Argentine

Victor Hugo Les Sablons

Porte Maillot Pont de Neuilly Esplanade de La Défense

St-Philippe du-Roule Miromesnil

St-Augustin Courcelles Ternes

Monceau Malesherbes Rome

Wagram Porte de Champerret Anatole France

Louise Michel

Europe

Le Peletier Cadet Pereire

Brochant Mairie de Clichy

Garibaldi Mairie de St-Ouen

Carrefour Pleyel

Simplon

Bérault Richard

Lenoir Goncourt

Bréguet Sabin Rambuteau La Plaine Stade de France

Madeleine Gabriel Péri

Bibliothèque Fr. Mitterrand Les Agnettes

Porte de Clignancourt

Gare de l’Est

Garede Lyon St-Denis–Université

Porte de la Chapelle

La Courneuve 8 Mai 1945

Bobigny Pablo Picasso

Pré St-Gervais

Mairie des Lilas

Mairie de Montreuil Gallieni Louis

Blanc

Porte des Lilas

Gambetta Gare du Nord

Charles de Gaulle Étoile Pont de Levallois

Bécon

Porte Dauphine La Défense

Boulogne Pont de St-Cloud

Châtelet

Gared’Austerlitz Nation

Château de Vincennes

Créteil–Préfecture Mairie d’Ivry

Place d’Italie

Villejuif Louis Aragon Mairie d’Issy

Châtillon–Montrouge Pont

de Sèvres Issy Val de Seine

Gare St-Lazare

Gare Montparnasse

Haussmann St-Lazare

Porte d’Orléans Balard

Pontdu Garigliano

St-Lazare Asnières–Gennevilliers

Les Courtilles CDG

Grande Arche

Orly

Paris

www.ratp.fr

MR

Propriété de la RATP - Agence Cartographique - PMI 04-2008- BO Design: bdcconseil - Reproduction interdite

(6)

Trouver un chemin optimal

Comment aller de Paris `a Morlaix ?

• en minimisant la distance ?

• en minimisant la dur´ee ?

• en minimisant le coˆut ?

• . . .

Calculs de plus courts chemins dans un graphe !

(7)

Le probl`eme de la ville embourb´ee

Probl` eme : Paver suffisamment de rues pour que tous les

habitants puissent se rendre n’importe o`u les pieds au

sec. . . mais en utilisant le moins de pav´es possible. novembre 29, 2010_4.pdf - Page 2

(8)

Le probl`eme des bandits

Probl` eme : Des bandits veulent visiter toutes les villes d’une

r´egion sans jamais repasser par une ville. novembre 29, 2010_2.pdf - Page 4

(9)

Le probl`eme de la goudronneuse

Probl` eme : On veut faire passer une goudronneuse une et une seule fois par chaque rue.

(on s’autorise `a repasser aux croisements. . . ) novembre 29, 2010_2.pdf - Page 5

(10)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(11)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(12)

Les graphes

G = (S, A) :

• S est un ensemble fini de sommets.

• A est un ensemble fini d’arˆetes (ou arcs, ou transitions. . . ).

On va consid´erer des graphes orient´es ou non-orient´es, et parfois valu´es.

novembre 29, 2010_3.pdf - Page 6

(13)

Les graphes

G = (S, A) :

• S est un ensemble fini de sommets.

• A est un ensemble fini d’arˆetes (ou arcs, ou transitions. . . ).

On va consid´erer des graphes orient´es ou non-orient´es, et

parfois valu´es. novembre 29, 2010_3.pdf - Page 7

(14)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(15)

Comment sortir ?

novembre 29, 2010_1.pdf - Page 3

(16)

Quel algorithme ?

Quel est le probl`eme ?

Longer le mur sur la gauche ?

Utiliser un fil d’Ariane ?

(17)

Quel algorithme ?

Quel est le probl`eme ?

Longer le mur sur la gauche ?

Utiliser un fil d’Ariane ?

(18)

Quel algorithme ?

Quel est le probl`eme ?

Longer le mur sur la gauche ?

Utiliser un fil d’Ariane ?

(19)

Exemple

novembre 30, 2010_4.pdf - Page 6

(20)

Parcourir sans boucler

Commencer par la premi`ere 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 marqu´ ee, l’explorer en

recommen¸ cant au point 1

(21)

Du labyrinthe au graphe

novembre 29, 2010_6.pdf - Page 8

(22)

Parcours depuis une origine

Initialisation : Couleur[r] ← blanc et Π[r ] ← nil ∀r ∈ S.

Puis appel de PP-Visiter(G , q init ) : PP-Visiter(G , q)

begin

Couleur[q] ← noir;

pour chaque (q, q 0 ) ∈ A faire si Couleur[q 0 ] = blanc alors

Π[q 0 ] ← q;

PP-Visiter(G , q 0 );

end

(variante simplifi´ee du parcours en profondeur)

(23)

Recherche d’un chemin de q init `a q F

Initialisation : Couleur[r] ← blanc et Π[r ] ← nil ∀r ∈ S.

Puis appel de Chemin(G , q init , q S ) : Chemin(G , q, q S )

begin

si q = q S alors retourner Vrai;

Couleur[q] ← noir;

pour chaque (q, q 0 ) ∈ A faire si Couleur[q 0 ] = blanc alors

Π[q 0 ] ← q;

trouve ← Chemin(G , u);

si trouve = Vrai alors retourner Vrai retourner Faux

end

(24)

Parcours en profondeur

Algorithme important !

A la base des algorithmes de recherche des composantes fortement connexes (par ex. algorithme de Tarjan) et de tri topologique.

Algorithme de type “backtracking”.

Un autre parcours classique est le parcours en largeur.

(25)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(26)

Le probl`eme de la ville embourb´ee

Probl` eme : Paver suffisamment de rues pour que tous les habitants puissent se rendre n’importe o`u les pieds au sec. . . mais en utilisant le moins de pav´es possible. novembre 29, 2010_4.pdf - Page 2

NB : graphe non-orient´e, valu´e et connexe.

(27)

Algorithme 1

1 S = ∅

2 On trie les arˆetes par poids croissant.

3 Pour chaque arˆete (x , y ) :

Si (x , y ) ne cr´ee pas de cycle,

alors on l’ajoute `a S

S est une solution !

(28)

Algorithme 2

1 S = ∅

2 On choisit un sommet de d´epart s.

3 On ajoute `a S une arˆete (s, x ) de poids minimal,

4 On ajoute `a S une arˆete (q, q 0 ) reliant un sommet isol´e `a l’arbre en construction et de poids minimal,

5 recommencer le point 4 jusqu’`a la connection de tous les sommets.

S est une solution !

(29)

Exemple Exemple d’ACM

q 0 q 1 q 2

q 3 q 4 q 5

q 6

2

2 2 4

1 3 2

2 1 8

5

(30)

Arbres couvrants minimaux

Plus formellement. . .

G = (S, A, w) : non-orient´e, connexe et valu´e (w : A → R ).

D´ efinitions :

• un arbre couvrant de G est un graphe T = (S , A 0 ) avec A 0 ⊆ A, connexe et acyclique.

• un arbre couvrant T = (S, A 0 ) est dit minimal lorsque : w (A 0 ) = min{w (A 00 ) | T 0 = (G , A 00 ) est un AC de G } avec w(A) def = P

(x,y)∈A w (x , y ) Propri´ et´ e :Existence d’un ACM

Tout graphe non-orient´e, valu´e et connexe admet un ou

plusieurs ACM.

(31)

Construire des ACM

Algorithme 1 : algorithme de Kruskal.

Algorithme 2 : algorithme de Prim.

Des algorithmes tr`es efficaces : en O (|A| · log(|A|)) et O(|A| · log(|S|)).

(mais le choix des structures de donn´ees est important).

(32)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(33)

Trouver un chemin optimal

Comment aller de Chevaleret `a Porte de Bagnolet ?

Funiculaire de Montmartre

Orlyval tarification spéciale Stade de France

St-Denis St-Denis–Porte de Paris Basilique de St-Denis

Porte de St-Ouen

Lamarck Caulaincourt

Jules Joffrin GuyMôquet

Porte de Clichy

Châtelet Les Halles

Stalingrad Marcadet

Poissonniers

Hôtel de Ville Arts et Métiers Château Rouge

Strasbourg St-Denis

St-Mandé Hoche Marx

Dormoy La Courneuve

Aubervilliers Le Bourget

Jaurès

Place des Fêtes

Belleville Jourdain Télégraphe

Ourcq Porte de Pantin

Jacques Bonsergent

Saint-Fargeau

Pelleport Porte de Bagnolet Danube

Botzaris Buttes Chaumont

République Parmentier

Sèvres Babylone

Richelieu Drouot

Palais Royal Musée du Louvre

Réaumur Sébastopol

Raspail Pyramides

Montparnasse Bienvenüe

Mabillon Cluny La Sorbonne

Malakoff Rue Étienne Dolet

Chaussée d’Antin La Fayette

Bonne Nouvelle Grands Boulevards Bourse Sentier

Barbès Rochechouart La

Chapelle Pigalle

Poissonnière Liège

Notre-Dame de-Lorette St-Georges Abbesses

Anvers La Fourche

Place de Clichy

Pereire–Levallois Blanche

Villiers

Opéra Auber Havre Caumartin

Trinité d’Estienne d'Orves

Franklin D. Roosevelt Neuilly–Porte Maillot

Avenue Foch

Bir-Hakeim Invalides

Pasteur Pont

de l’Alma

Javel André Citroën Javel

Michel-Ange Molitor

La Muette

Michel-Ange Auteuil

Boulainvilliers Champ de Mars

Tour Eiffel Champs

Élysées Clemenceau Trocadéro Avenue

Henri Martin

Avenue du Pdt Kennedy

Commerce

Félix Faure Rue

de la Pompe Iéna

Ranelagh

Jasmin

Exelmans Chardon Lagache Église d’Auteuil

Duroc La Motte Picquet Grenelle

Assemblée Nationale

Varenne

St-Michel Notre-Dame Solférino

Musée d’Orsay

Concorde Les Halles

Jussieu Odéon Étienne Marcel

Vavin St-Germain

des-Prés

St-Sulpice

St-Placide

Place Monge Pont Neuf

Tuileries

Notre-Dame des-Champs Luxembourg

Port-Royal Louvre Rivoli

St-Michel

Bastille

Daumesnil Reuilly–Diderot

Père Lachaise Oberkampf

Quai de la Rapée

Saint

Marcel Bercy

Filles du Calvaire

Chemin Vert St-Sébastien Froissart

des BouletsRue Charonne

Sèvres Lecourbe Cambronne

Pont Marie Sully Morland

Philippe Auguste Alexandre Dumas Avron Voltaire Quatre Septembre

St-Ambroise Rue St-Maur

Pte de Vincennes Maraîchers Porte

de Montreuil Robespierre Croix de Chavaux

Buzenval Pyrénées

Laumière

Château d’Eau

Porte Dorée Porte de Charenton

Ivrysur-Seine Porte

de Choisy Porte d’Italie Porte d’Ivry

Olympiades

Créteil–Université Créteil–L’Échat Maisons-Alfort Les Juilliottes Maisons-Alfort–Stade Denfert

Rochereau

Maison Blanche Censier Daubenton

Tolbiac

Le Kremlin BicêtreVillejuif

Léo Lagrange Villejuif Paul Vaillant-Couturier Glacière

Corvisart Nationale

Chevaleret

CitéUniversitaire

Gentilly

Antony Malakoff

Plateau de Vanves Mouton Duvernet Gaîté

Edgar Quinet

Bd Victor

Issy Porte de St-Cloud

Pantin

Magenta

Vitry sur-Seine Saint-Ouen

Ledru-Rollin Ménilmontant Couronnes Colonel Fabien

Montgallet

Michel Bizot

Charenton–Écoles Liberté Faidherbe Chaligny

École Vétérinaire de Maisons-Alfort St-Paul

Maubert Mutualité Cardinal Lemoine

Temple Château Landon

Bolivar Église de Pantin

Bobigny–Pantin R. Queneau

Riquet Crimée

Corentin Cariou Porte de la Villette Aubervilliers–Pantin

Quatre Chemins Fort d’Aubervilliers

Les Gobelins Campo

Formio Quai

de la Gare Cour St-Émilion

Pierre et Marie Curie

Dugommier Bel-Air

Picpus

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 Rue du Bac

Rennes Saint François Xavier

Vaneau École Militaire La Tour Maubourg

Avenue Émile Zola

Charles Michels Mirabeau Porte d’Auteuil

Boulogne Jean Jaurès

Billancourt Marcel Sembat

Cité MarceauAlma

Boissière Kléber

George V Argentine

Victor Hugo Les Sablons

Porte Maillot Pont de Neuilly Esplanade de La Défense

St-Philippe du-Roule Miromesnil

St-Augustin Courcelles Ternes

Monceau Malesherbes Rome

Wagram Porte de Champerret Anatole France

Louise Michel

Europe

Le Peletier Cadet Pereire

Brochant Mairie de Clichy

Garibaldi Mairie de St-Ouen

Carrefour Pleyel

Simplon

Bérault Richard

Lenoir Goncourt

Bréguet Sabin Rambuteau La Plaine Stade de France

Madeleine Gabriel Péri

Bibliothèque Fr. Mitterrand Les Agnettes

Porte de Clignancourt

Gare de l’Est

Garede Lyon St-Denis–Université

Porte de la Chapelle

La Courneuve 8 Mai 1945

Bobigny Pablo Picasso

Pré St-Gervais

Mairie des Lilas

Mairie de Montreuil Gallieni Louis

Blanc

Porte des Lilas

Gambetta Gare du Nord

Charles de Gaulle Étoile Pont de Levallois

Bécon

Porte Dauphine La Défense

Boulogne Pont de St-Cloud

Châtelet

Gared’Austerlitz Nation

Château de Vincennes

Créteil–Préfecture Mairie d’Ivry

Place d’Italie

Villejuif Louis Aragon Mairie d’Issy

Châtillon–Montrouge Pont

de Sèvres Issy Val de Seine

Gare St-Lazare

Gare Montparnasse

Haussmann St-Lazare

Porte d’Orléans Balard

Pontdu Garigliano

St-Lazare Asnières–Gennevilliers

Les Courtilles CDG

Grande Arche

Orly

Paris

www.ratp.fr

MR

Propriété de la RATP - Agence Cartographique - PMI 04-2008- BO Design: bdcconseil - Reproduction interdite

(34)

Plus courts chemins

Objectif : Etant donn´e un graphe orient´e et valu´e, et un sommet s, on veut trouver :

• la distance minimale s´eparant s de chaque sommet, et

• des plus courts chemins reliant s aux autres sommets.

(35)

Plus courts chemins

Objectif : Etant donn´e un graphe orient´e et valu´e, et un sommet s, on veut trouver :

• la distance minimale s´eparant s de chaque sommet, et

• des plus courts chemins reliant s aux autres sommets.

Arborescence des PCC

s = q 0 q 1 q 2

q 3 q 4 q 5

q 6

2

22 2

5

8 1 3 2

2 1 8

5

(36)

Plus courts chemins

Objectif : Etant donn´e un graphe orient´e et valu´e, et un sommet s, on veut trouver :

• la distance minimale s´eparant s de chaque sommet, et

• des plus courts chemins reliant s novembre 30, 2010_1.pdf - Page 10 aux autres sommets.

(37)

Exemple

novembre 30, 2010_2.pdf - Page 10

(38)

L’algorithme de Dijkstra

G = (S, A, w) : orient´e et valu´e (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-mˆeme est 0 : δ(s) = 0 C’est la racine de l’arbre.

2 Trouver un sommet s 0 situ´e `a une arˆete de l’arbre en construction et le plus proche possible de s.

3 Marquer l’arˆete (x , d , s 0 ) qui a permis de trouver s 0

4 La distance s´eparant s et s 0 est : δ(x ) + d.

5 Recommencer au point 2 tant qu’il reste des sommets

atteignables. . .

(39)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(40)

Le probl`eme des bandits

Probl` eme : Des bandits veulent visiter toutes les villes d’une

r´egion sans jamais repasser par une ville. novembre 29, 2010_2.pdf - Page 4

(41)

Aie !

On ne connaˆıt pas d’algorithme efficace pour ce probl`eme. . . C’est un probl`eme NP-complet !

La recherche de chemin Hamiltonien.

(42)

Le probl`eme des bandits

novembre 30, 2010_3.pdf - Page 4

(43)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(44)

Le probl`eme de la goudronneuse

Probl` eme : On veut faire passer une goudronneuse une et une seule fois par chaque rue.

(on s’autorise `a repasser aux croisements. . . ) novembre 29, 2010_2.pdf - Page 5

(45)

Chemin Eul´erien. . .

Tr`es facile !

(46)

Plan

1 Cinq probl`emes. . .

2 Les graphes

3 Des algorithmes Parcours

Arbres couvrants minimaux Plus courts chemins

Chemins Hamiltoniens Chemins Eul´eriens

4 Repr´esentation des graphes

(47)

Repr´esentation des graphes - 1

Par liste d’adjacence :

novembre 30, 2010_4.pdf - Page 5

(48)

Repr´esentation des graphes - 1

Par matrice d’adjacence :

0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0

(49)

Graphes valu´es

G = (S, A) + w : A → R .

La fonction w associe un poids, une distance, etc. `a chaque arc ou arˆete de G .

(La fonction w s’´etend naturellement `a tout chemin (fini) de G en sommant le poids de chaque arc/arˆete.)

Les deux repr´esentations pr´ec´edentes s’´etendent facilement

aux graphes valu´es.

(50)

Repr´esentation 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

Références

Documents relatifs

La i -i`eme phase de fabrication peut introduire des d´efauts dans chaque objet avec la probabilit´e α i. On veut qu’` a la fin tous les objets soient

Dans un r´eseau sans circuit on peut trouver un plus long chemin aussi, en rempla¸cant min par max ` a

Soit (G , c ) le r´eseau potentiel-tˆ aches d’un probl`eme

Donner un r´eseau sans circuit absorbant avec une racine s pour lequel l’algorithme de Dijkstra ne trouve pas les chemins de coˆ ut minimum issus de s...

Nous présentons ensuite les résultats d'une étude comparant des implémentations efficaces sur PC, appliquées à des graphes de grande taille modélisant des réseaux routiers. Sur

Résumé. — L'application de concepts flous {sous-ensemble flou, fonction de variables floues, graphes flous) à des problèmes de plus courts chemins où les données ne sont connues

Pour tous les algorithmes, nous recherchons les plus courts chemins d'un certain nombre d'origines (ou de destinations) à tous les autres nœuds du graphe (ou à partir de tous les

Ce graphe est représenté par une matrice N lignes-N colonnes dans laquelle la valeur 1 placée en ligne i et colonne j indique l'existence d'un arc permettant de passer du point i