• Aucun résultat trouvé

Recherche Op´erationnelle 1A Th´eorie des graphes Plus courts chemins

N/A
N/A
Protected

Academic year: 2022

Partager "Recherche Op´erationnelle 1A Th´eorie des graphes Plus courts chemins"

Copied!
17
0
0

Texte intégral

(1)

Th´eorie des graphes Plus courts chemins

Zolt´an Szigeti

Ensimag, G-SCOP

(2)

EXO 5.1

Enonc´e´

Dans un r´eseau soient P un plus court (s,p)-chemin et x,y ∈V(P).

Alors le sous-chemin P[x,y] est un plus court (x,y)-chemin.

(3)

Enonc´e´

Dans un r´eseau soient P un plus court (s,p)-chemin et x,y ∈V(P).

Alors le sous-chemin P[x,y] est un plus court (x,y)-chemin.

Solution

1 Soit Q un plus court (x,y)-chemin, donc c(Q)≤c(P[x,y]).

2 R :=P[s,x] +Q+P[y,p] est un (s,p)-chemin.

3 Puisque P est un plus court (s,p)-chemin,

c(P)≤c(R) =c(P)−c(P[x,y]) +c(Q) d’o`u c(P[x,y])≤c(Q).

4 Doncc(P[x,y]) =c(Q),

5 c’est-`a-direP[x,y] est un plus court (x,y)-chemin.

(4)

EXO 5.2

Enonc´e´

Donner (a) les plus courtschemins issus du sommets, et puis (b) les plus longs chemins, dans le r´eseau suivant.

s

1

2

3

4

5 6

s

q

1

3

2 -2

1

4

1

1

3 3 9 4

(5)

s 1

2

3

4

5 6

s

q

1

3 2 -2

1 4

1 1

3 3 9 4

v1

0

v1

0 v2 1

v1

0 v2 1

v3 2 ℓ(v2) = min{0 + 1}= 1

ℓ(v3) = min{1 + 1,0 + 3}= 2

v1

0 v2 1

v3 2

ℓ(v4) = min{1 + 2}= 3 v43

v1

0 v2 1

v3 2

v43

v5 ℓ(v5) = min{2 + 1}= 3

3

v1

0 v2 1

v3 2

v43

v53 v6

-1

ℓ(v6) = min{3 + 3,2 + 4,

v1

v2 1

v3 2

v43

v53 v6

-1

12,3 + 1}=−1

v7 0

ℓ(v7) = min{3 + 3,−1 + 9,3 + 4}= 6 6

(6)

EXO 5.2(b)

s 1

2

3

4

5 6

s

q

1

3 2 -2

1 4

1 1

3 3 9 4

❄ ✲

v1

0

❄ ✲

v1

0 1v2

❄ ✲

v1

0 1v2

v3 3 ℓ(v2) = max{0 + 1}= 1

ℓ(v3) = max{1 + 1,0 + 3}= 3

❄ ✲

v1

0 1v2

v3 3

v43 ℓ(v2) = max{1 + 2}= 3

❄ ✲

v1

0 1v2

v3 3

v43

v54 ℓ(v5) = max{3 + 1}= 4

❄ ✲

v1

0 1v2

v3 3

v43

v54 ℓ(v6) = max{3 + 1,12,

v6 7

3 + 4,4 + 3}= 7

v1

0 1v2

v3 3

v43

v54 ℓ(v7) = max{3 + 3,7 + 9,4 + 4}= 16

v6 7 v7

16

(7)

Enonc´e´

En appliquant l’algorithme de Dijkstra, donner les plus courts chemins issus du sommet s, dans le r´eseau suivant.

s ❄

3 s

1

2

3

4

5 2

8

1

5

1 2

1

4

1

(8)

EXO 5.3

s ❄

3 s

1

2

3

4 5 2

8 1

5

1 2

1 4

1

0

0 2

8

2

0

3

7

0

2 3

5 7

4 0

2 3

4

5 7

0

2 3

4

5 6

0

2 3

5

4 6

(9)

Enonc´e´

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.

(10)

EXO 5.4

Enonc´e´

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.

Solution

Soit (G,c) le r´eseau ci-dessous. Alors l’algorithme de Dijkstra trouve le chemin sb pourb mais le chemin sabest plus court.

s

a

b

1 2

−2

(11)

Enonc´e´

Soit (G,c) un r´eseau sans circuit absorbant et soits une racine deG. Soit wk(v) le coˆut minimum d’un (s,v)-chemin de longueur ≤k. Montrer que

(a) wk+1(v)≤wk(v) pour chaque sommet v.

(b) wk+1(v)≤c(uv) +wk(u) pour chaque uv ∈A(G).

(c) wk+1(v) = min{wk(v),c(uv) +wk(u) :uv ∈A(G)}.

(d) wn(v) =wn1(v) pour chaque sommet v o`u n=|V(G)|.

(12)

EXO 5.5

Solution

Soit Wk(v) l’ensemble de chemins de s `a v de longueur≤k.

Alors wk(v) = min{c(P) :P ∈ Wk(v)}.

(a) Soit v ∈V(G).Si P ∈ Wk(v) tel quec(P) =wk(v) alors P ∈ Wk+1(v) doncwk+1(v)≤c(P) =wk(v).

(b) Soit uv ∈A(G).SiP ∈ Wk(u) tel quec(P) =wk(u) alors P +uv ∈ Wk+1(v) donc

wk+1(v)≤c(P +uv) =c(P) +c(uv) =wk(u) +c(uv).

(13)

Solution de (c)

1 Par (a) et (b),wk+1(v)≤min{wk(v),c(uv) +wk(u) :uv ∈A(G)}.

1 SoitP∈ Wk+1(v) tel quec(P) =wk+1(v).

2 SiP∈ Wk(v) alorswk(v)c(P) =wk+1(v).

3 SinonPest de longueurk+ 11.

4 Soientuv le dernier arc dePetP :=P[s,u].

5 P est un (s,u)-chemin de longueurk c’est-`a-direP ∈ Wk(u).

6 Alorswk(u)c(P) =c(P)c(uv) =wk+1(v)c(uv).

7 D’o`uwk(u) +c(uv)wk+1(v).

2 Doncwk+1(v)≥min{wk(v),c(uv) +wk(u) :uv ∈A(G)}.

3 Les in´egalit´es (1) et (2) impliquent (c).

(14)

EXO 5.5

Solution de (d)

1 Soit P ∈ Wn(v) tel quec(P) =wn(v) et tel que |A(P)|soit minimum.

2 Alors P est un chemin ´el´ementaire.

1 Sinon il existe un sommetxV(G) qui est utilis´e plusieurs fois parP tel qu’aucun sommet deP[x,x] n’est utilis´e plusieurs fois parP[x,x].

2 En enlevant deP le sous-cheminP[x,x] (qui est un circuitC tel que c(C)0 et|A(C)|>0) on obtient un (s,v)-cheminP tel que

3 c(P)c(P) =c(P)c(C)c(P),

4 doncc(P) =c(P) et que|A(P)|<|A(P)| (contradiction).

3 Donc|A(P)| ≤n−1 c’est-`a-dire P ∈ Wn−1(v),

4 d’o`u wn1(v)≤c(P) =wn(v).

5 D’apr`es (a) wn(v)≤wn1(v) donc on awn(v) =wn1(v).

(15)

Enonc´e´

Trouver les distances du sommets s aux autres sommets dans le r´eseau suivant en utilisant l’algorithme de Bellman-Ford (l’Exercice 5.5).

s -3

2 2

2 1 4 1

2

3

(16)

EXO 5.6

Solution

wk+1(v) = min{wk(v),c(uv) +wk(u) :uv ∈A(G)}.

s -3

2 2

2 1 4 1

2

3

0 1 2 3 4

s 0 0 0 0 0

1 ∞ 4 3 3 3

2 ∞ 1 1 1 1

3 ∞ 2 1 0 0

(17)

Solution

wk+1(v) = min{wk(v),c(uv) +wk(u) :uv ∈A(G)}.

s -3

2 2

2 1 4 1

2

3

0 1 2 3 4

s 0 0 0 0 0

1 ∞ 4 3 3 3

2 ∞ 1 1 1 1

3 ∞ 2 1 0 0

Références

Documents relatifs

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

en r´ep´etant le jeu, on ne ferait pas toujours la mˆeme chose, sinon, l’autre joueur changerait ´eventuellement sa strat´egie et gagnerait tout le temps. On verra en TD comment

— Donner un réseau sans circuit absorbant avec une racine s pour lequel l’algorithme de Dijkstra ne trouve pas les chemins de coût minimum issus de s..

2 On doit connecter directement les PC aux imprimantes de sorte que les utilisateurs de 9 PC quelconques (parmi les 15) puissent utiliser les 9 imprimantes simultan´ement. 3 On

2 Les r´ecipients ne sont pas gradu´es, c’est-` a-dire qu’une op´eration de transvasement aura pour effet de vider compl`etement un des r´ecipients et/ou d’en remplir un autre `

Si G est un arbre ayant au moins deux sommets, alors G admet au moins deux sommets de degr´e

Trouver un couplage de cardinal maximum et un transversal de cardinal minimum dans le graphe biparti suivant

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