Self-stabilizing Population Protocols

Size: px
Start display at page:

Download "Self-stabilizing Population Protocols"

Transcription

1 Self-stabilizing Population Protocols Dana Angluin, James Aspnes, Michael J. Fischer and Hong Jiang Yale University This paper studies self-stabilization in networks of anonymous, asynchronously interacting nodes where the size of the network is unknown. Constant-space protocols are given for Dijkstra-style round-robin token circulation, leader election in rings, 2-hop coloring in degree-bounded graphs, and establishing consistent global orientation in an undirected ring. A protocol to construct a spanning tree in regular graphs using O(log D) memory is also given, where D is the diameter of the graph. A general method for eliminating nondeterministic transitions from the self-stabilizing implementation of a large family of behaviors is used to simplify the constructions, and general conditions under which protocol composition preserves behavior are used in proving their correctness. Categories and Subject Descriptors: C.2.4 [Computer-communication Networks]: Distributed Systems Distributed applications; B.8.1 [Performance; Reliability]: Reliability, Testing, and Fault-Tolerance General Terms: Algorithms, Reliability Additional Key Words and Phrases: Anonymous, fairness, finite-state, population protocols, selfstabilization, sensor networks 1. INTRODUCTION In some practical scenarios, a large and sometimes unknown number of devices are deployed over a region without fine control of their locations, communication and movement patterns. The devices are all indistinguishable and have only a few bits of memory each. Such scenarios are modeled by the population protocols introduced in [Angluin et al. 2006], where families of predicates computable in this model are explored. Graph properties computable in the same model are discussed in [Angluin et al. 2005]. Communication in population protocols occurs through pairwise interaction of anonymous finite-state nodes. The number of nodes is finite but unbounded. A communication graph describes which pairs of nodes A preliminary version of the present work appeared in the proceedings of the Ninth International Conference on Principles of Distributed Systems, December James Aspnes was supported in part by NSF grants CNS and CNS Hong Jiang was supported in part by NSF grant ITR Corresponding author: James Aspnes, 51 Prospect Street, New Haven, CT , U. S. A., james.aspnes@yale.edu, Telephone: , Facsimile: Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 20YY ACM /20YY/ $5.00 ACM Journal Name, Vol. V, No. N, Month 20YY, Pages 1 28.

2 2 Dana Angluin et al. may interact. In the theoretical literature on distributed computing, some variant of a weak fairness condition is usually assumed. Informally, in an infinite fair execution each process or node satisfying certain conditions is given a turn infinitely often. We call this definition local fairness. The environment/scheduler is viewed as a powerful adversary who can strategically determine the sequence in which processes are activated, as long as local fairness is preserved. Many impossibility results rely on this assumption. For instance, the impossibility of deterministic self-stabilizing token circulation in uniform rings [Dijkstra 1974] follows from the assumption that the scheduler can activate the nodes in a round-robin fashion, preserving symmetry while achieving local fairness. However, in practical distributed systems, such a powerful scheduler seldom exists. The global ordering of computational steps depends on a variety of elements. Temperature and power-supply affect the efficiency of electronic devices. Local clock frequency influences the progress of each node. For ad hoc networks, the movement of nodes determines possible sequences of interactions. Random delay is usually used in practical leader election and collision detection protocols, which can be viewed as a way to randomize the scheduling of the system. In the model of population protocols, an alternative fairness condition called global fairness is assumed, which better reflects the scheduling properties of many distributed systems. Global fairness puts more constraints on the scheduler, so problems proved impossible under global fairness are also impossible under local fairness. Global fairness also provides a simple conceptual framework for protocol design. For instance, once a task is known to be possible in our model, randomization techniques can be applied to make the protocol work under some weaker fairness conditions. The responsibility of many systems is to meet certain specifications for wellbehavedness such as avoidance of deadlock, fairness among processes, fault tolerance, and other global system properties that cannot be simply modeled as functional computation. We extend the model of population protocols to accommodate such tasks. We focus on self-stabilizing systems that can start in any global configuration and achieve behavior meeting the task specification by itself. Such systems can tolerate worst-case transient faults. In our model, nodes are finite-state and strongly anonymous, which means not only that they do not have unique IDs, but also that they do not have innate ability to determine whether two messages come from the same source. This condition well reflects the scenario of ad hoc networks consisting of identical nodes. In Section 2, we give formal definitions of the new concepts that we use to extend the original model. In Section 3, we present a powerful technique to facilitate the design and analysis of protocols by allowing the use of nondeterministic transitions. A large family of behaviors called elastic behaviors is defined that includes all behaviors we consider in this paper. We show that nondeterminism in protocols does not increase the class of elastic behaviors that have self-stabilizing implementations. In Section 4, we introduce a framework for composing certain self-stabilizing protocols.

3 Self-stabilizing Population Protocols 3 From Section 5 to Section 9, we give self-stabilizing protocols for various problems. As a simple example, we describe a self-stabilizing token circulation protocol in a ring with a pre-selected leader. The protocol resembles Dijkstra s k-state mutual-exclusion algorithm [Dijkstra 1974] but uses only O(1) bits per node. We describe a self-stabilizing 2-hop coloring protocol which colors the nodes such that no node has two neighbors colored the same given a bound on the number of neighbors. Given the coloring protocol, we show how to direct an undirected ring. We also give a self-stabilizing protocol which constructs a spanning tree in regular graphs using O(log D) bits per node, where D is the diameter of the network. To remove the assumption of a pre-selected leader in some protocols, we construct a family of leader-election protocols, each corresponding to a class of rings. We also show that self-stabilizing leader election is generally impossible in our model without some restriction on topology. In Section 10, we conclude with a brief summary of results and directions for further research. 1.1 Other Related Work Self-stabilizing systems were first introduced by Dijkstra [Dijkstra 1974]. In his seminal paper, Dijkstra gives three protocols to achieve process mutual-exclusion in rings in a self-stabilizing way. Leader election and token management are fundamental problems in self-stabilization and have been extensively studied in various other models. Mayer, Ofek, Ostrovsky, and Yung [Mayer et al. 1992] give a constant-space probabilistic protocol for a self-stabilizing round-robin token management scheme on an anonymous bidirectional ring of identical processors, assuming an external timeout mechanism to detect deadlocks. Itkis, Lin, and Simon [Itkis et al. 1995] present a deterministic constant-space self-stabilizing protocol for leader election on uniform bidirectional asynchronous rings of prime size. In their model, there is a central daemon that picks an enabled processor each time to make an atomic move. The chosen processor can read the states of its two neighbors at the same time to determine its next state. Gouda and Haddix [Gouda and Haddix 1996] present a self-stablizing token circulation algorithm on unidirectional rings with one distinguished node. Each node in their algorithm has eight states. Higham and Myers [Higham and Myers 1999] give a randomized self-stabilizing algorithm that solves token circulation and leader election on anonymous, uniform, synchronous, and unidirectional rings of arbitrary but known size, in which each processor state and message has size in O(log n). Dolev, Israeli, and Moran [Dolev et al. 1997] present a self-stabilizing leader election protocol that tolerates addition or deletion of processors and links. Their protocol uses O(log n) bits per node. Beauquier, Gradinariu, and Johnen [Beauquier et al. 1999] present a silent and deterministic self-stabilizing leader-election protocol requiring constant memory space on unidirectional, ID-based rings where the ID values are bounded. A protocol is silent if from an arbitrary configuration the system reaches a configuration after which the communication registers of each node remain constant. They also prove a nonconstant lower bound on space for self-stabilizing leader-election in unidirectional anonymous rings under a weak fairness assumption. Herman [Herman 1990] proposes a probabilistic synchronous self-stabilizing tokencirculation algorithm for identical nodes in an odd ring. Johnen [Johnen 2004]

4 4 Dana Angluin et al. presents a randomized self-stabilizing token circulation protocol on unidirectional anonymous rings. Fairness is enforced by randomization and the fair circulation of privileges. The scheduler can only choose nodes that hold a privilege token to make the next step. Itkis and Levin [Itkis and Levin 1994] present a self-stabilizing leader-election protocol for asynchronous networks of identical nameless nodes with arbitrary topology. In their model, each node s state consists of bits and pointers to immediate neighbors. The bits of a node x are visible to any neighbor y, and y can detect whether a pointer of x points to x or to y. Each node can detect a neighbor whose state satisfies a given property, set a pointer to it, and change state based on the above information. Our impossibility result for leader election in connected interaction graphs with arbitrary topology in Section 9 shows that their model and ours differ. However, it is an open problem whether our model can simulate theirs in some special classes of interaction graphs. [Griggs and Yeh 1992] introduces the graph labeling problem with conditions at distance 2. The communication networks community has studied variants of this problem, for applications such as assigning radio frequency ranges or time slots to wireless-signal transmitters to avoid interference. Herman and Tixeuil [Herman and Tixeuil 2004] describe a randomized self-stabilizing coloring algorithm for wireless sensor networks. Although they consider ad hoc networks and do not assume each node has prior knowledge of its neighborhood, the nodes have unique identifiers. Under the assumption of a known upper bound of neighborhood size, their algorithm uses a small set of colors to label the communication graph. This is a generalization of the renaming problem [Attiya et al. 1987]. Gradinariu and Johnen [Gradinariu and Johnen 2001] give a probabilistic solution for neighborhood unique naming in anonymous networks. No explicit identifiers are assumed in the model, however, each node has the ability to associate incoming messages with neighbors, possibly by physical communication links. Moscibroda and Wattenhofer [Moscibroda and Wattenhofer 2005] present another randomized coloring algorithm for radio networks. Their algorithm has the property that nodes can join the network asynchronously. The algorithm is not self-stabilizing and also assumes the existence of unique identifiers to let a receiver recognize whether or not two different messages are sent by the same sender. We study a similar 2-hop coloring problem which requires distinct neighbors of each node receive different colors, but two adjacent nodes can have the same color as long as they do not share any neighbor. We impose a strong anonymity condition: A node does not have the innate ability to distinguish different neighbors. To our knowledge no existing protocol is applicable in this model. In Section 6, we give a self-stabilizing 2-hop coloring protocol given a known degree bound. A direct application is to assign local identifiers so that nodes are able to refer to specific neighbors, whereas such an ability is implicitly assumed in the above mentioned coloring algorithms. 2. BASIC MODEL In the population protocols model, a network is represented by a directed graph G = (V, E) with n vertices numbered 0 through n 1 and no multi-edges or selfloops. In this paper, all network graphs are assumed to be weakly connected.

5 Self-stabilizing Population Protocols 5 Each vertex represents a finite-state sensing device, and an edge (u, v) indicates the possibility of a communication between u and v in which u is the initiator and v is the responder. The distinct roles of the two devices in an interaction is a fundamental assumption in our model. An undirected communication graph refers to a network in which for every edge (u, v), interactions of the forms (u, v) and (v, u) are both possible. When presenting protocols in the population protocols model in the rest of this paper, we abbreviate population protocol to protocol in order to avoid verbosity. Readers who are interested in the relationship between population protocols and more traditional message-passing protocols could refer to [Angluin et al. 2007] for a detailed treatment. A protocol P (Q, C, X, Y, O, δ) consists of a finite set of states Q, a set of initial configurations C, a finite set X of input symbols, an output function O : Q Y, where Y is a finite set of output symbols, and a transition function δ mapping each element of (Q X) (Q X) to a nonempty subset of Q Q. If (p, q ) δ((p, x), (q, y)), we call ((p, x), (q, y)) (p, q ) a transition. The transition function, and the protocol, is deterministic if δ((p, x), (q, y)) always contains just one pair of states. The inputs provide a way for a protocol to interact with an external entity, be it the environment, a user, or another protocol. If X is empty, the protocol does not accept input. A configuration is a mapping C : V Q and an input assignment is a mapping α : V X. The state of each device in the network is given by C and the input is given by α. If X is empty, α is also empty, and C specifies a configuration. A trace T G (Z) on a graph G(V, E) is an infinite sequence of assignments from V to the symbol set Z: T G = λ 0, λ 1,... where λ i is an assignment from V to Z. Z is called the alphabet of T G. If Z = X, we say T G is an input trace of the protocol. A trace is called a constant trace if it is a sequence of the same assignment. Let C and C be configurations, α be an input assignment, and u, v be distinct nodes. We say that (C, α) goes to C via pair e = (u, v), denoted (C, α) e C, if the pair (C (u), C (v)) is in δ((c(u), α(u)), (C(v), α(v))) and for all w V {u, v} we have C (w) = C(w). We say that (C, α) can go to C in one step, denoted (C, α) C, if (C, α) e C for some edge e E. If α is empty, we simply write C e C and C C respectively. Given an input trace IT = α 0, α 1,... we write C C if there is a sequence of configurations C = C 0, C 1,..., C k = C, such that (C i, α i ) C i+1 for all i, 0 i < k, in which case we say that C is reachable from C given input trace IT. The same notation is used for protocols that do not accept inputs. An execution is an infinite sequence of configurations and input assignments (C 0, α 0 ), (C 1, α 1 ),... such that C 0 C and for each i, (C i, α i ) C i+1. We extend the output function O to take a configuration C and produce an output assignment O(C) defined by O(C)(v) = O(C(v)). Let σ = (C 0, α 0 ), (C 1, α 1 ),..., (C i, α i ),... be an execution of P. We define the output trace of an execution as OT (σ) = O(C 0 ), O(C 1 ),..., O(C i ),.... Unlike most models in the literature, in population protocols fairness is a global property, therefore we call this fairness condition global fairness. Definition 2.1 Global Fairness. An execution is fair if for every α, C and C

6 6 Dana Angluin et al. such that (C, α) C, if (C, α) occurs infinitely often in the execution, then C also occurs infinitely often in the execution. An execution is generated by an infinite sequence of interactions. Intuitively, if the interactions in this sequence are chosen by an adversarial scheduler in accordance with the global fairness condition, the scheduler can not prevent an interaction from occurring infinitely often in a given configuration and input assignment unless that configuration-input pair occurs only finitely many times. Our definitions are actually slightly weaker. Our notion of execution specifies only the resulting configuration of each transition, not the actual transition that causes that result. In case two different transitions lead to the same result (as can happen for example with no-op transitions), the execution only shows the resulting configuration, not which transition led to that result. Similarly, our formal definition of global fairness does not insist that a particular transition be activated in a certain configuration-input pair; it requires only that the configuration that would result, were the transition to be activated, must eventually occur. Note that we do not require that it ever occur as the very next configuration. One important use of global fairness is to show that if a certain execution fragment is possible from a given infinitely-occurring configuration, then the configuration that would result from executing that fragment must also occur infinitely often in the execution, subject to some contraints on the inputs. Theorem 2.2. Let σ be an execution that satisfies global fairness, and assume C 0 occurs infinitely often in σ. Let σ = (C 0, α 0 ), (C 1, α 1 ),..., (C k, α k ) be an execution fragment. Suppose the α i s are such that if C i occurs infinitely often in σ, then (C i, α i ) occurs infinitely often in σ ( 0 i < k). Then C k occurs infinitely often in σ. Proof. Global fairness implies that if (C k 1, α k 1 ) occurs infinitely often in σ, then C k occurs infinitely often in σ. The result follows by an easy induction on k. A self-stabilizing system can start at an arbitrary configuration and eventually exhibit good behavior. We define a behavior B on a network G(V, E) to be a set of traces on G that have the same alphabet. We write B(Z) to be explicit about the common alphabet Z. A behavior B is constant if every trace in B is constant. If given the constraint that every input trace is contained in some behavior B in (X), the output trace of every fair execution of a protocol P (Q, C, X, Y, O, δ) starting from any configuration in C is in some behavior B out (Y ), we say P is an implementation of output behavior B out given input behavior B in. If P does not have any restriction on inputs, we simply say P is an implementation of B out. Given a behavior B(Z), we define the corresponding stable behavior B s (Z) = Z B(Z). Thus, an execution in a stable behavior has a completely arbitrary finite prefix followed by an execution with the desired properties. If P (Q, C, X, Y, O, δ) is an implementation of B s, and C is the set of all possible configurations, we say that P is a self-stabilizing implementation of B. 3. NONDETERMINISTIC PROTOCOLS

7 Self-stabilizing Population Protocols 7 In section 2, we gave the definition of deterministic protocol and nondeterministic protocol. Nondeterminism in this model is different from nondeterminism in computation theory. A nondeterministic Turing machine is allowed to always guess the correct choice of multiple possible steps. In the execution of a population protocol, the choice is made by an adversarial scheduler who is only limited by global fairness. We define the repetition closure of a sequence t to be the set of sequences obtainable from t by repeating each element one or more times. In other words, given any sequence t = a 1 a 2... a i..., the repetition closure R(t) is a + 1 a a+ i... in regular expression notation. We extend the definition of R to a behavior B by taking the union of R(t) for all t B. We say a behavior B is elastic if B = R(B). We show below that for elastic behaviors nondeterministic protocols are not more powerful than deterministic ones, in the sense that if there exists a nondeterministic selfstabilizing implementation of an elastic behavior, there also exists a deterministic version. We only consider networks of at least three nodes. We construct a compiler to convert every nondeterministic protocol to a deterministic one. To preserve self-stabilization, the compiler itself must be selfstabilizing. Let P 1 be a nondeterministic protocol with states Q, input alphabet X, and transition function δ. We describe a simulation of P 1 that works in graphs with at least three vertices. Let m be the maximum cardinality of any of the sets δ((q, x), (q, x )) for q, q Q and x, x X. For each q, q Q and x, x X, select an arbitrary surjective function f (q,x),(q,x ) mapping {0, 1,..., m 1} to δ((q, x), (q, x )). We describe a protocol P 2 to simulate each step of P 1 by multiple deterministic steps. The state components used in P 1 only change in the last of the corresponding steps in P 2. The state consists of three components: (1) a state q Q, (2) a mark, which we call a nondeterminizer token (abbreviated as token from here on for simplicity), or its absence, (3) a choice counter, consisting of an integer between 0 and m 1 inclusive. There are four types of transition rules in P 2 : Rule 1. (([q c], x), ([q c ], x )) ([q c], [q c ]) Rule 2. (([q c], x), ([q c ], x )) ([q c], [q (c + 1)]) Rule 3. (([q c], x), ([q c ], x )) ([q (c + 1)], [q c ]) Rule 4. (([q c], x), ([q c ], x )) ([r c], [r c ]) where the increments are made modulo m and (r, r ) = f (q,x),(q,x )(c) is the pair of states in δ((q, x), (q, x )). Thus, in transition rule 4, the value of the choice counter of the initiator is used to make a deterministic choice of an element of δ((q, x), (q, x )). The role of the tokens is to hop around the graph incrementing choice counters as they go. The first three transition rules accomplish this purpose. Transition rule 4 ensure that deadlock is impossible: even if we start from a configuration with no tokens, the rule will generate new tokens. Transition rule 1 ensure that the tokens have room to move around by merging two adjacent tokens.

8 8 Dana Angluin et al. We call the shared state component of P 1 and P 2 the q component. If C 1 is a configuration in P 1, and C 2 is a configuration in P 2, we say C 1 C 2 if each node in C 1 has the same q component as the corresponding node in C 2. Lemma 3.1. Assume a connected network with n 2 vertices. Starting from an arbitrary configuration, every globally fair execution of P 2 eventually reaches a point after which the number of tokens in every configuration is between 1 and n 1. Proof. Assume the initial configuration contains at least one token. If there are n tokens, the next interaction will remove one of them, because only the first transition rule is applicable. Starting from a configuration with at most n 1 tokens, it is impossible to generate the nth token, because the transitions that generates new tokens (rule 4) is applicable only when two nodes without the token interact. It is also impossible for all the tokens to disappear, because the number of tokens only decrease when two merge into one by applying transitions of rule 1. If the initial configuration does not contain any token, the next interaction will generate one, because only rule 4 is applicable. Therefore, after the first step, there will be at least 1 and at most n 1 tokens. It is never possible thereafter to generate the nth token, nor is it possible for all tokens to disappear. Lemma 3.2. Assume a connected network with n 2 vertices. Starting from a configuration with at least one and at most n 1 tokens, a token can be generated at any node without changing the q component of any node. Proof. The only transitions that change the q component are of rule 4 which require that both the initiator and the responder do not have a token. The token can be moved to any node by applying the other transition rules. In particular, transition rule 2 and rule 3 move a token in either direction on an arbitrary edge with an existing token on one end and no token on the other. Lemma 3.3. In a connected network of at least three nodes, for any possible step (C 1, α) C 1 of P 1 and any C 2 such that there is at least one and at most n 1 tokens in C 2 and C 1 C 2, where n is the number of nodes, there exists C 2 such that C 1 C 2 and an admissible sequence of steps of P 2 from (C 2, α) to C 2 given the constant input trace with input assignment α. Proof. Let (u, v) be the activated edge, and ((q 1, x 1 ), (q 2, x 2 )) (r 1, r 2 ) be the transition in P 1 corresponding to the step (C 1, α) C 1. We show there exists a sequence of steps in P 2 that starts from (C 2, α) and reaches some C 2 where C 2 C 2. We construct a sequence of steps using rules 1 3 to reach a configuration where the states of u and v are [q 1 c 1 ] and [q 2 c 2 ] respectively, f (q1,x 1),(q 2,x 2)(c 1 ) = (r 1, r 2 ), and no q component of any state has changed. A final activation of (u, v) results in the desired configuration C 2. First, we apply the sequence guaranteed by Lemma 3.2 to place a token at v without changing the q component of any node. If there is now a token at u, activate (u, v) twice; otherwise activate (u, v) once. Now there is one token at u and no token at v.

9 Self-stabilizing Population Protocols 9 Next, activate (u, v) repeatedly. The token moves back and forth between u and v, and c 1 cycles through all possible values. Stop when c 1 assumes a value such that f (q1,x 1),(q 2,x 2)(c 1 ) = (r 1, r 2 ). Now the token is at u. Next, activate edges without changing the q component of any node so as to leave both u and v without tokens. There are two cases. (1) If u is adjacent to another node w (w v), we remove the token from u by repeatedly activating the edge connecting u and w. The number of activations depends on the direction of the edge and whether w also has a token. (2) If v is the only neighbor of u, then v is adjacent to another node w (w v) since we assume the network has at least three nodes and is connected. Activate (u, v) once to move the token to v. We remove the token from v by repeatedly activating the edge connecting v and w. Again, the number of interactions depends on the direction of the edge and whether w also has a token. Now, neither u nor v has a token. Activate edge (u, v). Rule 4 applies, and the resulting configuration C 2 has identical q components with C 1; hence, C 1 C 2. Lemma 3.4. For any step (C 2, α) C 2 in an execution of P 2 in which the q component of some node is changed, there exist configurations C 1 and C 1 of P 1 such that C 1 C 2, C 1 C 2, and (C 1, α) C 1 is a transition of P 1. Proof. The only transitions in P 2 that change the q component of some node are applications of rule 4 which by definition is derived from the transitions in P 1. Therefore for every possible step that applies rule 4, there exists a corresponding possible step in P 1. Theorem 3.5. If a nondeterministic protocol P 1 is a self-stabilizing implementation of a behavior B on a connected network of at least three vertices given a constant behavior B, there exists a deterministic protocol P 2 that is a self-stabilizing implementation of R(B) given B. Proof. Let P 2 be the protocol from our construction. Let Π q : [qmc] q be the projection that maps states of P 2 to states of P 1 by erasing all but the q component. Extend Π q in the natural way to map configurations, sets of configurations, and executions of P 2 to the corresponding objects of P 1. Let E 2 be an execution of P 2. From Lemma 3.4, Π q (E 2 ) is contained in the repetition closure R(E 1 ) for some execution E 1 of P 1. Let A be the set of all possible configurations of P 2, and let B A be the set of all configurations in which the number of tokens is between 1 and n 1, where n is the number of nodes. Obviously, Π q (A) = Π q (B). From Lemma 3.4, for any execution E 2 of P 2 starting from a configuration in B, there exists an execution E 1 of P 1, such that Π q (E 2 ) R(E 1 ). From Lemma 3.1, every fair execution of P 2 has a suffix in which every configuration is in B. The above shows that for any fair execution E 2 of P 2, there exists an execution E 1 of P 1 such that Π q (E 2 ) has a suffix in R(E 1 ). Next, we show that E 1 is a fair execution of P 1. Let C 1 be a configuration of P 1, (C 1, α) C 1 a transition of P 1, and suppose C 1 occurs infinitely often in E 1. There is some configuration C 2 with C 1 C 2

10 10 Dana Angluin et al. that occurs infinitely often in E 2. From Lemma 3.3, there exists a configuration C 2 of P 2 such that C 1 C 2 and C 2 can be reached from (C 2, α) by an admissible sequence of steps of P 2 given the constant input trace with input assignment α. By Theorem 2.2, since E 2 is fair, C 2 occurs infinitely often in E 2. Then C 1 occurs infinitely often in E 1. Thus, E 1 satisfies global fairness, as desired. Theorem 3.5 immediately follows from the definition of behavior and that the output of each node is determined by its state. If B is an elastic behavior, B = R(B). The following corollary is immediate: Corollary 3.6. If a nondeterministic protocol P 1 is a self-stabilizing implementation of an elastic behavior B given a constant behavior B, there exists a deterministic protocol P 2 that is a self-stabilizing implementation of B given B. 4. PROTOCOL COMPOSITION In complex protocols, sometimes it is desirable to utilize existing protocols as modules. Parallel execution of protocols is easily achieved by taking the Cartesian product of their state sets and updating the states for each protocol independently when a transition occurs. In this section we introduce one technique of protocol composition in our model and show how to compose protocols P 1, P 2,..., P n, with some restrictions. For n = 2, assuming P 1 and P 2 access different components of the node s state, we run P 1 and P 2 in parallel, except that whenever P 2 is executed, it uses the current output of P 1 as its current input. When an edge is fired, it is nondeterministically determined which protocol gets the chance to execute. Recall that a behavior is constant if it contains only constant traces. Theorem 4.1. Suppose B 1 is a constant behavior. If P 2 is a self-stabilizing implementation of an elastic behavior B 2 given input behavior B 1, and P 1 is a selfstabilizing implementation of B 1, the composition of P 1 and P 2 (written as P 1 P 2 ) is a self-stabilizing implementation of B 2. Proof. Let S = C 0, C 1,... be any fair execution of P 1 P 2. Define the projection Π 1 (C) of a configuration C to be the sub-configuration produced by taking each node s state components that are accessed by P 1. Π 2 is defined similarly for P 2. Define S = C 0, C 1,... the maximal subsequence of S in which for each i, the transition immediately after C i is defined in P 1. S = C 0, C 1,... is defined similarly for P 2. Because P 1 is self-stabilizing, and Π 1 (C 0), Π 1 (C 1),... is a fair execution of P 1, there exists some i such that the output trace of Π 1 (C i ), Π 1(C i+1 ),... satisfies B 1. Let C j be any configuration that appears after C i in S, and let C j, C j+1,... be the sequence starting from C j in S. Because the output trace of P 1 in C j, C j+1,... is constant and satisfies B 1, Π 2 (C j ), Π 2(C j+1 ),... is a fair execution of P 2 whose output trace satisfies B 2. Because B 2 is elastic, the output trace of P 1 P 2 in the subsequence of S starting from C j satisfies B 2. Therefore P 1 P 2 is a self-stabilizing implementation of B 2.

11 Self-stabilizing Population Protocols TOKEN-CIRCULATION IN AN ORIENTED RING As a simple example, we discuss the token circulation problem in an interaction graph whose topology is an oriented ring. The protocol uses the same idea as in Dijkstra s first algorithm in [Dijkstra 1974], but we only use 2 colors (0 and 1). Readers from the self-stabilization community will find the protocol familiar. Definition 5.1. The token-circulation behavior T C on graph G(V, E) is the set of all traces t = β 0, β 1,... with alphabet {T, φ} such that: (1) For all m 0, v V such that β m (v) = T and u V {v}, β m (u) = φ. (2) For all 0 m < k < n, if v, w V (v w) such that β m (v) = β k (w) = β n (v) = T, then u V {v}, l such that m < l < n and β l (u) = T. (3) For all v V, β k (v) = T for infinitely many k. A node owns a token in a configuration if its output is T. For any trace in T C, exactly one node has a token in each configuration, and after a node releases a token, it does not obtain a token again until every other node has obtained a token once. We describe a self-stabilizing implementation of T C given the leader-election behavior LE. The description of a self-stabilizing implementation of LE is postponed to Section 9. Definition 5.2. The leader-election behavior LE on graph G = (V, E) is the set of all constant traces β, β,... such that for some v V, β(v) = L and for all u v, β(u) = N. Informally, there is a static node with the leader mark L, and all other nodes have the nonleader mark N in every configuration. Given the LE input behavior, one node receives input L and all other nodes receive input N. When two nodes interact, if the responder is the leader, it sets its label to the complement of the initiator s label; otherwise the responder copies the label from the initiator. If an interaction triggers a label change, a token is passed from the initiator to the responder. If a token is not present at the initiator, a new token is generated. Protocol 1 describes the process formally. Protocol 1 Self-stabilizing token circulation in rings Node states are pairs in {, } {0, 1}. indicates the presence of a token and indicates the absence of a token. The second component of a node is called the label of that node. The interaction rules are: Rule 1. (( b, N), ( b, L)) ( b, b) Rule 2. (( b, ), ( b, N)) ( b, b) We use the convention that on the left side of a rule matches any value for the component, that b on the left side matches either 0 or 1, and b means the complement of b. The output rules are T and φ. (Output T if and only if the first component is.)

12 12 Dana Angluin et al. Because each transition is independent of the presence or absence of tokens before the interaction, the token component of the state is only needed for production of the output symbol. In models with other conventions for specifying the location of the token, this extra state bit might not be needed. Generally, proving self-stabilization in our model involves proving two statements: there exist some legitimate configurations, beginning with which every possible execution has a suffix satisfying the desired behavior, and a legitimate configuration is reachable from any arbitrary configuration. The fairness condition guarantees that every fair execution eventually reaches a legitimate configuration. For Protocol 1, legitimate configurations are those in which every node has the same label. We establish the correctness of the protocol in the following lemmas: Lemma 5.3. Let C 0 be a configuration in which every node has the same label. Given the input behavior LE, the trace of every fair execution of Protocol 1 starting with C 0 has a suffix in T C. Proof. We define the direction of the edges to be clockwise and the opposite direction to be counter-clockwise. We call the leader node 0, and the sequence of nodes to the clockwise direction is 0, 1,..., n 1. We use (u, v) to refer to the directed edge that starts at u pointing to v. The only edge in C 0 that will cause state change is (n 1, 0) (by rule 1). When the edge is activated, node 0 obtains a token and is assigned a label that is different from all other nodes, and if node n 1 owns a token before the interaction, it surrenders the token. Suppose C 1 is the configuration immediately following C 0. Node 0 s label cannot change until node n 1 has the same label, and every other node u cannot change its label until the label of node u 1 is different from its own. Therefore u is the only node that could change its label (when edge (0, 1) is activated). If C 2 is the configuration immediately following C 1, it is easy to see that only (1, 2) will cause state change. In general, for any u (1 < u n), the following is true in C u : (1) u 1 owns a token. (2) For all v < u 1, v does not own a token. (3) The only edge that can cause state change is (u 1, u). Note that in C n every node again has the same label, and node n 1 is the only node that owns a token. Thus for u n, in C u, the only edge that can cause state change is (u 1 mod n, u mod n), and node u 1 mod n owns the unique token in the ring. Lemma 5.4. C 0 is reachable from any arbitrary configuration. Proof. We use the same naming convention as in the proof of Lemma 5.3. Let the scheduler activate (0, 1), (1, 2),..., (n 2, n 1) sequentially. An activation of (0, 1) can cause state change only when node 0 and node 1 have different labels, and the activation causes 1 to change its label to be the same as 0 s. In general, for 0 u < n 1, the activation of (u, u + 1) causes node u + 1 to copy the label of u if u and u + 1 don t already have the same label. After (u, u + 1) is activated, 0, 1,..., u + 1 have the same label. Therefore, after (n 2, n 1) is activated, nodes 0, 1,..., n 1 all have the same label.

13 Self-stabilizing Population Protocols 13 Theorem 5.5. Protocol 1 is a constant-space self-stabilizing implementation of output behavior T C given input behavior LE in an oriented ring. Theorem 5.5 follows from Lemma 5.3 and Lemma HOP COLORING IN BOUNDED-DEGREE GRAPHS To extend the token circulation algorithm to undirected rings, we need a protocol that imposes orientation on the ring. A necessary condition is that each node be able to recognize its two different neighbors. Here we describe a more general algorithm that enables each node in a degree-bounded graph to distinguish between its neighbors. Suppose an undirected graph has degree bound d. We want to color the graph such that any two nodes adjacent to the same node have different colors. After a graph is properly colored, the neighbors of any node have different colors and thus are distinguishable. Notice that two nodes directly connected by an edge can have the same color if they are not both adjacent to the same node. More precisely, for each node v, if u and w are distinct neighbors of v, then u and w must receive different colors. We call such a pair (u, w) a 2-hop pair, and we call a node-coloring in which every 2-hop pair is distinctly colored a 2-hop coloring. It is not difficult to see that g = d(d 1)+1 colors suffice, for the related graph whose edges are the 2-hop pairs of the original graph has degree bound d = d(d 1), and any graph of degree bound d can be colored (in the ordinary sense) with at most d + 1 colors. Definition 6.1. The 2-hop coloring behavior 2HC on graph G = (V, E) with color set Γ is the set of constant traces λ, λ,... where the alphabet of λ is Γ and whenever u, v, w V are such that (u, v) E and (v, w) E and u w, we have λ(u) λ(w). We give two protocols for solving 2-hop coloring for a graph with degree bound d using g colors. The first is presented as a nondeterministic protocol, from which the nondeterminism can be removed by applying Corollary 3.6. The second is a deterministic protocol that incorporates a simplified nondeterminizer sufficient to solve the problem at hand. 6.1 Nondeterministic protocol In this and the following sections, we describe our algorithms by specifying the interaction between two adjacent nodes u and v when the edge (u, v) is activated. The pseudocode shows how the state variables of both u and v are updated in an interaction as if the state variables of both nodes lived in a common memory. This can easily be translated into our formal model whereby each node updates its own state variables based on their current values and the values of the other node s state variables, which are supplied to it as inputs during the interaction. In Protocol 2, each node u has the following state components: color u An integer encoding the color of node u. Its value is between 0 and g 1. A bit array whose size is g, indexed by colors. F u Node u outputs the current value of its color u component.

14 14 Dana Angluin et al. Protocol 2 Nondeterministic 2-hop coloring with degree bound d For each node u: State variables: color u and F u Output: color u The interaction between an initiator u and a responder v: 1: if F u [color v ] F v [color u ] then possibly conflicting colors 2: color u color u nondeterministic coloring 3: F u [color v ] F v [color u ] 4: else valid coloring 5: F u [color v ] F u [color v ] 6: F v [color u ] F v [color u ] 7: end if The statement color u color u means one of the g possible colors is nondeterministically assigned as the new color of u. In other words, in this case there are g rules that can be applied to (u, v), each assigning a distinct color to u. Distinct nodes u and w are violating nodes if they have the same color and share a common neighbor. Formally, they are violating if color u = color w and there are edges (u, v) and (v, w) for some v. We also apply the term violating to a single node u if there exists a node w that it is in violation with. Let (u, v) be an edge in the network. We say that the edge is synchronized if F u [color v ] = F v [color u ]. We also apply the term synchronized to the pair of nodes u and v, and we refer to the complementary case as unsynchronized. A configuration is legitimate if it satisfies two safety conditions: (1) [No color violations] There are no violating nodes. (2) [Synchronization] There are no unsynchronized edges. To get an intuition for the protocol, consider a legitimate configuration, and suppose network edge (u, v) is activated. The edge is synchronized, so lines 5 and 6 of the protocol are are executed. These do not change the color of any node. Although they do flip the bits F u [color v ] and F v [color u ], all edges remain synchronized. Clearly (u, v) is still synchronized, as is any edge (x, y) that does not share a node with (u, v). The other edges that touch u and v also remain synchronized because of the first safety condition. If (u, w) is such an edge, then color v color w, so F u [color w ] is not affected by the change to F u [color v ], and (u, w) remains synchronized. Similarly, each edge (v, w) with w u remains synchronized. Hence, the new configuration is legitimate. Now suppose the original configuration is not legitimate, (u, v) and (v, w) are network edges, and u and w have the same color c. Suppose edge (u, v) is activated. If it was synchronized before the activation, line 6 is executed and bit F v [c] is flipped. This causes v s synchronization status with w to change. In particular, if (v, w) was synchronized before the u-v interaction, then it loses its synchronization as a result. On the other hand, if (u, v) was not synchronized before the activation, then line 2 is executed and u is non-deterministically recolored, possibly causing it to become violating. In either case, though, the edge (u, v) is synchronized in the resulting

15 Self-stabilizing Population Protocols 15 configuration. We will show that after enough nondeterministic recolorings, the protocol will eventually reach a legitimate configuration. We now make these arguments more precise. Lemma 6.2. The trace of any execution of Protocol 2 starting from a legitimate configuration is in 2HC. Proof. Let C 0 be a legitimate configuration and (u, v) be any edge. Suppose (u,v) C 0 C 1. Because (u, v) is synchronized in C 0, no color change occurs, and both F u [color v ] and F v [color u ] are complemented in the interaction. Hence, C 0 and C 1 have the same coloring, and (u, v) is synchronized in C 1. Since C 1 has no color violations, v is the only neighbor of u with color color v, and u is the only neighbor of v with color u. Therefore, the bits F u [color v ] and F v [color u ] which differ between C 0 and C 1 do not affect the synchronization status of any other edges, which remain synchronized in C 1. Thus, C 1 is legitimate and has the same coloring as C 0. Because C 0 and (u, v) are chosen arbitrarily, we conclude that every configuration in any execution starting from any legitimate configuration is legitimate, and all configurations in any such execution have the same coloring. It follows that the sequence of outputs is constant, and the trace is in 2HC. Lemma 6.3. Starting from an arbitrary configuration, there exists a finite execution fragment of Protocol 2 that reaches a legitimate configuration. Proof. We describe a two-phase procedure to construct a path to a legitimate configuration from an arbitrary configuration. The first phase corrects color violations, and the second phase synchronizes all network edges without changing node colors. Phase 1 consists of a sequence of subphases σ(u), one for each node u. Each subphase consist of a sequence of interactions as described below. The subphases are constructed sequentially and refer to the configuration that results from the previous subphases. Subphase σ(u) is empty if u is not violating at the start of the subphase, so assume now that u is violating. We construct a sequence of activations σ(u) that change u s color so that it is no longer violating but do not change the color of any other node. Since u is violating, there are edges (u, v) and (v, w) such that color u = color w. σ(u) consists of the activations described by the cases below, which are based on the values of F u [color v ], F v [color u ] = F v [color w ], and F w [color v ]: (1) F u [color v ] F v [color u ]. Let the scheduler activate (u, v), so that line 2 is executed. Because u can be the endpoint of at most d(d 1) 2-hop paths, there exists at least one color color u that differs from the color of every 2- hop neighbor of u. Let u choose color u as its new color. This removes the color violation from u. Line 3 sets F u [color v ] F v [color u], so u and v are synchronized after the interaction. (2) F u [color v ] = F v [color u ] = F w [color v ]. Let the scheduler activate (v, w). This will flip F v [color w ] and F w [color v ], causing (u, v) to become unsynchronized. Now continue with case 1.

16 16 Dana Angluin et al. (3) F u [color v ] = F v [color u ] F w [color v ]. Let the scheduler activate (v, u) and (v, w) sequentially. This will cause F u [color v ] and F w [color v ] to flip once and F v [color u ] to flip twice, leaving it unchanged. Afterwards, (v, w) is synchronized but (u, v) is unsynchronized. Now continue with case 1. Each subphase σ(u) corrects the color of u and does not introduce any new color violations, so the configuration at the end of phase 1 satisfies the first safety condition. In the second phase, we remove violations of the synchronization condition. For each unsynchronized edge (u, v), let the scheduler activate (u, v). If line 2 of the protocol is taken, let node u choose not to change its color. Because u will set F u [color v ] F v [color u ], the edge (u, v) becomes synchronized. Since the configuration after phase 1 has no color violations, the neighbors of each node now all have distinct colors. Therefore synchronizing an edge does not introduce new unsynchronized edges. Because the second phase does not modify the colors, after all unsynchronized edges are corrected, the system is in a legitimate configuration. The following theorem, which is an immediate consequence of Lemmas 6.2 and 6.3 and Theorem 2.2, establishes the correctness of the protocol. Theorem 6.4. For each d, there exists a constant-space self-stabilizing implementation of the 2-hop coloring behavior in undirected communication graphs of degree bounded by d. According to Corollary 3.6, there exists a deterministic version of this protocol. However, the full machinery of Corollary 3.6 is not needed to make the protocol work. In the following section, we show how a simpler deterministic protocol suffices. 6.2 Deterministic protocol One way to turn the nondeterministic Protocol 2 into a deterministic one is to change the coloring rule at line 2, as shown in Protocol 3. Here, r u is a local bit that flips whenever u acts as the initiator in an interaction. Consecutive repeated executions of line 2 cause u s color to cycle through all possible values, but an interaction when r u = 0 will synchronize the interacting nodes without changing their colors, needed for the construction of Lemma 6.6. Lemma 6.5. The trace of any execution of Protocol 3 starting from a legitimate configuration is in 2HC. Proof. Because the set of possible traces of Protocol 3 is a subset of that of Protocol 2, Lemma 6.5 follows from Lemma 6.2. Lemma 6.6. Starting from an arbitrary configuration, there exists a finite execution fragment of Protocol 3 that reaches a legitimate configuration. Proof. We use a two-phase procedure similar to the proof of Lemma 6.3 to construct a path to a legitimate configuration from an arbitrary configuration. As before, phase 1 consists of a sequence of subphases σ(u), one for each node u. Each subphase consists of a sequence of interactions as described below. The

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,

More information

An Anonymous Self-Stabilizing Algorithm For 1-Maximal Matching in Trees

An Anonymous Self-Stabilizing Algorithm For 1-Maximal Matching in Trees An Anonymous Self-Stabilizing Algorithm For 1-Maximal Matching in Trees Wayne Goddard, Stephen T. Hedetniemi Department of Computer Science, Clemson University {goddard,hedet}@cs.clemson.edu Zhengnan Shi

More information

State-Optimal Snap-Stabilizing PIF In Tree Networks

State-Optimal Snap-Stabilizing PIF In Tree Networks State-Optimal Snap-Stabilizing PIF In Tree Networks (Extended Abstract) Alain Bui, 1 Ajoy K. Datta, 2 Franck Petit, 1 Vincent Villain 1 1 LaRIA, Université de Picardie Jules Verne, France 2 Department

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

The alternator. Mohamed G. Gouda F. Furman Haddix

The alternator. Mohamed G. Gouda F. Furman Haddix Distrib. Comput. (2007) 20:21 28 DOI 10.1007/s00446-007-0033-1 The alternator Mohamed G. Gouda F. Furman Haddix Received: 28 August 1999 / Accepted: 5 July 2000 / Published online: 12 June 2007 Springer-Verlag

More information

Self-stabilizing Byzantine Digital Clock Synchronization

Self-stabilizing Byzantine Digital Clock Synchronization Self-stabilizing Byzantine Digital Clock Synchronization Ezra N. Hoch, Danny Dolev and Ariel Daliot The Hebrew University of Jerusalem We present a scheme that achieves self-stabilizing Byzantine digital

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Stably computable properties of network graphs

Stably computable properties of network graphs Stably computable properties of network graphs Dana Angluin, James Aspnes, Melody Chan, Michael J. Fischer, Hong Jiang, and René Peralta Yale University Abstract. We consider a scenario in which anonymous,

More information

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Appears as Technical Memo MIT/LCS/TM-590, MIT Laboratory for Computer Science, June 1999 A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Miguel Castro and Barbara Liskov

More information

Anonymous Self-Stabilizing Distributed Algorithms for Connected Dominating Set in a Network Graph

Anonymous Self-Stabilizing Distributed Algorithms for Connected Dominating Set in a Network Graph Anonymous Self-Stabilizing Distributed Algorithms for Connected Dominating Set in a Network Graph Wayne Goddard and Pradip K Srimani School of Computing Clemson University Clemson, SC 29634 0974 {goddard,

More information

Distributed Algorithms 6.046J, Spring, Nancy Lynch

Distributed Algorithms 6.046J, Spring, Nancy Lynch Distributed Algorithms 6.046J, Spring, 205 Nancy Lynch What are Distributed Algorithms? Algorithms that run on networked processors, or on multiprocessors that share memory. They solve many kinds of problems:

More information

Computer Science Technical Report

Computer Science Technical Report Computer Science Technical Report Feasibility of Stepwise Addition of Multitolerance to High Atomicity Programs Ali Ebnenasir and Sandeep S. Kulkarni Michigan Technological University Computer Science

More information

Self-stabilizing Mutual Exclusion and Group Mutual Exclusion for Population Protocols with Covering (Extended Version)

Self-stabilizing Mutual Exclusion and Group Mutual Exclusion for Population Protocols with Covering (Extended Version) Self-stabilizing Mutual Exclusion and Group Mutual Exclusion for Population Protocols with Covering (Extended Version) Joffroy Beauquier 1 and Janna Burman 2 1 LRI, University Paris-Sud 11, France. joffroy.beauquier@lri.fr

More information

A Synchronous Self-Stabilizing Minimal Domination Protocol in an Arbitrary Network Graph

A Synchronous Self-Stabilizing Minimal Domination Protocol in an Arbitrary Network Graph A Synchronous Self-Stabilizing Minimal Domination Protocol in an Arbitrary Network Graph Z. Xu, S. T. Hedetniemi, W. Goddard, and P. K. Srimani Department of Computer Science Clemson University Clemson,

More information

14.1 Encoding for different models of computation

14.1 Encoding for different models of computation Lecture 14 Decidable languages In the previous lecture we discussed some examples of encoding schemes, through which various objects can be represented by strings over a given alphabet. We will begin this

More information

6.852: Distributed Algorithms Fall, Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley

6.852: Distributed Algorithms Fall, Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley 6.852: Distributed Algorithms Fall, 2015 Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley What are Distributed Algorithms? Algorithms that run on networked

More information

Bipartite Roots of Graphs

Bipartite Roots of Graphs Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

Maximal Independent Set

Maximal Independent Set Chapter 0 Maximal Independent Set In this chapter we present a highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study in

More information

Leader Election in Anonymous Rings: Franklin Goes Probabilistic

Leader Election in Anonymous Rings: Franklin Goes Probabilistic Leader Election in Anonymous Rings: Franklin Goes Probabilistic Rena Bakhshi 1, Wan Fokkink 1,2, Jun Pang 3, and Jaco van de Pol 4 1 Vrije Universiteit Amsterdam, Department of Computer Science rbakhshi@few.vu.nl,wanf@cs.vu.nl

More information

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another

More information

Maximal Independent Set

Maximal Independent Set Chapter 4 Maximal Independent Set In this chapter we present a first highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study

More information

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems James Aspnes, Yale University Faith Ellen Fich, University of Toronto Eric Ruppert, York University Anonymity

More information

Initial Assumptions. Modern Distributed Computing. Network Topology. Initial Input

Initial Assumptions. Modern Distributed Computing. Network Topology. Initial Input Initial Assumptions Modern Distributed Computing Theory and Applications Ioannis Chatzigiannakis Sapienza University of Rome Lecture 4 Tuesday, March 6, 03 Exercises correspond to problems studied during

More information

Time and Space Lower Bounds for Implementations Using k-cas

Time and Space Lower Bounds for Implementations Using k-cas Time and Space Lower Bounds for Implementations Using k-cas Hagit Attiya Danny Hendler September 12, 2006 Abstract This paper presents lower bounds on the time- and space-complexity of implementations

More information

Semi-Passive Replication in the Presence of Byzantine Faults

Semi-Passive Replication in the Presence of Byzantine Faults Semi-Passive Replication in the Presence of Byzantine Faults HariGovind V. Ramasamy Adnan Agbaria William H. Sanders University of Illinois at Urbana-Champaign 1308 W. Main Street, Urbana IL 61801, USA

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

HW Graph Theory SOLUTIONS (hbovik)

HW Graph Theory SOLUTIONS (hbovik) Diestel 1.3: Let G be a graph containing a cycle C, and assume that G contains a path P of length at least k between two vertices of C. Show that G contains a cycle of length at least k. If C has length

More information

Distributed Computing over Communication Networks: Leader Election

Distributed Computing over Communication Networks: Leader Election Distributed Computing over Communication Networks: Leader Election Motivation Reasons for electing a leader? Reasons for not electing a leader? Motivation Reasons for electing a leader? Once elected, coordination

More information

An Efficient Silent Self-Stabilizing Algorithm for 1-Maximal Matching in Anonymous Network

An Efficient Silent Self-Stabilizing Algorithm for 1-Maximal Matching in Anonymous Network An Efficient Silent Self-Stabilizing Algorithm for 1-Maximal Matching in Anonymous Network Yuma Asada and Michiko Inoue Nara Institute of Science and Technology, 8916-5 Takayama, Ikoma, NARA 630-0192 JAPAN,

More information

21. Distributed Algorithms

21. Distributed Algorithms 21. Distributed Algorithms We dene a distributed system as a collection of individual computing devices that can communicate with each other [2]. This denition is very broad, it includes anything, from

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

Throughout this course, we use the terms vertex and node interchangeably.

Throughout this course, we use the terms vertex and node interchangeably. Chapter Vertex Coloring. Introduction Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture. Vertex coloring

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer May 14, 2008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions. THREE LECTURES ON BASIC TOPOLOGY PHILIP FOTH 1. Basic notions. Let X be a set. To make a topological space out of X, one must specify a collection T of subsets of X, which are said to be open subsets of

More information

9.5 Equivalence Relations

9.5 Equivalence Relations 9.5 Equivalence Relations You know from your early study of fractions that each fraction has many equivalent forms. For example, 2, 2 4, 3 6, 2, 3 6, 5 30,... are all different ways to represent the same

More information

Self-Stabilizing Distributed Algorithms for Graph Alliances

Self-Stabilizing Distributed Algorithms for Graph Alliances Self-Stabilizing Distributed Algorithms for Graph Alliances Zhenyu Xu and Pradip K Srimani Department of Computer Science, Clemson University, Clemson, SC 29634-0974 Abstract Graph alliances are recently

More information

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch Distributed Algorithms 6.046J, Spring, 2015 Part 2 Nancy Lynch 1 This Week Synchronous distributed algorithms: Leader Election Maximal Independent Set Breadth-First Spanning Trees Shortest Paths Trees

More information

Storage capacity of labeled graphs

Storage capacity of labeled graphs Dana Angluin 1 James Aspnes 1 Rida A. Bazzi 2 Jiang Chen 3 David Eisenstat 4 Goran Konjevod 2 1 Department of Computer Science, Yale University 2 Department of Computer Science and Engineering, Arizona

More information

Constrained Types and their Expressiveness

Constrained Types and their Expressiveness Constrained Types and their Expressiveness JENS PALSBERG Massachusetts Institute of Technology and SCOTT SMITH Johns Hopkins University A constrained type consists of both a standard type and a constraint

More information

Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Self-Stabilizing Distributed Queuing

Self-Stabilizing Distributed Queuing Self-Stabilizing Distributed Queuing Srikanta Tirthapura Dept. of Electrical and Computer Engg. Iowa State University Ames, IA, USA, 50011 snt@iastate.edu Maurice Herlihy Computer Science Department Brown

More information

Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms

Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms Holger Karl Computer Networks Group Universität Paderborn Goal of this chapter Apart from issues in distributed time and resulting

More information

A Vizing-like theorem for union vertex-distinguishing edge coloring

A Vizing-like theorem for union vertex-distinguishing edge coloring A Vizing-like theorem for union vertex-distinguishing edge coloring Nicolas Bousquet, Antoine Dailly, Éric Duchêne, Hamamache Kheddouci, Aline Parreau Abstract We introduce a variant of the vertex-distinguishing

More information

Decreasing the Diameter of Bounded Degree Graphs

Decreasing the Diameter of Bounded Degree Graphs Decreasing the Diameter of Bounded Degree Graphs Noga Alon András Gyárfás Miklós Ruszinkó February, 00 To the memory of Paul Erdős Abstract Let f d (G) denote the minimum number of edges that have to be

More information

ARTICLE IN PRESS. An anonymous self-stabilizing algorithm for 1-maximal independent set in trees

ARTICLE IN PRESS. An anonymous self-stabilizing algorithm for 1-maximal independent set in trees S0020-0190(04)00098-5/SCO AID:3078 Vol. ( ) P.1 (1-7) ELSGMLTM(IPL):m3 v 1.193 Prn:15/04/2004; 13:20 ipl3078 by:r.m. p. 1 Information Processing Letters ( ) www.elsevier.com/locate/ipl An anonymous self-stabilizing

More information

6.852: Distributed Algorithms Fall, Class 12

6.852: Distributed Algorithms Fall, Class 12 6.852: Distributed Algorithms Fall, 2009 Class 12 Today s plan Weak logical time and vector timestamps Consistent global snapshots and stable property detection. Applications: Distributed termination.

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Discharging and reducible configurations

Discharging and reducible configurations Discharging and reducible configurations Zdeněk Dvořák March 24, 2018 Suppose we want to show that graphs from some hereditary class G are k- colorable. Clearly, we can restrict our attention to graphs

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Lecture 1. 1 Notation

Lecture 1. 1 Notation Lecture 1 (The material on mathematical logic is covered in the textbook starting with Chapter 5; however, for the first few lectures, I will be providing some required background topics and will not be

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

More information

Eventually k-bounded Wait-Free Distributed Daemons

Eventually k-bounded Wait-Free Distributed Daemons Eventually k-bounded Wait-Free Distributed Daemons Yantao Song and Scott M. Pike Texas A&M University Department of Computer Science College Station, TX 77843-3112, USA {yantao, pike}@tamu.edu Technical

More information

Variants of Turing Machines

Variants of Turing Machines November 4, 2013 Robustness Robustness Robustness of a mathematical object (such as proof, definition, algorithm, method, etc.) is measured by its invariance to certain changes Robustness Robustness of

More information

CSc Leader Election

CSc Leader Election CSc72010 Leader Election Reading Skim 3.5 Read 3.6, General synchronous networks Read 4.1 Leader election algorithms Lelann/Chang/Roberts: O(n) time complexity O(n 2 ) message complexity Hirschberg/Sinclair

More information

Optimal Torus Exploration by Oblivious Mobile Robots

Optimal Torus Exploration by Oblivious Mobile Robots Optimal Torus Exploration by Oblivious Mobile Robots S. Devismes 1, A. Lamani 2, F. Petit 3, and S. Tixeuil 3 1 VERIMAG UMR 514, Université Joseph Fourier, France 2 MIS, Université de Picardie Jules Verne

More information

Well, you need to capture the notions of atomicity, non-determinism, fairness etc. These concepts are not built into languages like JAVA, C++ etc!

Well, you need to capture the notions of atomicity, non-determinism, fairness etc. These concepts are not built into languages like JAVA, C++ etc! Hwajung Lee Why do we need these? Don t we already know a lot about programming? Well, you need to capture the notions of atomicity, non-determinism, fairness etc. These concepts are not built into languages

More information

MAC Theory. Chapter 7. Ad Hoc and Sensor Networks Roger Wattenhofer

MAC Theory. Chapter 7. Ad Hoc and Sensor Networks Roger Wattenhofer MAC Theory Chapter 7 7/1 Seeing Through Walls! [Wilson, Patwari, U. Utah] Schoolboy s dream, now reality thank to sensor networks... 7/2 Rating Area maturity First steps Text book Practical importance

More information

Asynchronous Models. Chapter Asynchronous Processes States, Inputs, and Outputs

Asynchronous Models. Chapter Asynchronous Processes States, Inputs, and Outputs Chapter 3 Asynchronous Models 3.1 Asynchronous Processes Like a synchronous reactive component, an asynchronous process interacts with other processes via inputs and outputs, and maintains an internal

More information

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

Self-Stabilizing Protocols for Maximal Matching and Maximal Independent Sets for Ad Hoc Networks Λ

Self-Stabilizing Protocols for Maximal Matching and Maximal Independent Sets for Ad Hoc Networks Λ Self-Stabilizing Protocols for Maximal Matching and Maximal Independent Sets for Ad Hoc Networks Λ Wayne Goddard, Stephen T. Hedetniemi David P. Jacobs and Pradip K Srimani Department of Computer Science

More information

Leader Election in Anonymous Rings: Franklin Goes Probabilistic

Leader Election in Anonymous Rings: Franklin Goes Probabilistic Leader Election in Anonymous Rings: Franklin Goes Probabilistic Rena Bakhshi 1, Wan Fokkink 1,2, Jun Pang 3,andJacovandePol 4 1 Vrije Universiteit Amsterdam, Department of Computer Science rbakhshi@few.vu.nl,wanf@cs.vu.nl

More information

Distributed Leader Election Algorithms in Synchronous Networks

Distributed Leader Election Algorithms in Synchronous Networks Distributed Leader Election Algorithms in Synchronous Networks Mitsou Valia National Technical University of Athens School of Applied Mathematics and Physics 1/66 Distributed Computing Distributed computing

More information

Weak Dynamic Coloring of Planar Graphs

Weak Dynamic Coloring of Planar Graphs Weak Dynamic Coloring of Planar Graphs Caroline Accurso 1,5, Vitaliy Chernyshov 2,5, Leaha Hand 3,5, Sogol Jahanbekam 2,4,5, and Paul Wenger 2 Abstract The k-weak-dynamic number of a graph G is the smallest

More information

DISTRIBUTED COMPUTING COLUMN. Stefan Schmid TU Berlin & T-Labs, Germany

DISTRIBUTED COMPUTING COLUMN. Stefan Schmid TU Berlin & T-Labs, Germany DISTRIBUTED COMPUTING COLUMN Stefan Schmid TU Berlin & T-Labs, Germany stefan.schmid@tu-berlin.de 1 The Renaming Problem: Recent Developments and Open Questions Dan Alistarh (Microsoft Research) 1 Introduction

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

SFU CMPT Lecture: Week 8

SFU CMPT Lecture: Week 8 SFU CMPT-307 2008-2 1 Lecture: Week 8 SFU CMPT-307 2008-2 Lecture: Week 8 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on June 24, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 8 Universal hashing

More information

CSE 20 DISCRETE MATH. Fall

CSE 20 DISCRETE MATH. Fall CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Final exam The final exam is Saturday December 16 11:30am-2:30pm. Lecture A will take the exam in Lecture B will take the exam

More information

Lecture 6: Graph Properties

Lecture 6: Graph Properties Lecture 6: Graph Properties Rajat Mittal IIT Kanpur In this section, we will look at some of the combinatorial properties of graphs. Initially we will discuss independent sets. The bulk of the content

More information

Self-Stabilizing Distributed Systems & Sensor Networks. Z. Shi and Pradip K Srimani

Self-Stabilizing Distributed Systems & Sensor Networks. Z. Shi and Pradip K Srimani Self-Stabilizing Distributed Systems & Sensor Networks Z. Shi and Pradip K Srimani June 7, 2004 ii Contents 1 Self-Stabilizing Distributed Systems & Sensor Networks 1 1.1 Distributed Systems..................................

More information

Model checking pushdown systems

Model checking pushdown systems Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,

More information

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols SIAM Journal on Computing to appear From Static to Dynamic Routing: Efficient Transformations of StoreandForward Protocols Christian Scheideler Berthold Vöcking Abstract We investigate how static storeandforward

More information

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Thomas Erlebach Department of Computer Science University of Leicester, UK te17@mcs.le.ac.uk Ambreen Shahnaz Department of Computer

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

The Geodesic Integral on Medial Graphs

The Geodesic Integral on Medial Graphs The Geodesic Integral on Medial Graphs Kolya Malkin August 013 We define the geodesic integral defined on paths in the duals of medial graphs on surfaces and use it to study lens elimination and connection

More information

Distributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati

Distributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati Distributed Algorithms Partha Sarathi Mandal Department of Mathematics IIT Guwahati Thanks to Dr. Sukumar Ghosh for the slides Distributed Algorithms Distributed algorithms for various graph theoretic

More information

Lecture 1: Introduction to distributed Algorithms

Lecture 1: Introduction to distributed Algorithms Distributed Algorithms M.Tech., CSE, 2016 Lecture 1: Introduction to distributed Algorithms Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual scrutiny

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Finding a winning strategy in variations of Kayles

Finding a winning strategy in variations of Kayles Finding a winning strategy in variations of Kayles Simon Prins ICA-3582809 Utrecht University, The Netherlands July 15, 2015 Abstract Kayles is a two player game played on a graph. The game can be dened

More information

The complement of PATH is in NL

The complement of PATH is in NL 340 The complement of PATH is in NL Let c be the number of nodes in graph G that are reachable from s We assume that c is provided as an input to M Given G, s, t, and c the machine M operates as follows:

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

Testing Isomorphism of Strongly Regular Graphs

Testing Isomorphism of Strongly Regular Graphs Spectral Graph Theory Lecture 9 Testing Isomorphism of Strongly Regular Graphs Daniel A. Spielman September 26, 2018 9.1 Introduction In the last lecture we saw how to test isomorphism of graphs in which

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Graph Editing to a Given Degree Sequence,

Graph Editing to a Given Degree Sequence, Graph Editing to a Given Degree Sequence, Petr A. Golovach a, George B. Mertzios b, a Department of Informatics, University of Bergen, N-5020 Bergen, Norway b School of Engineering and Computing Sciences,

More information

Comparing the Expressive Power of Access Control Models

Comparing the Expressive Power of Access Control Models Comparing the Expressive Power of Access Control Models Mahesh V. Tripunitara tripunit@cerias.purdue.edu Ninghui Li ninghui@cs.purdue.edu Center for Education and Research in Information Assurance and

More information

EDGE-COLOURED GRAPHS AND SWITCHING WITH S m, A m AND D m

EDGE-COLOURED GRAPHS AND SWITCHING WITH S m, A m AND D m EDGE-COLOURED GRAPHS AND SWITCHING WITH S m, A m AND D m GARY MACGILLIVRAY BEN TREMBLAY Abstract. We consider homomorphisms and vertex colourings of m-edge-coloured graphs that have a switching operation

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PAUL BALISTER Abstract It has been shown [Balister, 2001] that if n is odd and m 1,, m t are integers with m i 3 and t i=1 m i = E(K n) then K n can be decomposed

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Enhancing The Fault-Tolerance of Nonmasking Programs

Enhancing The Fault-Tolerance of Nonmasking Programs Enhancing The Fault-Tolerance of Nonmasking Programs Sandeep S Kulkarni Ali Ebnenasir Department of Computer Science and Engineering Michigan State University East Lansing MI 48824 USA Abstract In this

More information

Concurrent Reading and Writing of Clocks

Concurrent Reading and Writing of Clocks Concurrent Reading and Writing of Clocks LESLIE LAMPORT Digital Equipment Corporation As an exercise in synchronization without mutual exclusion, algorithms are developed to implement both a monotonic

More information

Theoretical Computer Science

Theoretical Computer Science Theoretical Computer Science 458 (2012) 61 75 Contents lists available at SciVerse ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs A state-based model of sensor

More information

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network

More information

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CPSC 536N: Randomized Algorithms Term 2. Lecture 10 CPSC 536N: Randomized Algorithms 011-1 Term Prof. Nick Harvey Lecture 10 University of British Columbia In the first lecture we discussed the Max Cut problem, which is NP-complete, and we presented a very

More information