1: \begin{thebibliography}{99}
2:
3: \bibitem{ab}\bibfmta
4: {AGRAWAL D., EL~ABBADI A.}
5: {An Efficient and Fault To\-le\-rant So\-lu\-tion for Dis\-tri\-bu\-ted
6: Mu\-tual Ex\-clu\-sion}
7: {ACM Trans. on Computer Systems, Vol.~9, No~1, 1-20}{1991}
8:
9: \bibitem{bo}\bibfmtb
10: {BOLLOB\'{A}S B.}
11: {The Evolution of Sparse Graphs}
12: {Graph Theory and Combinatorics}{35-57, Academic Press 1984}
13:
14: \bibitem{ca}\bibfmta
15: {CARVALHO O.S.F., ROUCAIROL G.}
16: {On Mutual Exclusion in Computer Networks}
17: {Comm. of the ACM, Vol.~26, No~2, 145-147}{1983}
18:
19: \bibitem{fe}\bibfmtb
20: {FELLER W.}
21: {An Introduction to Probability Theory and its Applications}
22: {3rd Edition, Vol.~I}{Wiley, 1968}
23:
24: \bibitem{fl}\bibfmta
25: {FLAJOLET P., VITTER J.S.}
26: {Average-Case Analysis of Algorithms and Data Structures}
27: {Res.~Rep.~INRIA No 718}{August 1987}
28:
29: \bibitem{fr}\bibfmta
30: {FRAN\c{C}ON J., VIENNOT G., VUILLEMIN J.}
31: {Description and analysis of an Efficient Priority Queue Representation}
32: {Proc. of the 19th Symp. on Foundations of Computer Science, 1-7}{1978}
33:
34: \bibitem{gi}\bibfmta
35: {GINAT D., SLEATORD. D., TARJAN R.E.}
36: {A Tight Amortized Bound for Path Reversal}
37: {Information Processing Letters Vol.~31, 3-5}{1989}
38:
39: \bibitem{kn}\bibfmtb
40: {KNUTH D.E.}
41: {The Art of Computer Programming}
42: {Vol.~1 \& 3, 2nd ed., Addison-Wesley} {Reading, MA, 1973}
43:
44: \bibitem{la}\bibfmta
45: {LAMPORT L.}
46: {Time, Clocks and the Ordering of Events in a Distributed System}
47: {Comm. of the ACM, Vol.~21, No~7, 558-565}{1978}
48:
49: \bibitem{ma}\bibfmta
50: {MAEKAWA M.}
51: {A $\sqrt{N}$ Algorithm for Mutual Exclusion in Decentralized Systems}
52: {ACM Trans. on Computer Systems, Vol.~3, No~2, 145-159}{1985}
53:
54: \bibitem{nt}\bibfmta
55: {NA\"{I}MI M., TREHEL M.}
56: {An Improvement of the $\log n$ Distributed Algorithm for the Mutual Exclusion}
57: {Proc. of the 7th International Conference On Distributed Computing Systems, 371-375}{1987}
58:
59: \bibitem{nta}\bibfmta
60: {NA\"{I}MI M., TREHEL M., ARNOLD A.}
61: {A $\log n$ Distributed Mutual Exclusion Algorithm Based on the Path Reversal}
62: {Res.~Rep., R.R.~du Laboratoire d'Informatique de Besan\c{c}on}{April 1988}
63:
64: \bibitem{ra}\bibfmta
65: {RAYMOND K.}
66: {A Tree-Based Algorithm for Distributed Mutual Exclusion}
67: {ACM Trans. on Computer Systems, Vol.~7, No~1, 61-77}{1987}
68:
69: \bibitem{ri}\bibfmta
70: {RICART G., AGRAWALA A.K.}
71: {An Optimal Algorithm for Mutual Exclusion in Computer Networks}
72: {Comm. of the ACM, Vol.~24, No~1, 9-17}{1981}
73:
74: \bibitem{tn}\bibfmta
75: {TREHEL M., NA\"{I}MI M.}
76: {A Distributed Algorithm for Mutual Exclusion Based on Data Structures and Fault Tolerance}
77: {Proc. of the 6th Annual International Phoenix Conference on Computers and Communications, 35-39}
78: {1987}
79:
80: \bibitem{vu}\bibfmta
81: {VUILLEMIN J.}
82: {A Unifying Look at Data Structures}
83: {Comm. of the ACM, Vol.~23, No 4, 229-239}{1980}
84: \end{thebibliography}
85:
86: \section*{Appendix}
87: In Subsection 2.1, we developed the tools which make it possible to derive the
88: first two moments of the cost of path reversal, {\em viz.} the expected
89: cost and the variance of the cost (see Subsection 2.2). However, by Theorem~2.1,
90: the average cost of path reversal may be directly proved to be $H_{n-1}$
91: by solving a straight and simple recurrent equation.
92: \begin{proposition}
93: The expected cost of path reversal and the average message complexity
94: of algorithm $\cal A$ evaluate to $\overline{\rm cost}(\varphi (T_{n}))
95: \:=\: \overline{C_{n}} \:=\: H_{n-1}$ (resp.).
96: \end{proposition}
97: \begin{proof}
98: Let $\overline{C_{k}}$\ be the average cost of path reversal performed
99: on an initial ordered $k$-node tree $T_{k}$, $1 \leq k \leq n$. $\overline{C_{k}}$\
100: is the {\em expected height} of $T_{k}$, or {\em the average number of
101: nodes on the path from the node} $x$ in $T_{k}$ at which the path reversal
102: is performed {\em to the root of} $T_{k}$.
103:
104: We thus have $\overline{C_{1}} + 1 =$\ average number of nodes on
105: the path from $x$ to the root in the tree $T_{1}$ with one node
106: ($\overline{C_{1}} + 1 = 1$), $\overline{C_{2}} + 1 =$\ average number
107: of nodes on the path from $x$ to the root in a tree $T_{2}$ with two nodes
108: ($\overline{C_{2}} + 1 = 2$), etc. And therefore, the following identity
109: holds
110: \begin{equation}
111: \overline{C_{k+1}} \:=\; \frac{1}{k} \left((\overline{C_{1}} + 1) \:+\: (\overline{C_{2}} + 1) %
112: \:+\cdots +\: (\overline{C_{k}} + 1) \right)\quad \mbox{for}\ k = 1, \ldots, n.
113: \end{equation}
114:
115: We can rewrite this recurrence in two equivalent forms:
116: \begin{eqnarray*}
117: k \overline{C_{k+1}} & = & k \:+\: \overline{C_{1}} \:+\: %
118: \overline{C_{2}} \:+\cdots +\: \overline{C_{k}}\ \qquad (k\ge 1) \\
119: (k - 1) \overline{C_{k}} & = & (k - 1) \: + \: \overline{C_{1}} \:+\:
120: \overline{C_{2}}\: + \cdots + \: \overline{C_{k-1}}\ \qquad (k\ge 2).
121: \end{eqnarray*}
122: Substracting these equations yields
123: $$k \overline{C_{k+1}} \:=\: 1 \:+\: k \overline{C_{k}}\ \ (k\ge 2)\ %
124: \quad \mbox{and}\ \ \overline{C_{1}}=0.$$
125:
126: \noindent Hence,
127: \begin{eqnarray*}
128: \overline{C_{k+1}} & = & \overline{C_{k}} \; + \; 1/k,\quad (k \geq 2) \\
129: \overline{C_{1}} & = & 0,
130: \end{eqnarray*}
131: and the general formula $\overline{C_{k+1}} \:=\: H_{k}$ follows.
132: Setting $k = n$ finally gives the average cost of path reversal for ordered
133: $n$-node trees,
134: \begin{equation}
135: \overline{C_{n}} \:=\: H_{n-1}.
136: \end{equation}
137: \end{proof}
138:
139: Note that if we let $\overline{\left|LB(T)\right|} = %
140: \overline{\left|RB(T)\right|}$\ denote the mean length of a right or
141: left branch of a tree $T \in {\cal T}_{n-1}$, we also have (by Lemma 2.1)
142: $$\overline{\rm cost}(\varphi(T_{n})) \:=\: \overline{\left|LB(T)\right|},$$
143: where $\overline{\left|LB(T)\right|}$\ is averaged over all the $(n - 1)!$\
144: binary tournament trees in ${\cal T}_{n-1}$.
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157: