You are on page 1of 16

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO.

7 , JULY 1993 119

A Theory of Coteries: Mutual


Exclusion in Distributed Systems
Toshihide Ibaraki, Member, IEEE, and Tiko Kameda

Abstract-A coterie under a ground set lr consists of subsets many other coteries, which are not vote-assignable. The main
(called quorums) of U such that any pair of quorums intersect motivation for generalizing the “majority” idea to general
each other. “Nondominated (ND)” coteries are of particular coteries was to have a large number of choices in implementing
interest, sinc’e they are “optimal” in some sense. By assigning
a Boolean variable to each element in U , we represent a family distributed mutual exclusion, in order to select the most
of subsets of U by a Boolean function of these variables. We suitable one for the application in hand. Consider, for example,
.. characterize the ND coteries as exactly those families which can a replicated database, in which the copies of each data item
be represented by positive, self-dual functions. In this Boolean are stored at different sites interconnected by a communication
- framework, we prove that any function representing an ND
. coterie can be decomposed into copies of the three-majority network. When the sites and/or the communication links are
function, an$ this decomposition is representable as a binary subject to failure, the availability of a data item is defined
tree. We also show that the class of ND coteries proposed by as the probability that all sites storing a quorum of copies
Agrawal and El Abbadi is related to a special case of the above are operating and can communicate with each other (so that
binary decomposition, and that the composition proposed by the data item can be accessed for reading or writing). It is
Neilsen and Mizuno is closely related to the classical Ashenhurst
decomposition of Boolean functions. A number of other results known that, for a general underlying network, the coterie
are also obtained. The compactness of the proofs of most of these with the highest availability may not be vote-assignable [25].
results indicates the suitability of Boolean algebra for the analysis Therefore, we need to study other more general coteries. Also,
of coteries. if the underlying network has some special structure (e.g.,
. Index Terms- Boolean algebra, coteries, decomposition of mesh or hypercube), it is conceivable that the complexity of
Boolean functions, distributed systems, mutual exclusion, self- mutual exclusion protocols depends on the adopted coterie. In
dual Boolean functions. such a case, it would be advantageous to have a variety of
coteries as candidates for implementation.
I. INTRODUCI‘ION AND DEFINITIONS Consider a ground set U , consisting of n elements. Any
subset of these elements can be represented by an n-vector,
X = (x~,x~,...,x,) E {O,l},, where zi is 1 (0) if
A. History and Motivation
the ith element is (not) in the subset. In this paper, we

A coterie consists of subsets of an underlying set, such


that any pair of subsets in it has at least one element in
common. (For a more precise definition see Section I-B.) The
represent a family of subsets of U by a Boolean function
f ( X ) such that f ( X ) = 1 if and only if the argument X
represents a superset of some subset in the family. Using
concept of coterie was introduced in [12] as a mathematical this representation, we can characterize an important class of
abstraction to model mutual exclusion in distributed systems coteries, called “nondominated (ND)” coteries [ 121: a family of
[21], [30], in general, and a family of quorums in a replicated subsets forms an ND coterie if and only if f ( X ) is positive and
database system [13], [29], in particular. self-dual. Through this characterization, it becomes possible to
Probably the best known example of a coterie consists of utilize concepts and known results of Boolean functions (see,
+
all the subsets of [(n l)/21 elements, where n is the total
e.g., [14], [231).
number of elements in the underlying set. This idea can be Besides the class of vote-assignable coteries (see Section
readily generalized to the “vote-assignable” coterie [ 121, [ 131, VI) discussed in [12], there are several known classes of
[30]. In a vote-assignable coterie, each element U , has weight coteries. Maekawa [21] showed that, based on finite projec-
w, (positive integer), and a subset G belongs to the coterie if tive planes, nontrivial coteries can be constructed such that
and only if it is a minimal subset satisfying E,,
EG w, > W/2,
each quorum contains only elements, where n = IUI.
where W is the sum of all the weights. There are also Agrawala and El Abbadi [ l ] proposed a new class of ND
Manuscript received October X, 1990; revised September X, 1992. This coteries based on complete binary trees. We generalize this
work was supported in part by Grant-in-Aid from the Ministriy of Education, class to “binary decomposable” (B-decomposable, for short)
Science, and Culture of Japan, and in part by grants from the Natural Sciences coteries, by removing the restrictions that the tree be complete
and Engineering Research Council of Canada and the Advanced Systems
Institute of British Columbia. and that each label be used only once. We then show that
T. Ibaraki is with the Department of Applied Mathematics and Physics, any ND coterie is B-decomposable. This follows from one
Faculty of Engineering, Kyoto University, Kyoto, Japan 606. of our main theorems which states that any positive, self-
T. Kameda is with the School of Computing Science, Simon Fraser
University, Burnaby, B.C., Canada V5A 1S6. dual function can be realized by a binary tree composed
IEEE Log Number 9210517. of copies of the three-majority function (i.e., the three-input
1045-9219/93$03.00 0 1993 IEEE
780 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO. 7, JULY 1993

threshold function with the input weights equal to 1 and the ii) [minimality] There are no G ,H E C such that G c H ,
threshold value equal to 2) one of whose inputs is a single and
variable. Another class of ND coteries has recently been iii) [intersection property] VG,H E C: G n H # 4. 0
identified by Neilsen and Mizuno [24]. In terms of our Boolean According to the above definition, the empty family contain-
representation, it turns out that the decomposition operation ing no subset is a coterie. The subsets belonging to a coterie
used to describe this class is a special case of the classical are called quorums.
Boolean function decomposition due to Ashenhurst [2], studied Domination [12]: Let C and D be coteries. C dominates D
extensively in switching theory and other fields (see Remark if C # D and VG E D 3H E C : H G. A coterie C is
5.3). nondominated (ND) if no coterie dominates C. 0
A vote-assignable coterie has the desirable property that To see that ND coteries are particularly useful in practical
it can be represented by a set of n weights, where n is, as applications, let coterie D be dominated by C. Then if a
before, the number of elements in the underlying set. The partition (that results from a network partition failure) contains
only known general way of describing an arbitrary ND coterie, a quorum belonging to D, then it must contain a quorum
however, was to list all its quorums. This is not, in general, belonging to C.
space-efficient, since a coterie can have an exponential number Bicoterie [ll]: An ordered pair B = ( P ,Q ) , where P and
(in terms of n) of quorums. A composition of copies of the Q are families of subsets of U, is a bicoterie under U if
basic majority function that realizes a given positive, self-dual i) Both P and Q satisfy conditions i) and ii) for a coterie
function (e.g., the B-decomposition mentioned above), on the (with C = P,Q).
other hand, often provides a compact method of describing an ii) V G E P V H E Q : G ~ H # ~ .
ND coterie. A bicoterie B = ( P ,Q ) is called a write-read coterie
Some concurrency control schemes for a replicated database (wr-coterie, for short), if it satisfies
system (e.g., [3], [7], [ l l ] , [15]) make use of a set of iii) VG,H E P: G n H # 4 (i.e., P is a coterie). 0
“read quorums” and a set of “write quorums” such that In [ 3 ] , families P and Q in a bicoterie B = ( P , Q )
each write quorum intersects each write quorum and each
are said to be “complementary” to each other. A write-read
read quorum but the read quorums need not intersect each
coterie B = ( P ,Q ) models “write quorums” by P and “read
other. To model such a system, we introduce “bicoteries” and
quorums” by Q.
“write-read coteries,” and investigate their properties as well.
Domination [ 111: Bicoterie B = ( P ,Q ) dominates bicoterie
They are closely related to “complementary quorum set” and
B’ = (R, S) if
“antiquorum set” defined in [3].
In the rest of this section we define terms that are used in i) VG E R 3H E P : H C G,
this paper. Section I1 reviews, in the terminology of Boolean ii) VG E S 3H E Q: H C G, and
algebra, a number of known results as well as those that iii) ( P , Q ) # ( R , S ) ,i.e., P # R or Q # S.
follow easily from definitions. In Section 111, we investigate A bicoterie B is said to be nondominated (ND) if no
the relation among coteries, bicoteries, and write-read coteries. bicoterie dominates B. Similarly, a wr-coterie B is said to
Our discussion of coterie decomposition begins in Section IV- be nondominated (ND) if no wr-coterie dominates B. 0
A, and our main theorem mentioned above will be proved A nondominated bicoterie is called a “quorum agreement”
in Section IV-B. In Section IV-C, we consider the “nonre- in [3].
dundantly B-decomposable” coteries, as a generalization of In this paper, we define the Boolean value 0 to be less than
the class of coteries consisting of structured quorums [l]. the Boolean value 1, i.e., 0 < 1. For two Boolean vectors
Section IV-D considers decomposition of general coteries X = (51, z2,. . . ,zn)and Y = (yl,y2, .. . ,y,), we write
and its relevance to ND coteries. In Section V, we con- X 5 Y if 2; 5 yi for all i = 1 , 2 , . . . , n.
sider another kind of decomposition of ND coteries as a Positive Boolean function: A Boolean function f is positive
generalization of the method proposed in [24], and discuss (or monotone increasing) if V X , Y E {0, I}n: X 5 Y
its relevance to the Ashenhurst decomposition. Section VI =+ f ( X ) i f ( Y ) - 0
focuses on vote-assignable coteries and their generalization Minimal vectors: Let f be a positive Boolean function.
to multidimensional vote-assignable coteries introduced in X E { O , l } n is a minimal vector of f if f ( X ) = 1 and
[8]. Preliminary versions of this paper appeared before as a [(Y 5 X ) A (Y # X ) ] + f ( Y ) = 0. The set of all
technical report [16] and also in conference proceedings [17]. minimal vectors (or the subsets they represent according to
In this paper, we often omit the Boolean AND operator our convention given below) of function f will be denoted by
A, and simply concatenate variables to be ANDed together. M inS et (f). 0
E and c will denote set inclusion and proper set inclusion, Let C be a family of distinct nonempty subsets of U
respectively. satisfying the minimality condition. In this paper, we do
not distinguish subset G E C from its characteristic vector,
(91, g2,.. . ,gn), where for i = 1 , 2 , . , n,
+ .

B. Definitions
Coterie [12]: Let U = {u1,u2,. . . , un}be a ground set and
C be a family of subsets of U. C is a coterie under U if 1 if ui E G ,
i) G E C + G # 4, si = 0 if U , 4 G.
IBARAKI AND KAh4EDA: THEORY OF COTERIES: MUTUAL EXCLUSION IN DISTRIBUTED SYSTEMS 781

Define Boolean function fc associated with a family C of has its dual


subsets of U by
1 if X 2 G for some G E C,
.f$ = A{V ui>.

f C ( 4 = { 0 otherwise.
(This relationship between fc and
GEC u,EG

fg
implies that
It is easy to see that M i n S e t ( f c ) = C holds if C satisfies M i n S e t ( f g ) represents the set of all minimal transversals
the minimality condition. [12] of C.) 0
Remark 1.1: It is known (e.g., [23]) that any positive Property 1.3: Let fc be the Boolean function representing
function f can be represented by a unique disjunctive form a family C of nonempty subsets of U , which satisfies the
without complemented literals such that each term is the prime minimality condition. Then the dual of fc is given by
implicant corresponding to a minimal vector. This form is
0 if X 2 G for some G E C
called the minimum sum expression for f . For fc, it has the
following form.
f 3 X )= { 1 otherwise

f C ( X )= v {
GEC u,EG
A %I. Property 1.4: If f is positive, then so is f d . 0
0

Self-duality: A Boolean function f is said to be dual-minor


In the above expression, for simplicity, we abuse the notation if f 5 f d , dual-major if f d 5 f, and dual-comparable if
and use ui (which is an element of U ) as the ith component f 5 f d or f d 5 f holds. f is said to be self-dual if f = f d .
of vector X as well. We use this convention throughout this 0
paper. 0 Property 1.5:
Example 1.1: For U = {w, x, y, z } , consider a family of i) f is dual-minor e V X E ( 0 , l}": at least one of f ( X )
subsets and f ( X ) takes value 0.
ii) f is dual-major e V X E (0, l}.: at least one of f ( X )
c = {{w, x , Y}? {w,x , 215 {Y>2 ) ) . and f ( X ) takes value 1.
It is easy to check that this C is a coterie. The positive Boolean iii) f is self-dual e V X E ( 0 , l}" : exactly one of f ( X )
function representing this C is and f ( X ) takes value 1. 0
Example 1.2: Note that a simple product term, e.g., f =
fc = wxy v wxz v yz 2152x3, is dual-minor, and its dual, z 1 V x 2 V z 3 , is dual-major.
For fc of Example 1.1, we have
There is an obvious correspondence between the prime impli-
cants of fc and the subsets in C. 0 fg
= (wvxvy)(wvxvz)(yvz) = wyvwzvxyvyzvxz.
Property 1.1: The Boolean function fc defined above is
positive for any family C. The correspondence between the For this fc, it is easy to see that fc 5 fg
(i.e., fc is dual-
families C of subsets of U , satisfying the minimality condition, minor), since, for each prime implicant P in fc,there is a
and the positive Boolean functions fc is one-to-one. 0 prime implicant P' in fg
that contains a subset of literals in
For two Boolean functions f and g on the same set of P. A n example of self-dual function is f = z y V yz V zx, since
variables, we write f 5 g if and only if V X E (0. 1)": f d = (x v y)(y v z ) ( z v z) = z y v yz v z z = f .
f ( X ) = 1 + g ( X ) = 1, and we write f < g if and only
if f 5 g and f # g. The following property is immediate 0
from the definition of domination.
Property 1.2: Let C1 and C2 be two coteries under the 11. BASIC RESULTS
same underlying set. Then C1 dominates C2 if and only if
fc, < fc,. 0 This section lists a number of basic results which either
Dual Boolean function: For any Boolean function f , its follow easily from definitions or are already known [3], [ll],
dual, denoted f d , is defined by [ 121. The theorems below are based on the following properties
of Boolean functions. Let C be a family of nonempty subsets
f d ( X )= S ( X ) of an underlying set U .
i) For any two subsets G and H of U : G n H = 4 e G 5
where X is the complement' of X E (0, l}", and f denotes
H (= U - H ) (viewed as Boolean vectors). Therefore, for
the complement of f . 0 a family of subsets C satisfying the minimality condition,
Remark 1.2: Given an expression for function f , an expres-
sion for f is obtained by interchanging A and V. If f involves
VG, H E C: G n H # 4 (intersection property)
a constant 1 (0), it should be changed to 0 (1). For example,
e V G , H E C : G $ H and H $
a positive function
++ fc is dual-minor.
fc = v {
GEC u,EG
A 7Lt)
The last line above follows from the second last line,
since, by Property lSi), if f c ( X ) = 1 and f c ( X )= 1
'The ith bit of vector *y is 1 (0) if and only if the Ith bit of S is 0 (1). hold, i.e., X 2 G for some G E C and X 2 H for some
782 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO. 7, JULY 1993

H E C, then G 2 X 2 H , a contradiction. This proves iii) f is positive and dual-minor e (MznSet(f),


+.The converse can be proved similarly. Theorem 2.1, M i n S e t ( f d ) )is an ND wr-coterie.
given below, now immediately follows. As a corollary to the above, we can relate the numbers of
ii) Let C1 and C2 be coteries under U . By Property 1.2, C1 ND coteries, ND bicoteries, and ND wr-coteries to those of
dominates C2 if and only if fc, < fc,,or equivalently, some classes of Boolean functions.
f& < f&. Since fc,is dual-minor (by point i) above), Corollary 2.2: Let n = IUI.
we have fc, 5 f&, hence fc, < f&. i.e., fc,is not a) The number of ND coteries under U is equal to the
self-dual. Therefore number of positive, self-dual Boolean functions of n
variables.
fc is self-dual + C is an ND coterie. b) The number of ND bicoteries under U is equal to the
number of positive Boolean functions of n variables.
Conversely, if fc is dual-minor but not self-dual, then (Note that (P,Q) and ( Q ,P ) are two distinct bicoteries
fc < f$ and there is a vector Y E (0.1)" such that unless P = Q.)
fc(Y)= 0 and fg(Y)= 1. Let C' = C U { Y ) ,where c) The number of ND wr-coteries under U is equal to the
Y is regarded as a subset of U . f p is dual-minor, since number of positive, dual-minor Boolean functions of n
it satisfies Property 1.5i). (In particular, fcl(Z)= o variables. This is the same as the number of coteries
for any Z 2 Y , since f$(Y)= 1 + fc(Y)= o + under U by Theorem 2.1. Also, as we shall see in the
fc(2) = o for any Z 5 Y 3 fc,(Z) = o for any
next section (Theorem 3.1), this is equal to the number
2 5 Y.)By Theorem 2.1 below, f p represents a
coterie. Since fc < fcj holds, C is not ND. Therefore,
+
of positive, self-dual functions of n 1 variables. 0
Remark 2.1: [20] contains the following asymptotic formula
for the number, Q ( n ) ,of positive Boolean functions of n
C is an ND coterie + fc is self-dual.
variables:
Theorem 2.1: Let C be a family of nonempty subsets of U
satisfying the minimality condition. Then C is a coterie if and
only if fc is dual-minor. 0 where (L) stands for " n choose k." Reference [23] contains
Theorem 2.2: Let C be a family of nonempty subsets of C a lower bound,
satisfying the minimality condition. Then C is an ND coterie
2((G&).
if and only if fc is self-dual. 0
The following corollary follows easily from Theorem 2.2 on the number of positive, self-dual Boolean functions of n
and Property 1.5iii). variables (for odd n). This bound is also found in [12] as a
Corollary 2.1: Let C be a coterie under U . Then C is ND lower bound on the number of ND coteries.
if and only if for VX U exactly one of X and contains Remark 2.2: Given a family of subsets C , whether it is
some subset G E C. 0 a coterie, i.e., fc is dual-minor, can be decided in time
Example2.1: The function fc = wryVvixzVyz of Example polynomial in the number n of variables and the number
1.1 is dual-minor as we saw in Example 1.2. Therefore, C is of minimal vectors m = IMinSet(fc)l; this can be done
a coterie by Theorem 2.1. However, it is not an ND coterie, by simply checking if every pair of minimal vectors has
since fc is not self-dual. In fact, C is dominated by another a common variable with value 1. On the other hand, the
coterie C' = { { z , y } , {y,z). { i z . x ) } ,which is an ND coterie complexity of deciding if fc is dual-major is known to be
since fer = xy V yz V z~ is self-dual as observed in Example coNP-complete. However, the complexity of deciding if a
1.2. 0 dual-minor fc is also dual-major, and hence if fc is self-dual,
The above properties can be easily extended to bicoteries is not known, as pointed out in [12] in a hypergraph setting.
and wr-coteries as well. In fact, it is currently known as one of the open problems,
Theorem 2.3: Let B = (P.Q ) , where P and Q are families which are possibly co-NP-complete.
of nonempty subsets of U satisfying the minimality condition. The problem becomes solvable in polynomial time if we
Then B is a bicoterie if and only if fQ 5 f$ (or equivalently restrict ourselves to some special classes. For example, [101
fp 5 f6). Similarly, B is a wr-coterie if and only if f~ 5 f$ contains some such special classes of hypergraphs (it also
and f p is dual-minor. 0 contains a variety of interesting applications of coterie-related
Theorem 2.4: Let B = ( P ,Q) be as defined in Theorem concepts). Also, it can be shown that self-duality of a class
2.3. Then B is an ND bicoterie if and only if fQ = f$ (or of positive functions can be checked in polynomial time if
equivalently f p = f$). Also, B is an ND wr-coterie if and and only if it can be decided in polynomial time whether two
only if f~ = f$ and f p is dual-minor. 0 positive functions g and h in the class are duals of each other.
We can summarize the main results given above in terms The latter problem has a polynomial time algorithm if and only
of M znSet( f ) . if the functions in the class can be "dualized" in polynomial
i) f is positive and self-dual e M r n S r t ( f ) is an ND time of their input and output lengths. Some classes of positive
coterie. functions, including positive threshold functions, are known
ii) f is positive e ( M z n S e t ( f ) ,M z n S e t ( f d ) )is an ND to have such a polynomial-time dualization algorithm [4], [9],
bicoterie. PI. 0
IBARAKI AND KAMEDA: THEORY OF COTERIES: MUTUAL EXCLUSION IN DISTRIBUTED SYSTEMS 783

111. CONSTRUCTION OF ND COTERIES FROM COTERIES Iv. DECOMPOSING


COTERIES
Let f be a positive boolean function and x be one of its
variables. The following decomposition, known as Shannon's A. General Decomposition of Self-Dual Functions
decomposition, is a standard tool in switching theory. We start with the following important theorem, which states
that the class of positive, self-dual (dual-minor, dual-major)
f = X f z = l v fz=o (1) functions is closed under composition.
where f z = l (fz=o) denotes the function obtained from f by Theorem 4.1:
substituting x = 1 (x = 0) into f. Note that fT=o 5 fZ=l a) Let fi, z = 1 , 2 , . . . , k, be positive and self-dual. Let
since f is positive. Let g = fZ=o. If f is self-dual, then F(x1. . . . .xk) be also positive and self-dual. Then
f z = l = ( fz=o)d = gd. Therefore, f can be decomposed as
f = F ( f 1 ,f 2 , . . ' f k ) 1

is positive and self-dual.


f = T g d v g. (2) b) Let fi, i = 1 , 2 , . " , k , be positive and dual-minor
Obviously, the converse (i.e., this f is self-dual) is also (resp., dual-major). Let F ( z l , .. . ,xk) be also positive
true, since and dual-minor (resp., dual-major). Then

fd = ( g V x) A g d = ggd V zgd = g V xgd = f (3) f .


= F(fl,f 2 3 . . . f k )

is positive and dual-minor (resp., dual-major).


which follows from fz=o 5 fz=l, i.e., g 5 g d . Also, as g
is dual-minor, g defines a coterie by Theorem 2.1. From this Proof: a) The positivity of f is obvious and f d = f can
analysis, the following theorem follows. be shown as follows.
Theorem 3.1: There is a one-to-one correspondence between l dF d ( f L f , " , . - , f 3
[ F ( f l . f 2 r ' . . r f k )=
the ND coteries under U, = { U I . u z , . . . , U,} and the coteries
= F ( f 1 fz. . . . f k ) .
under Un-l = ( ~ 1 , 2 1 2 ., . . , u n - l } , where n 2 1. In particular,
the number of ND coteries under U, is equal to the number b) Again, the positivity of f is obvious. We only prove the
of coteries under Un-l [which is equal to the number of ND case where {fi} and F are all dual-minor. The dual-major
wr-coteries under U,- 1 by Corollary 2.2c)l. 0 case can be analogously proved. Since f t 5 f,", we have
The above theorem slightly strengthens Lemma 4.1 and
Theorem 4.1 in [12], since the correspondence here is one- vx E {0.1)" : (fl(X),f2(X),
to-one. . . f k ( X ) )I ( f W .f i ( X ) . . . . ,f2(X)).
' 3

Remark 3.1: In terms of subsets, f Z = l is characterized by


This, combined with the positivity of F and F 5 F d , yields
MznSet(f,,l) = Mznzmal({G - {x}lG E M z n S e t ( f ) } )
F ( f 1 ,f 2 r . . . I fk) 5 Fd(fld,f,",. . . > f,",.
where Mznzmal(D) for a family D of subsets denotes the 0
family obtained from D by eliminating duplicates and deleting Example 4.1: Consider the following four positive, self-dual
all subsets that properly contain another subset in D.Similarly, functions.
the subsets represented by fz=o is given by
F = a y v yz V zx,
MznSet( fZ=o) = {GIG E M z n S ~ tf() and T f G}. fl = ab V bc V ca,
0 fi = nc v cd v d a ,
Given an arbitrary positive function g, B = ( M z n S ~ t ( g ) , f3 = P .
) an ND bicoterie by Theorem 2.4. However, B
M z n S e t ( g d ) is
is not necessarily a wr-coterie. There are the following three After substitution and a routine simplification, one obtains
cases. f = F ( f l . fz, f 3 ) = ac V ubd v abe V ade V bcd V bce V cde.
i) gd = g : g is self-dual, which implies that P =
This f is positive and self-dual by Theorem 4.la). It is not
MznSet(g) is an ND coterie and B = ( P .P ) is an
difficult to see that
ND wr-coterie.
ii) g d # g and g is dual-comparable: Since either g or M z n S e t ( f )= { { a , c } ,{ a , b , d }:.., { c , d , e } }
gd is dual-minor, assume without loss of generality that
g 5 g d (i.e., g is dual-minor). Then g represents a coterie is in fact an ND coterie. 0
by Theorem 2.1, B = ( M z n S e t ( g ) , M z n S e t ( g d )is) Remark 4.1: It is known [12], [23] that there are very few
an ND wr-coterie by Theorem 2.4, and f = r g d V g positive, self-dual functions (hence ND coteries) that depend
represents an ND coterie by Theorem 2.2 and (3). on2 exactly n variables if n = 1, 2, or 3. In fact,
However, g d does not represent any coterie. i) n = 1: There is only one such function f = z, where
iii) g d # g and g is not dual-comparable: Nei- U = {x}.
ther g nor gd represents a coterie, and B = 2 f does not depend on a variable s if for any combination of the values
(MznSet(g),M z n S e t ( g d ) )is not a wr-coterie. of the other variables, f takes the same value regardless of the value of I .
184 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO. 7, JULY 1993

ii) n = 2 : None.

A
iii) n = 3: There is only one such function f = xyvyzvzz,
where U = { x , y , z } . 0
We shall call the function

M(z,y,z) = xy v yz v zx
fl I2
the basic majority function. By the above remark, this function
Fig. 1. Decomposition of f . using the binary operator hfz.
represents the simplest nontrivial ND coterie. Theorem 4.1
implies that any function composed of basic majority functions
(without using constant 0 or 1) is positive and self-dual. A n
interesting question would be: what class of positive, self- f
dual boolean functions can be composed from copies of the n
basic majority function? To answer this question, we define the
decomposable, positive, self-dual function f on U as follows.
1) f = 2 , where z E U , or
2) f = M(fl,f2,f3), where fl, f 2 and f3 are decompos-
able functions on U .
We shall show in the next section that every ND coterie
is decomposable. Thus the basic majority function is a “uni-
versal function” for positive, self-dual boolean functions, just
like NAND and NOR functions are universal functions for all
boolean functions. In fact, it turns out that every ND coterie
has a more specific form of decomposition, which we call Fig. 2. Illustration for Example 4.2.
“binary decomposition” (B-decomposition, for short), as will
be discussed in the next section.
If all functions become single variables, then the generated
finite tree is called the binary decomposition tree for f .
B. B-Decomposition of ND Coteries
Example 4.2: Let f l and f2 be defined by
Define the function on two variables,

Mz(y,2 ) = M ( z ,9.2 )

based on the basic majority function. We consider composition The decomposition tree for the function f defined by
of f from f l and f z (or decomposition of f into fl and f 2 )
of the form. f = Mw(fl,f2) = ( u y v x y v u u v v x ) w v ( u x v u v y v v x y )

is shown in Fig. 2. 0
Remark 4.2: Different trees may represent the same ND
where f l and f2 are positive, self-dual functions. Note that coterie. For example, a tree consisting of the root labeled y
f i and J2 may depend on 2 . By Theorem 4.1, f is positive and two child nodes labeled z and y represents an ND coterie
and self-dual. By considering MinSet( f ) , i.e., the family of { {y}}, which is also representable by a one-node tree labeled
subsets that f represents, we obtain the following result. Y. 0
Theorem 4.2: Let C1 and C, be ND coteries under U . The We say that a positive function f [or the ND coterie
following family C is also an ND coterie. M inset (f )] has a binary decomposition (B-decomposition,
for short) or f is binary decomposable (B-decomposable, for
C 1M i n i m d ( { G U {z}lG E Cl U ( 7 2 )
short) if
U {GI U GzlGi E Ci,G2 E C 2 } ) . 1) f is a single variable, or
2) f = Mx( fl , fz) for some variable z, where both f l and
Proof: Let f l = fc, and f2 = fc,. Then C =
f2 have B-decompositions.
MinSet( f ) , where f is given by (4). The rest follows from
point i) given just after Theorem 2.4. 0 To prove that every ND coterie is B-decomposable, we start
The above decomposition (4) can be conveniently repre- with some lemmas.
sented by a binary tree, as illustrated in Fig. 1, where the label Lemma 4.1: Let a nonconstant function g be positive and
of each internal node indicates the subscript x of the binary dual-major (resp., dual-minor). Then g can be represented as
operator, M,, used for decomposition. By recursively applying
this decomposition to the generated f,’s, we may eventually
end up with functions of single variables. A single-variable
function is represented by a leaf node labeled by the variable. for some IC > 0, where each f i is positive and self-dual.
IBARAKI AND KAMEDA: THEORY OF COTERIES: MUTUAL EXCLUSION IN DISTRIBUTED SYSTEMS
785

Proof: We only prove the case where g is dual-major. Proof: Take any .r E I' and decompose f with respect
The proof for the dual-minor case can be obtained by taking to r a5 in (3) of Section 111, i.e.,
the dual of the dual-major case. Observe the following.
f =rf,=lVf,=o=zg d vg.
i) Since g is dual-major, at least one of g ( X ) and g ( X )
equals 1 for any vector X [by Property 1.5ii)l. where g = f,,oand 9 is dual-minor. By Lemma 4.1, g d can
ii) Since g is positive, g ( Y ) = 1 implies g ( X ) = 1 for any be represented as
>
X Y . (Or equivalently, g ( Y )= 0 implies g ( X ) = 0
for any X 5 Y . ) gCi= fl k f2 v " ' vfk
Given a dual-major g, we first present a formal procedure and g as
for constructing, for an arbitrary Y E M i n S e t ( g ) ,a positive,
self-dual function fir, satisfying f i F ( Y ) = 1 and f y 5 g. The g= f:AftA..'A f t =f l A f 2 A . . . A f k
following procedure constructs f r ~in terms of its true domain
for some self-dual functions, f l . f 2 , . . . f k , on U - {r}. 0
and false domain, T and F, respectively [i.e., f l , ( X ) = 1
The next lemma shows that f can be composed from func-
(resp., 0) for all X E T (resp., F ) ] .
tions f l . f 2 . f . . . f k , using only the basic majority function.
. 1) Let T := { X l X 2 Y } and F := ( Z ( g ( 2 )= O}. (This Lemma 4.3: Consider the decomposition
makes sure that fl,(Y) = 1 and fu 5 g hold initially.)
-
2) If 3 2 4 TUF such that 2 E T , then F := F U ( X J X 5 f = v
(fl f'2 v. v
' ' fk)n v (fl A f2 A " ' A fk)
2).(Since it is self-dual, f u ( X ) must satisfy fl,(z) in Lemma 4.2. This can be represented as
= 1 +*fl,(Z) = 0.) Repeat this step as long as it is
applicable.
3) If TUF = (0, l}n,then stop. Otherwise, choose a vector
Z 4 T U F (T U F contains neither 2 nor Z),and let and
T := TU { X l X 2 2 ) . Return to step 2.
E: = ,W,(fL. F t + l ) , for L = 2.3,... .k - 1,
Clearly, the above procedure terminates, since T always
gets enlarged in step 3. The fact that the resulting f1- is where Fk fk.
indeed self-dual follows from the property of T and F that, Proof: Easy if one treats the two cases, x = 0 and .7: = 1,
for any vector X , exactly one of X and X belongs to T separately. 17
(and the other belongs to F). We now prove this property. Theorem 4.3: Any ND coterie is B-decomposable.
Since T U F = (0, l}n upon termination, it suffices to show Proof: By Lemmas 4.2 and 4.3, a self-dual function f
that neither T nor F contains both X and X during the has a B-decomposition into smaller self-dual functions (fz},
construction. That this is true initially, i.e., for the sets T and F which do not depend on the variable II: used for decomposition.
of step 1 above, can be shown as follows. Since X 2 Y ( # 0) Apply this decomposition recursively to all fi until only single
* obviously means X 2 Y , X E T implies X 4 T . Also, variables result. 0
X E F implies g ( X ) = 0 and hence g(X) = 1, i.e., X 4 F, Corollary 4.1: Any ND coterie is decomposable. 0
since g is dual-major. Next, consider the case where F is Now, B-decomposition discussed so far defines a single-
augmented in step 2. The resulting set F does not contain output circuit made up of copies of the basic majority gate,
both X and X for any X , since for any new vector X 5 Z whose inputs are variables from U (no constants) and whose
in F , X E T holds because X 2 2.Finally, in step 3, the output is f (Fig. 3). To check whether a given subset S C: U
resulting set T has this property, since for any new vector contains a quorum of the corresponding ND coterie, we can
X > Z in T , X 4 T holds because X 5 2 and 2 4 T (if simply feed (the vector representing) S into this circuit. If
2 E T then Z E F by step 2). The positivity of f i - is obvious the output is 1, then S contains a quorum of the ND coterie;
from the construction. otherwise, it does not. In this sense, the circuit is a compact
I Applying the above procedure to every minimal vector Y representation of an ND coterie, which often requires less
of g, we obtain space than a list of all the quorums of the ND coterie.
Remark 4.4: B-decomposition can be generalized if we
= l/ fY. substitute the basic majority function of (4.2) by any positive
YEMmSet(g) +
self-dual ( k 1)-ary function F and represent
0
Remark 4.3: In the above construction, many f1 can be
redundant. It is usually possible to make k in ( 2 ) fairly small. by a node that is labeled by z and has k ( > 2) child nodes,
However, the true minimization is left open. 0 f l . f;... . . . f r c . In particular, if F represents a vote-assignable
Lemma 4.2: Let f be a positive, self-dual function on I J . ND coterie (see Section VI for definition), in which each f z
Then f can be decomposed as follows. has weight 1 and r has weight k - I , it is given by

f = (fl v f2 v ". v fk)r v (fl A f'2 A ''. A fk)

where .r E I J and each f z is a positive, self-dual function,


which does not depend on T .
786 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO. 7, JULY 1993

If minimum sum, consisting of all of its prime implicants. From


the definition of g d , it is easy to see that the minimum sum of
gd consists of prime implicants of the form

YPl,YP2 or PlP2,

where P I (resp., P 2 ) is a prime implicant of ( f l ) w = l (resp.


f2). Since both g1 and g2 cannot depend on y, assume without
loss of generality that all terms of the form yP1 or yP2 belong
to 91. Then 9 2 must contain at least one term P1P2, and g1
and 9 2 share all the variables in PI and P 2 , a contradiction to
the assumption on {g3}. 0
Lemma 4.5: Let f be a positive, self-dual function that
X Y U u x v W
depends on more than three variables3 and has a nonredundant
Fig. 3. A network of basic majority functions corresponding to Fig. 2 B-decomposition. A variable y can be the root of the tree
representing a B-decomposition of f, if and only if one of the
following conditions holds, where k is the size of the smallest
C . Nonredundant B-Decomposition of ND Coteries
subset in M ~ n S e t ( f ) . ~
A n ND coterie is said to be nonredundantly B-decomposable 1) y is the unique variable that appears in all subsets in
or to have a nonredundant B-decomposition, if it has a B- +
M znSet(f) of sizes k, k 1, . . . , k + J for some 2 0.
decomposition in which all node labels are different. In this 2) k = 2 and there is exactly one subset of size 2 in
case, we need to consider a decomposition MenSet(f), and it contains y.
Proof: Consider decomposition (7), where y is the root
and f l and f 2 are defined on disjoint sets of variables. First,
where both f l and f 2 are positive, self-dual and, furthermore, assume that both f l and f 2 depend on more than one variable,
their variable sets are mutually disjoint and do not contain and, for z = 1.2, let kt denote the size of the smallest subset in
y. In decomposition (7), we say that y is the root of the MznSet(f,). Without loss of generality, let k2 2 k l , where
corresponding decomposition tree. k l 2 2 by assumption on f l and f 2 . Since every subset
*
Lemma 4.4: Assume that a positive, self-dual function f in M z n S e t ( f 1 A f 2 ) has size at least kl +
k2, any subset
has a decomposition of the form (7) and that f l depends on a
variable w.Then f has another decomposition tree with root
G E MznSet(f) with a size between k l + 1(= k ) and k2 1 +
(< kl + k 2 ) , inclusive, satisfies G E M z n S e t ( ( f 1 V f2)y), and
w if and only if f l = w. hence contains y. The variable y with this property is unique
Proof: If: If f l = I N , we have (hence must be the root), since there is no variable other than y
that appears in all subsets G E MznSet(f) with IGI 5 k 2 t - l .
(Recall that f l and fz are defined on disjoint sets of variables.)
Therefore, f has a decomposition tree whose root is w. Next, assume that f l or f 2 depends on exactly one variable.
Only-if Assume that f l in decomposition (7) depends on Without loss of generality, let f l depend on U,(# y) only.
variable w and some others. Assume further that 'U) is the (In this case k2 2 2, since f depends on more than three
root of some decomposition tree for f . Using a theorem of variables.) Then, {w,y} E M z n S e t ( f ) and hence k = 2.
Boolean algebra, we derive This subset {w, y} is the only subset of size 2 in MznSet(f),
since f can be expressed as

f = (wv f 2 ) Y v U1f2,
v ((fl)w=O v f 2 ) Y v ( ( f l ) w = O A f 2 ) and fz depends on more than one variable, which is different
= [ ( ( f l ) w = l v f 2 ) Y v ( ( f l ) w = l A f2)l.I from w.Then, as noted in the proof of the if-part of Lemma
v ((fl)w=O v f2)Y v ((fl)w=O A f 2 ) . 4.4, either y or iii (but not others) can be the root. This
corresponds to the case 2 in the statement of the lemma. 0
Define g by
Example 4.3: Consider the positive, self-dual function f of
gd = ( ( f l ) w = l v f2)y v ((fl)w=l A f2)> Example 4.2,
i.e., the coefficient of w in the expression for f . Since tu f = 1Ln: v lU3-y v 1I1UZ v llxy v uuw v uvy v 1L1UY.
is the root (i.e., there is a decomposition of type (7), f =
(91V g2)w V (91 A g2)), gd must be of the form The above lemma (condition 2) asserts that either one of U and
z (and no other variable) can be the root of a decomposition
gd = 91 v g2 tree. 0
where g1 and g2 are positive, functions defined On 3Recall from Remark 4.1 that the positive, self-dual functions of up to three
two disjoint sets of variables. Now, as noted in Remark 1.1, variables are very simple.
a positive function has a unique disjunctive form, called the 4Note that I; 2 2 follows from the assumptions on f.
IBARAKI AND KAMEDA: THEORY OF COTERIES: MUTUAL EXCLUSION IN DISTRIBUTED SYSTEMS 787

Based on Lemma 4.5,it can be decided by the following


algorithm whether or not a given positive function f represents
a nonredundantly B-decomposable ND coterie.
Algorithm DECOMPOSE:
I f f depends on at most three variables, then f represents
a nonredundantly B-decomposable ND coterie if and
only if f = x for some variable T or f is the basic
majority function. Stop. If f depends on more than three
variables, go to step 2.
Check if f is dual-minor (i.e., M i n S e t ( f ) satisfies the
intersection property). If not, f does not represent a
coterie. Stop. Otherwise, check if there exists a variable
that satisfies one of the conditions in Lemma 4.5. If not,
f does not represent a nonredundantly B-decomposable
ND coterie. Stop. Otherwise, take such a y and go to
step 3. Fig. 4. Nonredundant B-decomposition of f in Examples 4.3 and 4.4. (a)
Compute f y = l [i.e., S1 =Minimal({G - {y}lG E Binary tree representation. (b) Compact representation.
M i n S e t ( f ) } ) ]Decompose
. f y = l into a disjunction of
two positive, dual-minor functions, fl and f 2 , having Therefore,
disjoint sets of variables as follows. Starting with an
arbitrarily chosen subset in family 5’1, form the largest f = yfy=l v fy=o [see(l)l
subfamily of S1 by successively choosing subsets from becomes self-dual [see (3)] if and only if
S1 which intersect some subset already chosen. Let
f l represent this subfamily and let fz represent the
subfamily of the remaining subsets. Then check if fy=o
i.e., fy=o = f l A f2 holds.
(i.e., So = {GIG E M i n S e t ( f ) and y @ G}) satisfies
We now show that the time complexity of DECOMPOSE
is polynomial. It is clear (see Remark 2.2) that steps 1 and
fy=o = fl A f 2 . (8)
2 can be carried out in polynomial time in the number n of
If not, f does not represent a nonredundantly B- variables and 7n = I M i n S e t ( f ) l . To see that step 3 is a
decomposable ND coterie. Stop. Otherwise, go to step polynomial time computation, first note that, by definition, S1
4. and So can be constructed from M i n S e t ( f ) in polynomial
Apply steps 1 to 3 recursively to test if both f l and f 2 time. Decomposition of f into f l and f2 can also be done
represent nonredundantly B-decomposable ND coteries. in polynomial time, just by following the procedure stated
f represents a nonredundantly B-decomposable ND co- therein. Finally, condition (8) can be tested in polynomial time
terie if and only if both of them represent nonredundantly by directly checking if M i n S e t ( f y = o )= M i n S e t ( f 1 A f i ) ,
B-decomposable ND coteries. 0 where MznSet(f1 A f 2 ) can be obtained in polynomial time,
Example 4.4: Let us apply DECOMPOSE to the positive, using the relation
self-dual function f of Example 4.3.In step 2, we see that
f is dual-minor by comparing every pair of prime implicants
of f, and that each of U and x can be the root (as observed
in Example 4.3). Choosing x as the root in step 2, we obtain
in step 3 Step 4 of DECOMPOSE applies steps 1-3 recursively to f l
and f 2 . Since each decomposition o f f into f l and f 2 partitions
f z = l = (vwv v y v U!Y) v U .
the set of variables into two disjoint subsets, the entire process
can clearly be completed in polynomial time.
i.e., f l = vw V uy V iuy and f 2 = 11, by starting with vu’,for
Theorem 4.4: Given a positive function f in the form of
example. It is easy to check that
,MinSet(f) (equivalently, as a set of its prime implicants), it
can be decided in time polynomial in the number of variables
n and IMznSet(f)l whether f represents a nonredundantly
Since f l is the basic majority function and f 2 is a single- B-decomposable ND coterie. 0
variable function, this gives the nonredundant B-decomposition Some positive, self-dual functions are not nonredundantly
shown in Fig. 4(a). B-decomposable. For example, the ND coterie consisting of
We show below that condition (8) in step 3 of DECOM- all the three-element subsets of U = ( ~ 1 ~ , 2 . ., . , us} gives
POSE implies that f is self-dual under the assumption that f l rise to such a function.
and f2 are self-dual. Since f y = l = f l v f 2 , we have Remark 4.5: The class of nonredundantly B-decomposable
coteries proposed by Agrawal and El Abbadi [ 11 is constructed
by the following algorithm. The input to the algorithm is a
788 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS. VOL. 4. NO. 7, JULY 1993

TABLE I
GENERATE I O rHr EXAMPLEI N Fig. 5
APPLYING

- w}. { r.
( I ti. 11. J ) . { r . W . s} 1

lemma. To visualize this, introduce notations

llfT,,(gi 7 ry v .rg V yg
Fig. 5. A labeled complete binary tree used in the Agrawal-El Abbadi
construction. and
M,,, = -cy v y z v zx
complete binary tree, in which all nodes have distinct labels
from U . where T , y, and z are variables, and represent MTy(g)by a
Algorithm GENERATE: node with label ( r .y), having an edge to the node with label g,
Start with the set { T ) , where E t r is the root. T is and Mzyzby a leaf node with label ( T . y, 2 ) . Fig. 4(b) shows
unscanned. the resulting tree for the function f of Example 4.3. The bi-
If no set contains an unscanned nonleaf node, then halt. nary tree representation of a nonredundantly B-decomposable
The current family of sets is an ND coterie. Other- function f with this compact notation is unique. U
wise, choose an arbitrary set S containing an unscanned Remark 4.7: The number of labeled rooted trees on n
nonleaf node x, and go to step 3. nodes, in which each node has either 0 or 2 child nodes,
Let y and z be the child nodes of s. Generate from gives an upper bound on the number of nonredundantly B-
S the following three sets: S U {y}, S U {t}, and decomposable ND coteries, as different trees may represent
(5' U {g, z } ) - {x}. x is now scanned but y and z are the same Boolean function. Such trees exist only for odd
not. Return to step 2. 7 1 = 2 m + 1. and their number is given as follows (see problem
As an example, consider the complete binary tree given in 21 in Section 3.4.4 of [19]).
Fig. 5. Algorithm GENERATE generates sets S as illustrated in
Table I. Read it from left to right. The underlined labels indi-
cate those nodes which are unscanned and nonleaf. Therefore,
the 15 sets containing only labels without underlines constitute
the constructed coterie. This is asymptotically much smaller than the number of ND
In view of the definition of B-decomposition and Theorem coteries cited in Remark 2.1. 0
4.2, it is not difficult to see that the coterie constructed as
above is equal to M i n S e t ( f ) ,where f is the Boolean function D. R-Decompovtion of General Coteries
associated with the given complete binary tree. The condition The B-decomposition of ND coteries discussed in Section
that the tree be complete can be easily incorporated into our IV-B can be generalized to all other coteries with a slight
algorithm DECOMPOSE by testing in step 2 whether two modification. This will reveal an interesting structural relation
disjoint subsets of variables of f l and f 2 have the same between a coterie and the ND coteries that dominate it.
cardinality. Consider the basic majority function, k f ( x . y. z ) = xyVyzV
It is clear that algorithm GENERATE can be applied not Z T . It is easily seen that M ~ ~ (zy) .: A4(0. y, z ) = yz (AND
only to a complete binary tree but also to any binary tree with function) and l f ~ ( yz. ) = M ( 1 . y . 2 ) = y V z (OR function),
distinct node labels. Given such a tree as input, GENERATE which are conveniently represented by nodes with labels 0
will generate the nonredundantly B-decomposable ND coterie and 1, respectively. Clearly. y z is dual-minor and y V z is
associated with the tree. GENERATE can also be generalized to dual-major.
nonbinary trees with distinct node labels, in which the Boolean Now, consider B-decomposition with the modification that
function associated with each node is of type (6) stated in some nodes may now have labels 0 (but not 1). Since every
Remark 4.4. In this case, the family of sets generated from S node represents a positive, dual-minor function (recall that a
in step 3 of GENERATE should read self-dual function is also dual-minor), repeated applications
sU{y1).sU{y2).... . s U { y k } . (.TU { y ~p2.
. ' . ' . yk})-{:r}. of Theorem 4.lb) show that the function f it represents is
positive and dual-minor. i.e., ( ' - , 2 / l m S e t ( f ) is a coterie.
if the current node has label .r and k child nodes p1. y2 . . . . yk. Example 4 5: The tree shown in Fig. 6 represents
The generalization of this type was already mentioned in [l]. 0
Remark 4.6: Lemma 4.4 asserts that the nonredundant B-
decomposition is unique if we do not distinguish the two roots
which are possible only under the circumstance stated in that
IBARAKI AND KAMEDA: THEORY OF COTERIES: MUTUAL EXCLUSION IN DISTRIBUTED SYSTEMS 789

means that g represents an ND coterie that dominates the


f original coterie M inset(f ). By assigning different variables

general, i.e., any coterie has such a decomposition.


Theorem 4.5: (9)
a) A function, represented by a binary tree composed where F and h are positive and self-dual. We rewrite f as
of copies of the basic majority function andlor AND
f = F(x0,xlrx2. . . ’ .x,),
function, is positive and dual-minor.
b) Any positive, dual-minor function f has a B- 20 = h(xl,x2,.’.,2-,)>
decomposition composed of copies of the basic majority and expand F on xo as in (1). we thus obtain
function hndJor AND function.
Proof: As a) was already shown, we prove b) only. Since f (x)
= F(17 x ) x o F ( o *
f is positive and dual-minor, Lemma 4.1 states that f can be = gd(X)xo v g(X)
represented as [by (2) since f is self-dual by Theorem 4.la)l
f = fl A f2 A ” ’ A fk vs(X)
= sd(X)h(X) (10)
for some IC > 0, where each f i is positive and self-dual. where X = (x1,x2,...,xn), g ( X ) = F(O,X), and g is
Recall that each fi has a B-decomposition into basic majority dual-minor. This decomposition may be considered as a gener-
functions by Theorem 4.3, and the conjunction of IC fi’s in alization of (2) in the sense that positive, self-dual “function”
the above expression can be realized by using IC - 1 AND zo is replaced by a general positive, self-dual function h.
functions MO(y , z ) as follows. Decomposition (10) is useful if g and h are constructed from
smaller functions; more precisely, if g depends on less than
fl A f2 A . . . A f k = (. . . ((fi A fz) A f3) . . . A f r c ) n - 1 variables (i.e., F depends on less than n variables) and
Therefore, f has a B-decomposition as stated. 0 h is composed of a known class of functions, each depending
Assume now that a B-decomposition T of the above theo- on less than n variables. In the following subsections, we shall
rem is given for a positive, dual-minor function f . Since the discuss two cases that meet this requirement.
basic majority function is self-dual and the dual of AND is OR,
i.e.. B. Decomposition into Positive Self-Dual
and Positive Functions
Before presenting- the main result of this subsection, we
the B-decomposition T d ,obtained by switching all labels 0 to describe some properties of positive functions f (X), where
1, represents fd. Therefore, this can be used as a convenient X = (xi.x2.. . . . x n ) and n 2 3. Expanding f on xn-1 and
way of defining an ND wr-coterie, zn by (3), we obtain
B = ( M i n S e t (f),M inset(f d ) ) , f (XI=fll(X’)xn-lxn
v flo(X’)Zn-l
v fol(X’)zn
as well as its representation by two trees. v fOO(X’) (11)
A more interesting observation is that a self-dual function where
can be defined from T if all labels 0 in T are replaced by some
variables. Since M ( 0 ,y, z ) 5 M ( u ,y, z ) for any variable U X’= ( z ~ , Q . . . . , x ~ -and
z)
(which is possibly equal to y or z), the resulting self-dual f a b ( X ’ ) = f ( X ’ , a , 6 ) for a = 0.1 and 6 = 0 , l .
790 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO. 7,JULY 1993

By the positivity of f, (fa*} are all positive, and we have where


5
~ O O f10 L fll and foo Ifol Ifll. s ( X ) = p ( X ’ ) and
Note that flo and fol are, in general, not comparable. h ( X ) = s,-1.c7L v q(X’)z,,-1 v q d ( X ’ ) z , , (16)
Lemma 5.1: Consider decomposition (11) of a positive
proving the next theorem.
function f(X)of n variables, where n 2 3. f is self-dual
if and only if Theorem 5.1: For any positive, self-dual function of n
variables, f ( X ) , the decomposition (10) decomposes f(X)
fOo(x’) = ftl(x’)
[equivalently, f&(X’)= fll(X’)] into smaller functions in the sense that h ( X ) is defined by a
f o l ( ~ ’ )= f & ( ~ ’[equivalently,
) f&(~=
’ )flo(X’)]. positive function of n - 2 variables [i.e., q(X’) in (16)] and
g ( X ) [= p(X’)] contains n - 2 variables. 0
(12)
Proof: From ( l l ) , we get C. Decomposition into Disjoint Sets of
fd = (f;“,v 2,-1 v GdfldO v G-l)(f& v G J f O O . Variables (A-Decomposition)
Another interesting case arises when the set of variables
Since f00 5 f l o I f l l implies fi02 f,”, 2 ffl, the above can be decomposed into two disjoint sets. In this case, (10)
expression can be simplified to
becomes
fd = f&Xn-lXn v fo4xn-1 v f:”.rn v f:l f(X)= s d ( z ) Wv) g ( Z ) (17)
By considering all possible value assignments to x , ~ - I and where
xn, and by noting that foo = fal
implies f& = f l l , and so
x
= (51.22.’...2,) .
forth, it follows that f = f d holds if and only if condition
(12) holds. 0 Y = (xtl,xz2.’~~,Xzk)*
Define p ( X ’ ) and q(x’) as follows. 2 = ( : E ~ ~ x+ ,~, +. ~ ,. . . x,,), and . (18)
p d ( X ’ ) = f i l ( X ’ ) and q ( X f )= flo(X’). ( x z , xi,.
. . . . xtn) is a permutation o f 22,.. . ,z,).
(XI,

Lemma 5.1 implies that a positive function f is self-dual if Note that decomposition (2) is a special case of (17), where
and only if it has a representation h ( Y )is a single variable. Decomposition (17) is not universal,
since, for example, the ND coterie consisting of all the three-
element subsets of U = (u1, u2,. . . , us} does not have such
f ( X ) = pd(X’)x,-lxn v q(X’)Z,-l v q d ( X ’ ) x , v p ( X ’ ) , decomposition.
(13) Remark 5.2: In [24], Neilsen and Mizuno proposed a coterie
such that p ( X ’ ) and q(Xf) are positive functions satisfying join algorithm that constructs an ND coterie C3 over ground
set U = ( U - (20))U U’ from two ND coteries C1 and C2
P ( X ’ ) I dX’)I P “ W (14)
under disjoint ground sets U and U’,respectively, where xo
(i.e., p(x’) 5 qd(x’) 5 p’((~’).) is a designated element in U.That is, G3 E C3 holds if and
Note that (13) can be considered as a rule for constructing a only if
self-dual function f from smaller functions p(X’) and q(X’), G3 = G1 f o r some G1 E U with xo G I , or
where p ( X ’ ) and q(X’) canbe chosen independently as long (23 = (GI - (50))U G2 for some G ZE C2 and some
as (14) is satisfied. A special case of this decomposition is
GI E U with xo E G I .
f(X)= ~ ~ - 1 2V ,q(Xf)2,-1 V qd(X’)x, (15) They show, among other things, that C3 is an ND coterie if
(i.e., pd(X‘) = 1 and p ( X ’ ) = 0). In this case, condition (14) and only if so are C1 and C2.
is trivially satisfied for any positive function q(X’). Now, let F ( z 0 , Z ) [resp., h ( Y ) ]be the positive, self-dual
Remark 5.1: Relation (15) implies the following inequality: function associated with C1 (resp., C,) given in the following
(The number of positive, self-dual functions of up to n form:
variables) 2 (The number of positive functions of up to n - 2 F(zo,Z ) = g d ( Z ) z o v 9 ( Z ) ,
variables). where
However, this does not give any better lower bound on the
g d ( Z ) = F ( l . 2)and g ( 2 ) = F ( 0 ,2).
number of positive, self-dual functions than that given in
Remark 2.1. 0 Then it is not difficult to see that the ND coterie given by
Now take any positive, self-dual function f ( X ) and consider
f ( X ) of (17) is nothing but the above ND coterie C3. In this
its decomposition (13). It can be rewritten as follows. sense, (17) is a Boolean description of Neilsen-Mizuno join
algorithm. An advantage of the Boolean approach is that the
f ( X ) = pd(X’)xn-1z, v q(X’)s,-1 v qd(X’)zn v p ( X ’ ) NDness is an immediate consequence of the self-duality of f,
= pd(X’)(3&12, v q(X’)x,-1 v qqX’)x,) though a rather involved argument was necessary in [24] to
show it directly from the join algorithm.
v P ( X 0 [by (211 Moreover, the construction of C3 as above is valid even
= g d ( X ) h ( X )v g(X). if Y and 2 are not disjoint, as it can be considered as an
IBARAKl AND KAMEDA: THEORY OF COTERIES: MUTUAL EXCLUSION IN DISTRIBUTED SYSTEMS 791

algorithm to compute M inset ( f ) of general decomposition Therefore, (21), hence (20), is a decomposition of the form
(10). However, in this case, some generated sets may be (17). 0
included in other sets, and, therefore, operation M znzmnl(C3) Remark 5.3: Properties and algorithms related to A-
is necessary to obtain the corresponding ND coterie. 0 decomposition have been extensively studied in the literature
We point out here the relationship of decomposition (17) of Boolean functions (e.g., [2], [ 141). Interestingly, this subject
to the classical decomposition of Ashenhurst [2] (referred has also been studied in other areas under various names, such
to henceforth as A-decomposition), which can be applied to as “committees” in game theory [28], “clutters” in set systems
any Boolean function. A Boolean function f ( X ) of n ( 2 3) [ 5 ] , and “modules” in coherent systems of reliability theory
variables has an A-decomposition if it can be represented as [6]. Based on the result of Billera [5],Mohring [22] developed
an algorithm to test the existence of A-decomposition for a
f ( X ) = JYW),
2) (19) positive Boolean function (in Boolean terminology), which
+
where F is a function of n - IC 1 variables, h is a function runs in polynomial time in n and m = J M i n S e t ( f ) ) .The
of k (> 2) variables, and Y and Z are given by (18). The time complexity was further improved to O(n2m3)in [27]. 0
next lemma shows that decomposition (17) is equivalent to As a special case of (17), assume that
A-decomposition applied to the functions representing ND
g d ( Z ) = g ’ ( Z ’ ) V z and g ( Z ) = g ’ ( Z ’ ) A z (22)
coteries.
Lemma 5.2: Let a Boolean function f ( X ) that depends where z is a variable in 2, and 2‘ denotes the
on n ( 2 3) variables be positive and self-dual. Then f has vector of variables Z from which z is deleted, and
a decomposition of the form (17) if and only if it has an g ’ ( 2 ’ ) is positive and self-dual. Then (17) becomes
A-decomposition of the form (19).
Proof: Decomposition (17) is obviously a special case of
A-decomposition. Conversely, if f has an A-decomposition, it which is in the same form as (7). Therefore, nonredundantly
can be decomposed as follows. B-decomposable ND coteries in Section IV-C are contained
f ( Y ,2)= F ( l . Z ) h ( Y ) v F ( O , Z ) h ( Y ) . in the class of ND coteries which are obtained by recursively
(20)
applying decomposition (17) to all the generated functions (as
Since f depends on Y,there is an assignment Z = A such long as they contain more than three variables).
that F ( 1 , A ) = 1 and F ( 0 , A ) = 0. (If not, there is an
assignment such that F ( 0 ,A) = 1 and F(1.A) = 0. In this VI. VOTE-ASSIGNABLE
COTERIES
case, interchange the roles of h and 6 by redefining h as h.)
Then A. Vote-Assignable Coteries and Threshold Functions
f(Y,A) = h(Y). A Boolean function f ( X ) is called a thresholdfunction [23]
if there is a set of weights, 1 1 ~ 1 . .. . , w,, and a threshold T
and h is positive since f is positive. Next, consider assign-
such that f ( X ) = 1 if and only if E, w,x, 2 T . Here,
ments Y = B1 and Y = B2 such that B1 > B P , and
all weights and thresholds are nonnegative integers. Any
h(&) = l , h ( B z ) = 0, that is f(l31.Z) = F ( 1 . Z ) and threshold function with nonnegative weights is positive. The
f ( B 2 . Z ) = F ( 0 , Z ) . Since f is positive in Y , this implies
basic majority function is a threshold function with weights
that
w 1 = 1112 = 7113 = 1 and threshold T = 2.

F ( 1 , Z ) 2 F ( 0 . Z), Since f d ( X )= f ( X ) by definition, we have


f d ( X ) = 1 e f ( X ) = 0 e C , w 2 ( l - z,) < T
and (20) reduces to * +
E, U J z 2 , 2 E, 711% 1 - T.
From this observation, it follows that
f ( Y ,2)= F ( l , Z ) h ( Y ) v F ( 0 , Z ) . (21)
i) If f is a threshold function, then f d is also a threshold
Now, function, which is realizable with the same set of weights
f d ( Y . 2)= ( F d ( 1 . Z )v h d ( Y ) ) F d ( O , Z ) as f and a threshold of T d = W +
1 - T , where
= F d ( O , Z ) h d ( Y )v F d ( 1 . 2 ) .
I.2’ = E,wz,
ii) A threshold function f is dual-comparable, and is dual-
and since f is self-dual, minor (resp., dual-major) if T >
T d (resp., T Td), <
and
F d ( O , Z ) h d ( Y )v F d ( l . 2 ) = F ( l , Z ) h ( Y )v F ( O . 2 ) . iii) A threshold function f is self-dual if W = w, is E,
Choosing an assignment (e.g., E’ = 0) to Y such that h ( Y )= odd and T = (W 1)/2. +
h d ( Y )= 0, we have The coterie represented by a function f is said to be vote-
assignable [ 121 if there is a set of nonnegative integer weights,
F ( O , Z )= ~ ~ ( 1 (i.e.,F(l,z)
. ~ 1 =~ ~ ( 0 . 2 ) ) . U J ~. .. .w , , such that W = E,w, is odd and f ( X ) = 1if and

and choosing an assignment to 2 such that F ( 1 . Z ) = 1 and


> +
only if E, ~ L ] , X , (W 1)/2. A bicoterie (P,Q) is said to be
F ( 0 , Z ) = 0, we have vote-assignable [ 11] if both f p and f~ are positive threshold
functions. The following results now easily follow from the
h ( Y )= h d ( Y )(i.e..h is self dual). above three facts [ l l ] , [12].
192 IEEE ‘TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS. VOL. 4, NO. I , JULY 1993

Theorem 6.1: voting if C = M z n S e t ( f ) for some Boolean function


a) M z n S d ( f )is a vote-assignable ND coterie if and only
if f is a positive, self-dual threshold function. f = F(fl.f2.....fk) (23)
b) Let B = (MznSet(g), MznSet(gd)).B is a vote-
assignable ND bicoterie if and only if g is a positive
where F is a threshold function with weights woo = 1
threshold function.
(z = 1 , 2 . . . . . k ) and threshold To = I, and each fi (z = 1, 2,
c) Let B = (MznSet(g), MznSpt(g’)). I? is a vote-
assignable ND wr-coterie if and only if g is a positive,
. . , k ) is a positive threshold function of n = IUI variables
with weights iut, (J’= 1,2. . . . , n ) and threshold T,. Here, all
dual-minor threshold function. 0 weights and thresholds are nonnegative integers. They have
Theorem 6.2: Let L? = ( P . Q ) be a vote-assignable ND shown, among other things, the following properties.
bicoterie. Then either B or L?’ = ( Q .P ) is a vote-assignable
i) Any coterie has an ILfD(1,k ) voting for some 1 and k .
wr-coterie.
ii) Let f = F ( f 1 - f,....fk) ~ be an MD(1,k) voting that
Proof: Follows from fact ii) above, Theorem 2.4. and
represents a coterie P , and let Q be the family of
Theorem 6.lb). 0
+
subsets defined by the M D ( k 1 - 1, k ) voting f’ =
Theorem 6.3: Let f represent any vote-assignable ND co-
terie under U, = { u 1 , 1 1 2 . . . . . t i T L } . f can he constructed
F’(ff. ft.. . . , f,”).Then, B = ( P ,Q) is a wr-coterie.
One problem here is that it is not obvious whether the family
from a vote-assignable ND wr-coterie B = (.MmSet(g),
of subsets represented by an M D ( I ,k ) voting is a coterie, or
MznSet(gd))under U n - 1 = { U I ~ I L ~ . . . . . U ~ , -by~ } f =
whether it is an ND coterie, unless we check all subsets along
g d x l LV g. Moreover, the correspondence between q and .f
the line discussed so far. An easy way to generate only coteries
is one-to-one. 0
or only ND coteries by hlD(1. k ) voting is given below.
Corollary 6.1: Let IUI = 11. Theorem 6.4:
a) The number of vote-assignable ND coteries under U a) Let an , , f ~ ( l . k voting
) (23) satisfy
is equal to the number of positive, self-dual threshold
functions of n variables. +
1 2 [ ( k l)/21, and
b) The number of vote-assignable ND bicoteries under I T is each fl (z = 1.2. . . . k ) is dual-minor.
equal to the number of positive threshold functions of 7) Then M z n S e f ( f ) is a coterie.
variables. (Note that ( P .Q ) and ( Q .P ) are two distinct b) Let an nlD(1, k ) voting ( 2 3 ) satisfy
bicoteries unless P = (2.)
k is odd and 1 = ( k + 1)/2, and
c) The number of vote-assignable ND wr-coteries under I’
each f i ( 1 = 1 . 2 . . . . . k) is self-dual.
is equal to the number of positive, self-dual threshold
+
functions of 71 1 variables. 0 Then M z n S e t ( f ) is an ND coterie.
Remark 6.1: The number of positive threshold functions Proof: Immediate from Theorems 4.1, 2.1, and 2.2, since
of n variables N(7b) (which is equal to the number of function F with 1 2 [ ( k + 1)/21 (resp., 1 = ( k + 1)/2 for an
positive, self-dual threshold functions of 7 1 + 1 variables) odd k ) is dual-minor (resp., self-dual) as observed in Section
VI-A. 0
is bounded from below and above as follows [31],
Unfortunately, it is not known whether the MD(1, k ) votings
[321.
described in Theorem 6.4 are universal [i.e., can generate all
coteries (ND coteries)] or not. However, it can be shown that
M D ( l , k ) votings satisfying the conditions of Theorem 6.4a)
are universal for coteries if and only if those satisfying the
conditions of Theorem 6.4b) are universal for ND coteries.
This follows from the observation that the self-dual function
f defined by (2) (Section 111) from a dual-minor function g
Recently it has been shown in [ 3 3 ] that is a positive threshold function if and only if g is a positive
threshold function.
log, iv ( 1 1 ) ?12.
Property ii) above can be strengthened slightly by Theorem
2.4, since f ’ referred to in ii) is equal to f d by the fact that
+
f is an MD(1. I C ) voting and f ’ is an MD(k 1 - 1, k ) voting
as n tends to infinity. Comparing this with the number of (see also Property i) in Section VI-A).
positive, self-dual functions, cited in Remark 2.1, we see Theorem 6.5: Let B = ( P .Q ) be defined as in property ii)
that the vote-assignable ND coteries form only a very small above. Then B is an ND wr-coterie. n
fraction of all ND coteries. 0

B. Multidimensional bte-Assignable Coterie5 VII. CONCLUSIONS


In [ 8 ] , the concept of multidimensional voting is introduced We have shown that Boolean functions provide an elegant
as a generalization of vote-assignable coteries. In our termi- way of modeling coteries, bicoteries, and write-read coteries.
nology, a family C of subsets of li is said to have an hfD(1.k) ND coteries, ND bicoteries, and ND wr-coteries have been
IBARAKI AND KAMEDA. THEORY OF COTERIES. w n : x EXLUJSION IN m i ~ ~ i ~ SuY rS Tm~ M S 793

characterized in a very simple way i n this framework. and [ 141 M. A. Harrison, Introduction :o Switching and Automata Theory. New
many properties have been proved and/or reproved from York: McGraw-Hill, 1965.
[ 151 M. Herlihy, “Dynamic quorum adjustment for partitioned data,” ACM
these characterizations. We have also discussed decomposi- Trans. Dutabase Syst.. vol. 12, pp. 170-194, June 1987.
tions of ND coteries extensively. Shannon decomposition (1) [ I h ] T. Iharaki and T. Kameda, “A theory of coteries,” Tech. Rep. CSS/LCCR
TR90-09, Lab. of Computer and Communications Research, Simon
and Ashenhurst decomposition (19) provided theoretical basis Fraser Univ., Aug. 1990.
for these coterie decompositions. 171 T. lbaraki and T. Kameda, “A boolean theory of coteries,” in Proc.
One open problem we are currently investigating is: to 3rd IEEE SvmD. Parallel and Distributed Processinn, Dallas, T X , Dec.
1991, pp. i56-157.
describe a given ND coterie, how should one design the 181 D. Kleitman and G. Markowsky, “On Dedekind’s problem: The number
corresponding network of basic majority functions‘? Although ’ of isotone Boolean functions,;’ Trans. AMS, vol: 214, pp. 373-390,
the lemmas in Section 1V-€3 give a construction of such a 1975.
191 D. E. Knuth, The Art of Computer Programming Vol. I : Fundamental
network, it is desirable to design an optimal network (e.g., Algorithm.\. Reading, MA: Addison-Wesley, 1973.
using the minimum number of copies of the basic majority 201 A.D. KorSunov, “Solution of Dedekind’s problem on the number of
monotone Boolean functions,” Soviet Math. Dokl., vol. 18, pp. 442-445,
function). This is reminiscent of the minimization of the 1 U77
number of NAND gates in a NAND-realization of a Boolean M. Maekawa. “A flalgorithm for mutual exclusion in decentralized
function. Furthermore, the network need not be a tree; this systems,“ ACM Trans. Comput. Syst., vol. 3, pp. 145-159, May 1985.
R.H. Mohring, “Algorithmic aspects of the substitution decomposition
may help reduce the network complexity further. in optimization over relations. set systems and Boolean functions,”
Most of these design optimization problems are likely to Algorithms and Software for Optimization, edited by C.L. Monma, Ann.
be NP-hard. However, as in the case of logic design of Operat. Res., vol. 4, pp. 195.- 225, 1985.
S. Muroga, Threshold Logic and Its Applications. New York: Wiley-
computer hardware, it should be possible to develop reasonable Interscience, 1971.
heuristics to generate “good” networks. M. I-. Neilsen and M. Mizuno, “Coterie join algorithm,” IEEE Trans.
Parallel Distributed Syst., vol. 3, no. 5 , pp. 582-590, Sept. 1992.
M. Ohradovic and P. Berman. “Voting as the optimal static pessimistic
scheme for managing replicated data,” in Proc. 9th Symp. Reliable
DiJtributcd .syst., 1990, pp. 126- 135.
ACKNOWLEDGMF.NT
U. N. Peled and B. Simeone, “Polynomial-time algorithm for regular
We have ’benefited from the comments given by the mony- set-covering arid threshold synthesis,” Discrete Appl. Math., vol. 12, pp.
57--69, 1985.
mous reviewers, and from the discussions with T. Eiter of K. G. Ramamurthy, “A new algorithm to find the smallest committee
Technical llniversity of Vienna, M. Yamashita of Hiroshima containing a given set of players,” Opsearch, vol. 25, pp. 49-56, 1988.
1 3 . Shapley, “On committees,” in New Methods of Thought and
University, M. L. Neilsen and M. Mizuno of Kansas State Uni- Procedures, F. Zwycky and A.G. Wilson, Eds. New York: Springer,
versity, Y. Crama of Limburg University and H. Nagamochi 1Y67.
of Kyoto University. In particular, a comment by T. Eiter has D. Skeen, “A quorum-based commit protocol,’’ in Proc. 6th Berkeley
Workdiop Distributed Data Management and Computer Networks, Feb.
led to Theorem 4.4, and Remark 4.6 was provided by one of 1982, pp. 69-80.
the anonymous reviewers. R. H . Thomas, “A majority cnnsensus approach to concurrency control,”
ACM 7rans. Database Syst., vol. 4, pp. 180-209, June 1979.
R. 0. Winder. “Threshold logic asymptotes,” IEEE Trans. Comput., vol.
C-19, pp. 349-353, 1970.
REFERENCES S. Ydjima and 7’. Iharaki, “A lower bound o n the number of threshold
functions.“ IEEE Trans. Electron. Comput.. vol. EC-14, pp. 926-929,
[ I ] D. Agrawal and A. El Ahbadi, “Efficient solution t o the distributed 1065.
mutual exclusion problem,” in Proc. 8th ACM Symp. Principles of 1331 Yu. A. ZUKV,“Asymptotics of the logarithm of the number of threshold
Distributed Computing, Edmonton, Aug. 1989, pp. 193-200. functions of the algebra of logic,” Solwt Math. Dokl., vol. 39, pp.
[2] R. L. Ashenhurst, “The decomposition of switching functions,” in Proc. 512-513, I Y X Y .
Int. Symp. Theory of Switching, Harvard Univ., 1957, pp. 74-116.
131 D. Barbara and H. Garcia-Molina, “Mutual exclusion in partitioned
distributed systems,” Distributed Comput., vol. 1, pp. 119- 132, 1986.
[4] P. Bertolazzi and A. Sassano, “An O( rnri) time algorithm for regular
set-covering problems,” Theoret. Comput. Sci., vol. 54, pp. 237--247.
1987.
(51 I,. J. Billera, “On the composition and decomposition of clutters,” J . Toshihide Ibaraki (S’63-M’68) received the B E.,
Combinatorial Theory, vol. 11, pp. 234-245. 1971. M E , dnd Dr E degrees from Kyoto University,
[6] Z. W. Birnbaum and J. D. Esary, “Modules of coherent \ystrms,” SIAM Kyoto, Japan, in 1963, 1965, and 1970, respectively
J . Appl. Math., vol. 13, pp. 444-462. 1965.
Since 1969, he has been with the Department
[7] S. Y. Cheung, M. Ahamad, and M. H. Ammar, “Optimizing vote and
quorum assignments for reading and writing replicated data,” IEEE of Applied Mathematics and Physics, Kyoto Uni-
versity, except for two years from 1983 to 1985,
Trans. Knowledge Data Eng., to he published.
[8] -, “Multi-dimensional voting: A general method for implementing during which time he was with the Department
synchronization in distributed systems,” Tech. Rep. GlT-ICS-89/35, of Computer and Intormdtion Sciences, Toyohashi
School of Inform. Comput. Sci., Georgia Institute of Technology. 1989. University of Technology Currently he is a Pro-
191 Y. Crama, “Dualization of regular Boolean functions,” Discrete 4ppl. fessor of Applied Mathematics and Physics. He
Math., vol. 16, pp. 79-85, 1987. hds held a number of visiting appointments with
[ l o ] T. Eiter and G. Gottlob, “Identifying the minimal trdnsversals of a University of Illinois, University uf Waterloo, Simon Fraser University, and
hypergraph and related problems,” ’Tech. Rep. CU-TR9 1 16, Technischt:
I
Rutgers University His research interest includes conihtnatorial optimization,
Universitat Wien, 1991. computational complexity, datahdse systems, dnd dlgorithms.
[ 11J A. Fu, “Enhancing concurrency and availability for database systems.” Dr Ihdraki IS a member of the Association for Computing Machinery,
Ph.D. dissertation. Simon Fraser Univ., 1990. the Mathemdtical Programming Society, the Operations Research Society of
[I21 H. Garcia-Molina and D. Barbara, “How tu assign votes in a distributed Jdpan, the Institute of Electronics, Informdtion and Communication Engineers
system,” J . ACM, vol. 32, pp. 841-860. Oct. 1985. of Japdn, the Information Processing Society of Japan, the Japan Association
[I31 H. Gifford, “Weighted voting for replicated data,“ in pro^,. 7rh 4CM for Automatic Control Engineers, and the Jdpdnese Society for Artificial
Symp. Operat. Syst., Dec. 1979, pp. 150.- 162. Intelligence
794 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO. 7, JULY 1993

Tiko Kameda received the B.E. and M.E. degrees


from the University of Tokyo in 1961 and 1963,
respectively, and the Ph.D. degree from Princeton
University in 1968.
From 1967 to 1980, he was with the Department
of Electrical Engineering, University of Waterloo.
Since 1981, he has been with Simon Fraser Univer-
sity, Bumaby, B.C., Canada, where he is a Professor
of Computing Science and is the Director of Com-
puter and Communications Research Laboratory. He
has held a number of visiting appointments with
Universities of Erlangen-Niirnberg, Bonn, Frankfurt, and Braunschweig, and
Gesellschaft fur Mathematik und Datenverarbeitung, all in Germany, and also
with Kyoto University, Japan. His current research interests include database
systems, combinatorial algorithms, distributed computing, and random testing
of VLSI circuits.
Dr. Kameda is a member of the Association for Computing Machinery.

You might also like