Vous êtes sur la page 1sur 27

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Autour du d des philosophes ner


Quelques questions dalgorithmique distribue e Marie Duot-Kremer
LACL - Universit Paris XII e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Plan de lexpos e

Le d ner des philosophes : prsentation, e preuve de convergence probabiliste, une variante sans quit. e e Un algorithme dexclusion mutuelle : prsentation, e preuve de convergence probabiliste, calcul du temps moyen de convergence. Le d ner des cryptographes

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

D des philosophes [Dij72] - prsentation ner e


N philosophes assis

autour dune table.


Une fourchette

entre chaque paire de voisins.


Pour manger, un

philosophe a besoin de deux fourchettes.


Comment assurer

que les philosphes vont pouvoir manger ?

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Prsentation (2) e

Chaque philosophe passe par les tats suivants : e


Penser (sans interaction avec les autres), essayer de manger, et pour cela attraper une des fourchettes ` sa disposition, a puis lautre et ce dans lordre souhait. e

Progr`s e
Si ` un moment un philosophe a faim, alors un philosphe va a manger un jour, et ce quel que soit lordonnancement

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Lien avec linformatique

Probl`me dallocation de ressources, e topologie en anneau,

q0

q1

q2

...

qN1

chaque processus suit un algorithme, un ordonnancement dcrit dans quel ordre les processus e

agissent.

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Lien avec les mathmatiques e


A chaque tape : e 1. lordonnancement choisit le(s) processus qui va(vont) faire une action 2. puis chaque processus concern fait une action probabiliste. e On a donc un processus de dcision markovien. e Si on xe lordonnancement et si il est sans mmoire : e
on a une cha de Markov ne

Thor`me [BdA95] e e
Pour tout PDM et toute formule de chemins de pCTL, il existe des ordonnancements dterministes et des ordonnancements sans e mmoire qui sont les plus favorables et les plus dfavorables pour e e tout tat s S . e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

D des philosophes - les probl`mes ner e

Ce qui peut arriver :


Interblocage : chaque philosophe tient sa fourchette de

gauche et attend la deuxi`me. e


Ide : obliger les philosophes ` reposer la fourchette au bout e a

dun certain temps si la deuxi`me nest pas libre, e


mais... on peut avoir un cycle inni sans que personne ne

mange :

chaque philosophe prend la fourchette de gauche puis chaque philosophe la repose puis chaque philosophe prend la fourchette de droite etc.

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

D des philosophes - solutions ner

Le serveur : on lui demande la permission avant de prendre

une fourchette.
hierarchie des ressources : on numrote les fourchettes et e

chaque philosophe prend dabord la fourchette avec le plus grand numro. e


Right left dining philosophers : les philosophes sont

numrots et prennent en premier la fourchette de gauche ou e e de droite suivant leur parit. e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Nouvelles contraintes
On cherche un algorithme : totalement distribu, e
chaque philosophe/processus a une connaissance locale du

syst`me e symtrique, e chaque philosophe excute le mme algorithme e e la conguration initiale est symtrique e pas de direnciation entre les fourchettes. e

Les solutions prcdentes ne conviennent plus... e e

Thor`me e e
Il ny a pas dalgorithme dterministe, symtrique et totalement e e distribu qui assure la proprit de progr`s pour le probl`me du e ee e e d ner des philosophes.

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Symtrie e

Probl`me dans ce type dalgorithme : e


la symtrie. e

Solutions pour casser la symtrie : e


numroter les philosophes, e numroter les fourchettes, e avoir un agent qui connait ltat de chaque philosophe, e ... ou introduire des probabilits. e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Lalgorithme de Lehman et Rabin [LR81]


L2 D W 1/2 T H 1/2 W S D E S L1

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Apport des probabilits e

une seule transition probabiliste sut choix de la premi`re fourchette ` prendre e a la symtrie sera rompue avec probabilit 1, e e peu importe la valeur exacte des probabilits, e lalgorithme assure presque srement la proprit de progr`s. u ee e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Temps moyen de convergence [LSS94]

Utilise une notion de tour : temps pendant lequel chaque

philosophe est slectionn au moins une fois. e e


Borne suprieure pour le temps moyen de convergence : 63 e

tours.
Remarque : ne dpend pas de N ! ! ! e question : combien de temps peut durer un tour en fonction

de N ?

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Un algorithme sans quit e e

Lide : e
besoin dquit ` cause des transitions invariantes e ea

Notre solution :
on les supprime mais on nimpose plus dquit de e e

lordonnancement,
si un philosophe est slectionn il est oblig de changer dtat, e e e e en change, on autorise lordonnancement ` ignorer e a

indniment un philosophe. e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Notre variante [DFP02]


L2 D W H W S D S E L1

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Thor`me de convergence e e

Ce quon veut montrer : Le syst`me va atteindre avec probabilit 1 un tat o` un e e e u philosophe mange.
le montrer directement : trop dur en gnral. e e premi`re ide : trouver une fonction sur lensemble des tats e e e

qui va dcro (tant que personne ne mange) en un nombre e tre ni dtapes avec probabilit 1. e e
notre ide : trouver une fonction sur lensemble des tats qui e e

va dcro (tant que personne ne mange) ` chaque tape e tre a e avec probabilit non nulle. e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Convergence - pourquoi ca marche


Thor`me e e
Etant donn un syst`me de rcriture S, supposons quil existe une e e ee fonction D et un ordre tels que J x L, J E(x), y : (x y (y L D(y ) D(x))) /
S

alors pour tout ordonnancement O, x P(x L) = 1.


S

Lensemble dtats est ni (cardinal k) pas de suite innie e

dcroissante, e de tout tat, en au plus k tapes, on atteint lensemble e e souhait L avec probabilit non nulle e e on prend le minimum p sur tous les tats de la probabilit e e datteindre L en k tapes. e la probabilit de ne pas atteindre L en n k tapes est donc e e infrieure ` (1 p)n . e a

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Convergence pour le d des philosophes ner

Avec le thor`me, il reste ` trouver une fonction qui va bien... e e a


L = { E } la fonction D a 7 composantes, un motif est tr`s intressant e e
on consid`re N moins le nombre de tels jetons e il est dautant plus intressant que est proche de S et e

est proche de S

on compte le poids des jetons (D > H > W > S) ... et 5 autres composantes assez compliques e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Temps moyen de convergence

On veut montrer que le nombre de tours nest pas assez prcis : e N2 1. on part de la conguration S WS 2. on va montrer quun ordonnancement malveillant peut rester hors de L un temps moyen exponentiel 3. on construit un syst`me linaire e e 4. en le rsolvant on montre quon reste en moyenne 2N/2 e dans une conguration de ce type Cela montre quavec un ordonnancement quitable tordu, on peut e rester un temps exponentiel hors de L.

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Un algorithme dexclusion mutuelle [Her90]


Q = {q, q} R`gles : Si qi 1 = qi e

alors qi := qi 1 q avec probabilit 1/2 e Si qi 1 = qi alors qi := q avec probabilit 1/2 e Exemple de conguration (N = 5) : qqqqq
topologie en anneau (et nombre de processus impair) toute position est activable ordonnancement synchrone : tous les processus font une

action ` chaque tape a e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Algorithme dHerman (2)

qqqqq
1/2 1/2

qqqqq

qqqqq

un jeton = deux processus conscutifs de la mme couleur e e but : arriver ` une conguration ` un seul jeton a a cest cela lexclusion mutuelle remarque : forcment au moins un jeton (car N impair) e choix probabiliste : faire avancer ou non les jetons

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Preuve de convergence
On applique le thor`me avec D = (D1 , D2 ) et lordre e e lexicographique, o` : u
D1 = nombre de jetons D2 = distance minimale entre deux jetons conscutifs e

La stratgie probabiliste : e
garder tous les jetons xes sauf celui qui a la distance minimale avec son voisin de droite

Rsultat : e
si la distance est > 1, elle dcro (donc D2 aussi) e t si la distance est 1, deux jetons fusionnent (donc D1 dcro e t)

Dapr`s notre thor`me, cela implique la convergence. e e e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Temps moyen de convergence

[Her90] : Preuve par Herman du temps de convergence pour

2 jetons : O(N 2 ).
[Her90] : Dduction du temps de convergence pour k jetons e

en O(N 2 log N/2).


[DFP01] : Preuve par lumping de la cha de Markov du ne

temps de convergence pour 2 jetons.


[MM05] : Preuve par raisonnement sur les matrices de

transition que le temps de convergence est en O(N 2 ).


[MM05] : Dans le cas de trois jetons, temps de convergence

4abc/N.

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Temps de convergence : Probl`me ouvert e


[MM05] : Conjecture que le cas pire serait pour 3 jetons

quidistants. e
conrme par des rsultats exprimentaux : e e e

mais toujours pas prouve. e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Autre probl`me - le d des cryptographes e ner

N cryptographes assis autour dune table das un restaurant ` la n du repas la note a t paye a ee e ils veulent savoir si lun dentre eux ` pay ou si cest leur a e

employeur
... tout en gardant lanonymat de celui qui a pay e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

D des cryptographes - fonctionnement ner

Chaque cryptographe lance une pi`ce non biaise, e e il communique le rsultat ` son voisin de droite, e a chaque cryptographe compare les rsultats des deux pi`ces e e

quil a vues (pareilles ou direntes) e


puis chaque cryptographe annonce un rsultat ` tout le e a

monde :
celui vu sil na pas pay, e linverse sil a pay, e

si un nombre pair de rponses direntes alors aucun e e

cryptographe na pay. e

D ner des philosophes

Exclusion mutuelle

D ner des cryptographes

Rfrences ee
[BdA95] A. Bianco and L. de Alfaro. Model checking of probabilistic and nondeterministic systems. In Proc. FSTTCS95, volume 1026 of LNCS :499513. Springer, 1995. [DFP01] M. Duot, L. Fribourg, and C. Picaronny. Randomized nite-state distributed algorithms as Markov chains. In Proc. DISC01, volume 2180 of LNCS, p 240254. Springer, 2001. [DFP02] M. Duot, L. Fribourg, and C. Picaronny. Randomized dining philosophers without fairness assumption. Distributed Computing, p 6576, 2004. [Dij72] [Her90] [LR81] E.W. Dijkstra. Hierarchical ordering of sequential processes. In Operating Systems Techniques, p 7293. Academic Press, 1972. T. Herman. Probabilistic self-stabilization. Information Processing Letters, 35(2) :6367, 1990. D. Lehmann and M. Rabin. The advantages of free choice : a symmetric and fully-distributed solution to the dining philosophers problem. In Proc. POPL81, 133138. ACM Press, 1981.

[LSS94] N. Lynch, I. Saias, and R. Segala. Proving time bounds for randomized distributed algorithms. In Proc. PODC94, p 314323. ACM Press, 1994. [MM05] A. McIver and C. Morgan. An elementary proof that Hermans ring is (N 2 ). Information Processing Letters, 94 :7984, 2005.