Vous êtes sur la page 1sur 35

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Distributed Weighted Stable Marriage Problem


Nir Amira, Ran Giladi & Zvi Lotker
Ben-Gurion University Beer-Sheva, Israel

Marie Laveau
Universit Paris Sud

12 fvrier 2015

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Outline
Contexte
Problme du mariage stable
Etat de lart
Modles
Modle panneau daffichage : 1er rsultat
Principes
Exemple
Modle distribu : 2me rsultat
Principes
Exemple
Quelques lemmes
Elements de preuve
Conclusion

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Problme du mariage stable

1962 : Gale et Shapley

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Problme du mariage stable

1962 : Gale et Shapley

A0

B0

A1

B1

A2

B2

Graphe biparti Kn,n

K3,3

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Problme du mariage stable

1962 : Gale et Shapley

A0

B0

A1

B1

A2

B2

Graphe biparti Kn,n


Associer deux deux les
nuds

K3,3

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Problme du mariage stable

1962 : Gale et Shapley

A0

B0

A1

B1

A2

B2

Graphe biparti Kn,n


Associer deux deux les
nuds
En prenant en compte les
prfrences de chaque
lment
K3,3

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Problme du mariage stable

1962 : Gale et Shapley

A0

B0

A1

B1

A2

B2

Graphe biparti Kn,n


Associer deux deux les
nuds
En prenant en compte les
prfrences de chaque
lment
Sans crer dinterblocage

K3,3

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Etat de lart

Variantes du problme avec des solutions


Algorithmes gntiques
Approche parallle et itrative
Etude de la complexit dans un contexte distribu.
Utilisation dans les rseaux (Switch)

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modles

Fonctionnement par tapes

Modle distribu : 2me rsultat

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Modles

Fonctionnement par tapes


Cts In/Out

In0

Out0

In1

Out1

In2

Out2

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Modles

Fonctionnement par tapes


Cts In/Out
Modle de prfrences :
Modle pondr (valeurs
uniques) complet

In0

Out0

4 2

In1

75 3

Out1

8 6

In2

Out2

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Modles

Fonctionnement par tapes


Cts In/Out
Modle de prfrences :
Modle pondr (valeurs
uniques) complet

In0

Out0

4 2

In1

75 3

Out1

8 6

Modles de
communication :
Panneau daffichage
Distribu

In2

Out2

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Principes

Panneau daffichage public Centralis


Reprsentation sous forme de tableau
Nuds In : 1 valeur envoye /tape (la plus haute restante)
Au total : n valeurs/tape
Calcul local du matching

Conclusion

Modle panneau daffichage : 1er rsultat

Contexte

Exemple
1

In0
6

In1

Out0
11

9
10

Out1
15

5 16

In2

Out2

3
12

14

In3

13

Out3

Modle distribu : 2me rsultat

Conclusion

Modle panneau daffichage : 1er rsultat

Contexte

Modle distribu : 2me rsultat

Conclusion

Exemple

In1

Out0

In0

Out0
11

9
10

Out1
15

5 16

In2

Out2

3
12

14

In3

13

Out3

In0
In1
In2
In3

Out1

Out2

Out3

Modle panneau daffichage : 1er rsultat

Contexte

Modle distribu : 2me rsultat

Conclusion

Exemple

In1

Out0

In0

Out0
11

9
10

Out1
15

5 16

In2

Out2

3
12

14

In3

13

Out3

In0
In1
In2
In3

Out1

15
16

Out2

Out3
9
14

Modle panneau daffichage : 1er rsultat

Contexte

Modle distribu : 2me rsultat

Conclusion

Exemple
1

In0
6

In1

Out0
11

9
10

Out1
15

5 16

In2

Out2

3
12

14

In3

13

Out3

In0
In1
In2
In3

Out0
1
11
8
3

Out1
7
10
15
16

Out2
6
5
2
4

Out3
9
14
12
13

Modle panneau daffichage : 1er rsultat

Contexte

Modle distribu : 2me rsultat

Conclusion

Exemple
1

In0
6

In1

Out0
11

9
10

Out2
6
5
2
4

Out3
9
14
12
13

Aprs n tapes, toutes les cartes


sont retournes : chacun peut calculer
localement le matching.

5 16
2

Out2

3
12

14

In3

Out1
7
10
15
16

Out1
15

In2

In0
In1
In2
In3

Out0
1
11
8
3

13

Out3

Modle panneau daffichage : 1er rsultat

Contexte

Modle distribu : 2me rsultat

Conclusion

Exemple
1

In0
6

In1

Out0
11

9
10

Out2
6
5
2
4

Out3
9
14
12
13

Aprs n tapes, toutes les cartes


sont retournes : chacun peut calculer
localement le matching.

5 16
2

Out2

3
12

14

Leur apport :
Preuve de la complexit en O(n)

In3

Out1
7
10
15
16

Out1
15

In2

In0
In1
In2
In3

Out0
1
11
8
3

13

Out3

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Algorithme propos : Principe


Phase 1 : Phase de mouvements

Objectif : envoyer les n2 valeurs n Out ports choisis (IAi )


(1 valeur/In noeud/IAi )
Phase 2 : Phase dinformation
Objectif :
Chaque IA calcul tour tour son matching local et lenvoie au
nuds In qui ont t associs.
Les In nuds retransmettent aux autres IAs ainsi quaux Outs
auxuquels ils ont t associs
Update de sets darrtes : V (t), M(t), F (t).

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Exemple K4,4
In0
In1
In2
In3

In0
In1
In2
In3

Out0
1
11
8
3

Out1
7
10
15
16

IA1
{9,3}
{6,2}
{14,3}
{15,1}
{16,3}

Out2
6
5
2
4

Out3
9
14
12
13

IA2
{6,2}
{6,2}
{10,1}
{8,0}
{4,2}

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Exemple K4,4
In0
In1
In2
In3

In0
In1
In2
In3

Out0
1
11
8
3

Out1
7
10
15
16

IA1
{9,3}
{7,1}
{14,3} {11,0}
{15,1} {12,3}
{16,1} {13,3}

Out2
6
5
2
4

Out3
9
14
12
13

IA2
{6,2}
{1,0}
{10,1} {5,2}
{8,0}
{2,2}
{4,2}
{3,0}

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Exemple K4,4
In0
In1
In2
In3

In0
In1
In2
In3

Out0
1
11
8
3

Out1
7
10
15
16

IA1
{9,3}
{7,1}
{14,3} {11,0}
{15,1} {12,3}
{16,1} {13,3}

Out2
6
5
2
4

Out3
9
14
12
13

IA2
{6,2}
{1,0}
{10,1} {5,2}
{8,0}
{2,2}
{4,2}
{3,0}

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Exemple K4,4
In0
In1
In2
In3

In0
In1
In2
In3

Out0
1
11
8
3

Out1
7
10
15
16

IA1
{9,3}
{7,1}
{14,3} {11,0}
{15,1} {12,3}
{16,1} {13,3}

Out2
6
5
2
4

Out3
9
14
12
13

IA2
{6,2}
{1,0}
{10,1} {5,2}
{8,0}
{2,2}
{4,2}
{3,0}

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Exemple K4,4
In0
In1
In2
In3

In0
In1
In2
In3

Out0
1
11
8
3

Out1
7
10
15
16

IA1
{9,3}
{7,1}
{14,3} {11,0}
{15,1} {12,3}
{16,1} {13,3}

Out2
6
5
2
4

Out3
9
14
12
13

IA2
{6,2} {1,0}
{10,1} {5,2}
{8,0} {2,2}
{4,2}
{3,0}

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Exemple K4,4
In0

Out0
6

In1

Out1

In2

Out2
16

In3

14

Out3

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Algorithme propos : Complexit en temps

Premire phase :

n steps

Deuxime phase : 2 n steps

Complexit totale en temps : O( n)

Conclusion

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Quelques Lemmes
Lemme 1 : Si les poids sont uniques dans un graphe Kn,n , le poids
maximum du graphe biparti sera toujours pris pour le matching
stable M.
Lemme 2 : Si les poids sont uniques dans un graphe Kn,n complet,
il ny a quun seul et unique matching stable M.

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Quelques Lemmes
Lemme 1 : Si les poids sont uniques dans un graphe Kn,n , le poids
maximum du graphe biparti sera toujours pris pour le matching
stable M.
Lemme 2 : Si les poids sont uniques dans un graphe Kn,n complet,
il ny a quun seul et unique matching stable M.
Si lon obtient un matching stable avec ces conditions : cest le
seul et unique.

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Quelques Lemmes
Lemme 1 : Si les poids sont uniques dans un graphe Kn,n , le poids
maximum du graphe biparti sera toujours pris pour le matching
stable M.
Lemme 2 : Si les poids sont uniques dans un graphe Kn,n complet,
il ny a quun seul et unique matching stable M.
Si lon obtient un matching stable avec ces conditions : cest le
seul et unique.
Lemme 3 : Aprs la phase 1, IA1 a au moins
dans M.

n valeur qui seront

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Elements de preuve

Theorem : Cet algorithme IAA gnre un matching stable.


Ides :
Par induction sur le nombre m = |In| ports

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Elements de preuve

Theorem : Cet algorithme IAA gnre un matching stable.


Ides :
Par induction sur le nombre m = |In| ports

m + 1 |M(i 1)| m + 1

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Elements de preuve

Theorem : Cet algorithme IAA gnre un matching stable.


Ides :
Par induction sur le nombre m = |In| ports

m + 1 |M(i 1)| m + 1

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Elements de preuve

Theorem : Cet algorithme IAA gnre un matching stable.


Ides :
Par induction sur le nombre m = |In| ports

m + 1 |M(i 1)| m + 1
3
n

Contexte

Modle panneau daffichage : 1er rsultat

Modle distribu : 2me rsultat

Conclusion

Conclusion
Possible de gnraliser du modle poids celui des listes de
prfrences
Limite infrieur en n-1 steps

Algorithme en O( n)
VOQ switch ?
Dans le futur : enlever les contraintes quon stait pos :
Complexit en temps pour un modle deux cts ?
Et si dans le modle de panneau daffichage, les nuds
peuvent crire plus quune valeur ?
Ici, les ports In et Out cooprent. Et si ctait pas le cas ?