• Aucun résultat trouvé

Optimisation Combinatoire 2A Algorithmes d’Edmonds TD

N/A
N/A
Protected

Academic year: 2022

Partager "Optimisation Combinatoire 2A Algorithmes d’Edmonds TD"

Copied!
74
0
0

Texte intégral

(1)

Optimisation Combinatoire 2A Algorithmes d’Edmonds TD

Zolt´an Szigeti

Ensimag Grenoble INP

Z. Szigeti (Ensimag) OC 2A 1 / 18

(2)

Couplages dans les graphes g´en´eraux

Th´eor`eme de Tutte

G admet un couplage parfait⇐⇒

co(G −X)≤ |X| ∀X ⊆V(G).

Probl`eme

Trouver un couplage parfait.

Th´eor`eme de Berge

Un couplageM de G est de cardinal maximum⇐⇒

il n’existe pas de chaˆıne M-augmentante.

Id´ee 1

1 Trouver une chaˆıne augmentante.

r a

b c

f d e

g h

i j

k

r a

b c

f d e

g h

i j

k

f e

i j

k

(3)

Arbres altern´es

D´efinition : ´Etant donn´es un grapheG et un couplageM de G,

1 arbreM-altern´e:

1 un arbreF dansG,

2 un sommetrF deF estM-insatur´e (rF est la racinede F),

3 dansF,chaque sommet de la distance impaire derF est de degr´e2,

4 chaque(rF,v)-chaˆıne ´el´ementaire unique dansF estM-altern´ee.

2 sommet impair/pair: v∈V(F) tel quedistF(rF,v) estimpairs/pairs.

3 AF et DF : L’ensemble des sommetsimpairs/pairs deF.

Remarque

|DF|=|AF|+ 1 :

1 F −rF poss`ede un couplage parfait reliant chaque fois un sommet de AF `a un sommet de DF,

2 rF est dansDF. F rF

M

AF

DF

Z. Szigeti (Ensimag) OC 2A 2 / 18

(4)

Fleurs

Exemple

l’id´ee de construire un arbre altern´e n’est pas suffisante.

r

u v

w

D´efinition : ´Etant donn´e un arbre M-altern´eF fleur : le cycle impair unique C deF +uv o`u u et v sont deux sommets pairs deF.

Id´ee 2 d’Edmonds Contracter la fleur !

1 On aura lespseudo-sommets wC !

rF

F M

AF

DF

u v

C

wC

(5)

D´econtraction d’une fleur

Lemme

Pour tout cycle impair C et pour toutz ∈V(C),

C −z poss`ede un couplage parfait. z

C

D´efinition

D´econtraction d’une fleur : wC est remplac´e par le cycle impairC.

Lemme

Quand on d´econtracte une fleur, on peut ´etendre le couplage tel que le nombre de sommets insatur´es n’augmente pas.

z

C e

e wC

quandwCest satur´e rF

C wC

quandwCest insatur´e

Z. Szigeti (Ensimag) OC 2A 4 / 18

(6)

Algorithme de couplage parfait d’Edmonds

Entr´ee : G = (V,E) un graphe.

Sortie :Couplage parfait M ouX ⊂V qui viole la condition de Tutte.

Etape 0. Initialisation.

M :=∅,G :=G. Etape 1. Condition 1 d’arrˆet.

Si tous les sommets de G sontM-satur´es alors arrˆeter avec M.

Etape 2. Commencement de la construction d’un arbre altern´e.

r := un sommet M-insatur´e,F := (r,∅).

Etape 3. Condition 2 d’arrˆet.

Si chaque arˆete de G sortant d’un sommet deDF entre dans un sommet de AF alors arrˆeter avecX :=AF.

(7)

Algorithme de couplage parfait d’Edmonds

Etape 4. Choix de l’arˆete uv.

uv :=une arˆete de G telle que u ∈ DF etv ∈/ AF. Etape 5. Augmentation de l’arbre altern´e.

Si v ∈/V(F)et il existe vw ∈M alors faire F :=F +uv+vw,

Aller `a l’Etape 3.

Etape 6. Contraction d’une fleur.

Si v est dansF alors faire

C := le cycle unique dansF +uv, M :=M/C,G :=G/C,F :=F/C, Aller `a l’Etape 3.

rF F M

AF DF

u v

C

−→ F/CrF/C

M/C

AF/C DF/C wC

Z. Szigeti (Ensimag) OC 2A 6 / 18

(8)

Algorithme de couplage parfait d’Edmonds

Etape 7. Augmentation du couplage.

Si v n’est pas dansF et v est M-insatur´e alors faire Construction d’une chaˆıne M-augmentante.

P :=F[rF,u] +uv.

Augmentation du couplage dans le graphe contract´e.

M := (M\E(P))∪(E(P)\M).

D´econtraction des fleurs contract´ees en ordre inverse.

Si les fleurs contract´ees sontC0, . . . ,Cj1 alors Tant quej 6= 0 faire

e := l’arˆete du couplage M incidente `a wCj

1, G :=G÷Cj1 (d´econtraction de Cj1), z :=le sommet deC qui est incident `ae,

rF F

uk vk

Mi Pi

(9)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(10)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

(11)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(12)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

(13)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(14)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

(15)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(16)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

(17)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(18)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

C

0

(19)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(20)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

(21)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(22)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

(23)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(24)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

(25)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(26)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

(27)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k C

1

Z. Szigeti (Ensimag) OC 2A 8 / 18

(28)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f

w

C1

k

(29)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f

w

C1

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(30)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f

w

C1

k

(31)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f

w

C1

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(32)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f

w

C1

k

e

1

(33)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i = z

1

j k e

1

C

1

Z. Szigeti (Ensimag) OC 2A 8 / 18

(34)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i = z

1

j k e

1

C

1

(35)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(36)

Ex´ecution de l’algorithme de couplage parfait

w

C0

f e

g h

i j

k

e

0

(37)

Ex´ecution de l’algorithme de couplage parfait

C

0

r z

0

b

c

f d e

g h

i j

k e

0

Z. Szigeti (Ensimag) OC 2A 8 / 18

(38)

Ex´ecution de l’algorithme de couplage parfait

C

0

r z

0

b

c

f d e

g h

i j

k

e

0

(39)

Ex´ecution de l’algorithme de couplage parfait

r a

b

c

f d e

g h

i j

k

Z. Szigeti (Ensimag) OC 2A 8 / 18

(40)

Ex´ecution de l’algorithme de couplage parfait

r a

b c

f de

g h

i j

k

r a

b c

f de

g h

i j

k

r a

b c

f de

g h

i j

k

r a

b c

f de

g h

i j

k

r a

b c

f de

g h

i j

k C0

wC0

f e

g h

i j

k

wC0

f e

g h

i j

k

wC0

f e

g h

i j

k

wC0

f e

g h

i j

k

wC0

f e

g h

i j

kC1

wC0

f wC1

k

wC0

f wC1

k e1

(41)

Algorithme de couplage de cardinal maximum d’Edmonds

Entr´ee : G = (V,E) un graphe.

Sortie :Un couplage deG de cardinal maximum.

Etape 1. Construction des arbres altern´es.

Tant qu’il existe un sommet insatur´e faire

Ex´ecuter l’algorithme de couplage parfait avec la modification suivante :

avant s’arrˆeter `a l’Etape 3 effacer les sommets de l’arbre altern´e.

Etape 2. D´econtraction des fleurs contract´ees en ordre inverse.

Comme dans l’algorithme de couplage parfait en ajoutant que siwCj1=rFk alors zj1 :=rFk

1. Etape 3. Arrˆeter.

z

C e

e wC

quandwCest satur´e rF

C wC

quandwCest insatur´e

Z. Szigeti (Ensimag) OC 2A 10 / 18

(42)

Justification de l’algorithme de couplage de cardinal max.

Structure

Quand l’algorithme s’arrˆete on at arbres altern´esF1, . . . ,Ft qui sont sommets disjoints et un couplage parfaitM du reste du graphe.

Chaque sommet deDi correspond `a un graphe connexe impairdansG. ChaqueFi correspond `a un grapheGi dansG.

At Dt A1

D1

A1 At

(43)

Justification de l’algorithme de couplage de cardinal max.

Th´eor`eme

1 Gi poss`ede un couplageMi avec un seul sommetMi-insatur´e dansGi.

2 co(G−X)− |X|=t o`u X =St i=1AFi.

3 M =M∪St

i=1Mi est un couplage de cardinal maximum deG.

4 L’algorithme s’arrˆete en temps polynomial.

5 Cet algorithme implique la Formule de Berge-Tutte.

r1

G1

A1 At

rt

Gt

M

M1 Mt

X

Z. Szigeti (Ensimag) OC 2A 12 / 18

(44)

Ex´ecution de l’algorithme d’Edmonds

(45)

Ex´ecution de l’algorithme d’Edmonds

Z. Szigeti (Ensimag) OC 2A 13 / 18

(46)

Ex´ecution de l’algorithme d’Edmonds

(47)

Ex´ecution de l’algorithme d’Edmonds

Z. Szigeti (Ensimag) OC 2A 13 / 18

(48)

Ex´ecution de l’algorithme d’Edmonds

(49)

Ex´ecution de l’algorithme d’Edmonds

Z. Szigeti (Ensimag) OC 2A 13 / 18

(50)

Ex´ecution de l’algorithme d’Edmonds

(51)

Ex´ecution de l’algorithme d’Edmonds

Z. Szigeti (Ensimag) OC 2A 13 / 18

(52)

Ex´ecution de l’algorithme d’Edmonds

C

0

(53)

Ex´ecution de l’algorithme d’Edmonds

w

C0

Z. Szigeti (Ensimag) OC 2A 13 / 18

(54)

Ex´ecution de l’algorithme d’Edmonds

w

C0

(55)

Ex´ecution de l’algorithme d’Edmonds

w

C0

Z. Szigeti (Ensimag) OC 2A 13 / 18

(56)

Ex´ecution de l’algorithme d’Edmonds

w

C0

(57)

Ex´ecution de l’algorithme d’Edmonds

w

C0

Z. Szigeti (Ensimag) OC 2A 13 / 18

(58)

Ex´ecution de l’algorithme d’Edmonds

w

C0

(59)

Ex´ecution de l’algorithme d’Edmonds

w

C0

C

1

Z. Szigeti (Ensimag) OC 2A 13 / 18

(60)

Ex´ecution de l’algorithme d’Edmonds

w

C0

w

C1

(61)

Ex´ecution de l’algorithme d’Edmonds

w

C0

w

C1

Z. Szigeti (Ensimag) OC 2A 13 / 18

(62)

Ex´ecution de l’algorithme d’Edmonds

w

C0

w

C1

(63)

Ex´ecution de l’algorithme d’Edmonds

w

C0

w

C1

Z. Szigeti (Ensimag) OC 2A 13 / 18

(64)

Ex´ecution de l’algorithme d’Edmonds

w

C1

w

C0

(65)

Ex´ecution de l’algorithme d’Edmonds

w

C1

w

C0

Z. Szigeti (Ensimag) OC 2A 13 / 18

(66)

Ex´ecution de l’algorithme d’Edmonds

w

C1

w

C0

C

2

(67)

Ex´ecution de l’algorithme d’Edmonds

w

C1

w

C0

w

C2

Z. Szigeti (Ensimag) OC 2A 13 / 18

(68)

Ex´ecution de l’algorithme d’Edmonds

w

C1

w

C0

w

C2

(69)

Ex´ecution de l’algorithme d’Edmonds

Z. Szigeti (Ensimag) OC 2A 13 / 18

(70)

Ex´ecution de l’algorithme d’Edmonds

C0

wC0 wC0 wC0

wC0

C1

wC0

wC1

wC0

wC1 wC1

wC0

(71)

Sujets d’exam d’OC

1 Exemple couplage

2 Ex´ecution d’Edmonds-Karp

3 Ex´ecution de Ford-Fulkerson-Dantzig

2012

4 Transformation flot coˆut min.

5 Th´eor`eme sur les couplages

1 Mod´elisation + Ex´ecution de Bellmann

2 Ex´ecution d’Edmonds-Karp

3 Ex´ecution de l’algo circulation

4 Transformation flot coˆut min.

2013

5 Transformation flot coˆut min.

6 Th´eor`eme sur les couplages

Z. Szigeti (Ensimag) OC 2A 15 / 18

(72)

Sujets d’exam d’OC

1 Exemple couplage parfait

2 Ex´ecution d’Edmonds-Karp

3 Mod´elisation avec flots

4 Ex´ecution de l’algo flot coˆut min.

2014

5 Th´eor`eme sur les flots

6 Th´eor`eme sur les couplages

1 Exemple + th´eor`eme sur couplages

2 Ex´ecution de l’algo circulation

3 Ex´ecution de la m´ethode hongroise

2015

(73)

Sujets d’exam d’OC

1 Mod´elisation avec flots

2 Exemple couplage

3 Ex´ecution de l’algo flot coˆut min

4 Ex´ecution de la m´ethode hongroise

2017

5 Th´eor`eme sur les couplages

6 Th´eor`eme sur les flots

1 Ex´ecution de l’algo sur couplages

2 Mod´elisation avec flots

3 Ex´ecution de l’algo circulation

4 Ex´ecution de la m´ethode hongroise

2018

5 Th´eor`eme sur les couplages

6 Transformation flot coˆut min.

Z. Szigeti (Ensimag) OC 2A 17 / 18

(74)

Exercice 6.1

Th´eor`eme de Berge

Un couplage M deG est de cardinal maximum ⇐⇒il n’existe pas de chaˆıne M-augmentante.

D´emonstration de suffisance

1 Supposons que le couplage M n’est pas de cardinal maximum, qu’il existe donc un couplage M tel que|M|>|M|.

2 Comme|M\M|>|M\M|il existe au moins une composante connexe K deG((M\M)∪(M \M))qui contient plus d’arˆetes de M que de M.

Références

Documents relatifs

Etant donn´e un graphe biparti G = (U, V ; E ), le cardinal maximum d’un couplage de G = le cardinal minimum d’un ensemble transversal

Zolt´ an Szigeti. Ensimag

Optimisation Combinatoire 2A Circulations TD. Zolt´

Optimisation Combinatoire 2A Flots de coˆut minimum. Zolt´

2 Il connait bien sˆ ur pour chaque vol toutes les informations, ` a savoir : la ville de d´epart et de destination et l’heure de d´epart et d’arriv´e. 3 Il connait aussi le temps

Reconstruire le ventricule gauche du coeur `a partir de radiographies Pour diagnostiquer une possible maladie de coeur d’un patient, on doit voir la forme 3-dimensionnelle du

Optimisation Combinatoire 2A Flots de coˆut minimum 2 TD. Zolt´

Reconstruire le ventricule gauche du coeur `a partir de radiographies Pour diagnostiquer une possible maladie de coeur d’un patient, on doit voir la forme 3-dimensionnelle du