Byzantine Dispersion on Graphs
aa r X i v : . [ c s . D C ] F e b Byzantine Dispersion on Graphs ⋆ Anisur Rahaman Molla − − − , KaushikMondal − − − , and William K. Moses Jr. − − − ⋆⋆ Computer and Communication Sciences, Indian Statistical Institute, Kolkata, India. [email protected] Dept. of Mathematics, Indian Institute of Technology Ropar, India. [email protected] Dept. of Computer Science, University of Houston. [email protected]
Abstract.
This paper considers the problem of Byzantine dispersion andextends previous work along several parameters. The problem of Byzan-tine dispersion asks: given n robots, up to f of which are Byzantine,initially placed arbitrarily on an n node anonymous graph, design a ter-minating algorithm to be run by the robots such that they eventuallyreach a configuration where each node has at most one non-Byzantinerobot on it. Previous work solved this problem for rings and tolerated upto n − n − any graph but tolerates a lesser number of Byzantinerobots. We subsequently turn our focus to the strength of the Byzantinerobots. Previous work considers only “weak” Byzantine robots that can-not fake their IDs. We develop an algorithm that solves the problem whenByzantine robots are not weak and can fake IDs. Finally, we study thesituation where the number of the robots is not n but some k . We showthat in such a scenario, the number of Byzantine robots that can be tol-erated is severely restricted. Specifically, we show that it is impossible todeterministically solve Byzantine dispersion when ⌈ k/n ⌉ > ⌈ ( k − f ) /n ⌉ . Keywords:
Dispersion · Mobile robots · Distributed algorithms · Byzan-tine faults · Faulty robots · General graphs. ⋆ The work of W. K. Moses Jr. was supported in part by a Technion fellowship andin part by NSF grants, CCF1540512, IIS-1633720, CCF-1717075, and BSF grant2016419. A. R. Molla is supported, in part, by DST INSPIRE Faculty ResearchGrant DST/INSPIRE/04/2015/002801, Govt. of India and ISI DCSW/TAC Project(file number E5412). ⋆⋆ The work was done while W. K. Moses Jr. was a postdoc at the Faculty of IndustrialEngineering and Management at the Technion - Israel Institute of Technology inHaifa, Israel. Molla et al.
The questions of what can be computed by independent computational entitiesworking together and how fast can it be computed serve as a high level motivationfor research that spans a broad variety of fields such as population protocols [2],mobile robots [35], and programmable matter [20] among others. Mobile robotson graphs, as a paradigm, restricts this question to situations where the entitiesare restricted in their movement and communication capabilities. Within thisarea, problems that are studied take on the form of either having the robots worktogether to find something in the graph (e.g., exploration [5, 12, 17, 22, 25, 31],treasure hunting [32]) or form a certain configuration (e.g., gathering [10, 11, 21,37], scattering [6, 24, 36, 38], pattern formation [40], convergence [13]).Dispersion is one such problem of the latter category. Introduced in thissetting by Augustine and Moses Jr. [4], it asks the following question. Given n robots initially placed arbitrarily on an n node graph, devise an algorithmsuch that the robots reach a configuration where exactly one robot is presenton each node. The original paper looked at the trade-offs between time takento reach this configuration and the memory required by each robot. Subsequentpapers [27–30, 34] have expanded the scope of this problem. However, only therecent paper of Molla et al. [33] expands the scope of this problem to capture theissue of Byzantine faults. More specifically, how can the problem of dispersionbe adapted and solved when some fraction of the robots may act in a Byzantinemanner. In the real world, where systems must be fault tolerant and errors arethe norm instead of the exception, more work must be done to understand anddeal with them.The previous work sought to study this problem on a ring and proposed timeand memory optimal algorithms for that setting. In this paper, we expand onthat work and broaden it in a variety of ways. Consider a graph with n nodes and m edges. The nodes are unlabeled and haveports leading to other nodes. The ports of a node have unique labels in [1 , δ ]where δ is the degree of the node. Note that an edge between adjacent nodesmay have different port numbers assigned to it by the corresponding nodes.Each robot has a unique identifier assigned to it from the range [1 , n c ], where c > If a robot moves from onenode to an adjacent node, it is aware of both port numbers assigned to the edgethrough which it passed. Each robot knows the value of n .We use the notion of weak and strong Byzantine robots from [23]. A (weakor strong) Byzantine robot may behave maliciously and arbitrarily, i.e., it may In contrast to the model used in [33], we allow robots to communicate with eachother via messages instead of exposed memory. We believe this allows for a cleanerdescription of the model as well as behavior that is more closely related to the originalnotions of weak and strong Byzantine robots from [23], to be described later.yzantine Dispersion on Graphs 3 share wrong information, perform moves that are deviations from the algorithm,etc. A weak Byzantine robot is restricted in that it cannot fake its ID, i.e., its IDis attached to messages sent by it and and cannot be altered. A strong Byzantinerobot has no such restriction on it. Among the n robots, up to f of them areconsidered to be Byzantine. Robots do not know the value of f except for onealgorithm in Section 4.We consider a synchronous system, where in each round a robot performs thefollowing tasks in order: (i) Robots that are co-located at the same node maycommunicate with each other. Robots may perform some local computation anddecide to move away from the node via a port. (ii) Robots perform a movement,if any, to an adjacent node. We assume that all robots are initially awake andcan engage in the algorithms from the beginning.We formally state the problem of Byzantine dispersion below, slightly modi-fied from the definition in [33]. Definition 1 (Byzantine dispersion).
Given n robots, up to f of which are Byzan-tine, initially placed arbitrarily on a graph of n nodes, the non-Byzantine robotsmust re-position themselves autonomously to reach a configuration where eachnode has at most one non-Byzantine robot on it and subsequently terminate. We first present an algorithm to solve Byzantine dispersion that tolerates up to n − polynomial ( n ) rounds where robots start inan arbitrary configuration in Section 2. However, the algorithm only works onthe class of graphs for which the quotient graph of the graph is isomorphic tothe original graph.In Section 3, we develop increasingly faster algorithms for more generalgraphs at the expense of handling less Byzantine robots. We first develop analgorithm that runs on any graph when robots start in an arbitrary configu-ration that takes O ( n log n ) rounds but tolerates up to ⌊ n/ − ⌋ Byzantinerobots. We show that this algorithm takes only O ( n ) rounds when robots startin a gathered configuration , i.e., all robots start at the same node. We then showhow to speed up the algorithm to take O ( n ) rounds for an initially gatheredconfiguration when the number of Byzantine robots is restricted to at most ⌊ n/ − ⌋ . We then show that when the number of Byzantine robots is highlyrestricted to at most O ( √ n ), we can develop an algorithm to solve Byzantinedispersion from an arbitrary initial configuration in O ( n √ n ) rounds.All previous results were only for weak Byzantine robots. In Section 4, wedevelop an algorithm that solves Byzantine dispersion in the presence of at most ⌊ n/ − ⌋ strong Byzantine robots in exponential ( n ) rounds when robots areinitially arbitrarily located. We show that when robots start from a gatheredconfiguration, the algorithm takes O ( n ) rounds.Finally, in Section 5, we show that when the total number of robots k isdifferent from the number of nodes in the graph, it is impossible to determin-istically solve Byzantine dispersion when there are too many Byzantine robots, Molla et al. i.e., ⌈ k/n ⌉ > ⌈ ( k − f ) /n ⌉ , even if those Byzantine robots are weak. Our resultsare summarized in Table 1. Table 1.
Our results for Byzantine dispersion of n robots on an n node graph in thepresence of at most f Byzantine robots. The third column gives the time complexityof the result. The fourth column indicates whether all robots start at the same node(gathered) or from an arbitrary configuration. The fifth column indicates up to howmany Byzantine robots the algorithm can tolerate. The final column indicates whetherthe algorithm can handle strong Byzantine robots.
Serial Theorem Running Time Starting Byzantine Handles StrongNo. No. (in rounds) Configuration Tolerance Byzantine Robots1* 1 polynomial ( n ) Arbitrary n − O ( n log n ) Arbitrary ⌊ n/ − ⌋ No3 5 O ( n √ n ) Arbitrary O ( √ n ) No4 3 O ( n ) Gathered ⌊ n/ − ⌋ No5 4 O ( n ) Gathered ⌊ n/ − ⌋ No6** 7 exponential ( n ) Arbitrary ⌊ n/ − ⌋ Yes7 6 O ( n ) Gathered ⌊ n/ − ⌋ Yes*This result holds only for those graphs where the quotient graph is isomorphic to theoriginal graph.**This result requires the robots to know the value of f . It is relatively simple to have robots work together to solve dispersion when allrobots are non-Byzantine. One of the big issues when robots are Byzantine isthat they may lie when they communicate with other robots. How then can onehandle such robots?Let us look a little deeper into the issue. Where does honest communicationhelp robots solve the problem? Honesty is needed so that robots can learn whichnodes are available for them to settle down at. But what if we approach thisissue in another way. For instance, what if robots magically had access to theentire graph. Then would they still need honesty from other robots in order tosettle down? It turns out that the answer is no on a ring, as demonstrated in [33]in their algorithm
Time-Opt-Ring-Dispersion . We generalize that algorithmto all graphs in Section 2.2. In essence, if a robot R can keep track of whereall it has been, it can keep track of where other robots claimed to settle down.If R sees a robot claiming to settle down somewhere where it should not, R can easily discern that it is dealing with a Byzantine robot. Furthermore, weshow that magic isn’t always needed to allow a single robot to learn the entiregraph structure in Section 2.1, at least for a certain class of graphs. We borrowa technique from [15] that allows a single robot to construct the quotient graph(defined in Section 2.1) of a given graph. For the class of graphs whose quotient yzantine Dispersion on Graphs 5 graph is isomorphic to the original graph, this allows each robot to know theoriginal graph structure.However, to learn the entire graph for any graph, we require some commu-nication. And so we show how to deal with dishonesty from Byzantine robotswhen constructing the graph in Section 3. First we gather robots using the gath-ering technique in [23]. We then use the robot and token paradigm from [23]to construct a map of the graph. Two robots R and R ′ pair up and one actsas a robot that can explore the graph and the other acts as a movable token.They work together to construct a map and then return to the node where allrobots were gathered. Then R pairs up with another robot R ′′ and repeats theprocess. In this manner, R pairs up with the other gathered robots and formsa corresponding number of maps of the graph. Among all these maps, the mapthat was constructed the majority of times is taken to be the map of the graph.And since there are at most ⌊ n/ − ⌋ Byzantine robots, each robot will correctlydetermine the map of the graph.The previous algorithm works for any arbitrary graph but takes O ( n log n )rounds to complete. What is the bottleneck that makes things so slow? It turnsout that gathering slows us down dramatically. If robots are initially gatheredtogether in the same node, the running time comes down to O ( n ) rounds. Ifwe further relax the number of Byzantine robots we can tolerate to ⌊ n/ − ⌋ ,then it turns out that by tweaking the map finding algorithm, we can solve theproblem in O ( n ) rounds. Essentially, instead of having each robot pair up witheach of the remaining robots (which may take O ( n ) total pairings), we havethe robots work together to form three groups which work together to form just O (1) maps (which takes O (1) pairings). And again, the map that is constructedthe majority of times is taken as the map of the graph.As mentioned, the bottleneck to the algorithm for general graphs is gathering.If we restrict the number of Byzantine robots to be O ( √ n ), then we can usethe gathering algorithm of [26] coupled with our techniques to solve Byzantinedispersion in O ( n √ n ) rounds when robots are initially arbitrarily located onthe graph.Finally, in Section 4, we extend previous ideas to handle strong Byzantinerobots. However, the trade-off is that our algorithms can only tolerate at most ⌊ n/ ⌋ − The problem of dispersion of mobile robots on a graph was first introduced byAugustine and Moses Jr. [4] and they provided solutions for various types ofgraphs both when robots were initially gathered at one node and when theystarted at arbitrary locations. Subsequently, the problem was studied by severalpapers [1, 16, 27–30, 34, 39] in various settings to improve the efficiency of thesolutions. The best known time-memory efficient algorithm for dispersion of k ≤ n robots on an arbitrary n -node graph when termination is required hastime complexity of O (min { m, k∆ } log n ) rounds and O (log n ) bits of memory perrobot [28], where ∆ is the maximum degree of the graph. Recently, the problem Molla et al. of Byzantine dispersion was introduced by Molla et al. [33] and time and memoryoptimal solutions were proposed for rings.Dispersion has also been studied in other models where either the graphwas dynamic [1] or the communication was global [29, 30] or randomization wasused [16, 34].Some problems that are closely related to dispersion on graphs are explo-ration, scattering, and gathering. The problem of graph exploration has beenstudied extensively in the literature for arbitrary graphs and usually assumesrobots are initially gathered, e.g., [5,12,17,22,25,31]. While some of these explo-ration algorithms (especially those which fit the current model) can be adaptedto solve dispersion (with additional work), they, however, provide inefficient time-memory bounds; a detailed comparison is given in [28]. Another problem relatedto dispersion is scattering (also known as uniform-deployment) of mobile robotsin a graph and is also studied by several papers, e.g., it has been studied forrings [24, 38] and grids [6, 36] under different assumptions.Gathering of robots is especially related, as it can be used as a subroutinewhen solving dispersion, as is seen in this paper. While it appears that the no-tion of Byzantine robots is not new to the mobile robots literature in general(e.g., [3, 9, 14]), it appears that its usage in the context of mobile robots on agraph is fairly recent. To the best of our knowledge, apart from the problem ofByzantine dispersion that was recently introduced, only the problem of gather-ing has been studied in the context of Byzantine robots in the graph setting.Specifically, Dieudonn´e et al. [23] introduced the notion of Byzantine robots tothe gathering problem. The paper mainly investigates the possibility and im-possibility of gathering of mobile robots on graphs in the presence of Byzantinerobots. They present some possibility results under certain assumptions on theminimum number of non-Byzantine robots present and on whether the valueof n is known to the robots. In particular, when n is known, they develop analgorithm to gather strong Byzantine robots in an exponential number of roundsand another algorithm to gather weak Byzantine robots in 4 n P ( n, | λ | ) roundswhere | λ | is the length of the largest ID of any non-Byzantine robot. In oursetting, the latter algorithm takes O ( n log n ) rounds. There are some follow-uppapers on Byzantine gathering, mostly focused on the feasibility of the solutions,e.g., [7,8,18]. Hirose et al. [26] focus on reducing the run time of algorithms whenthe number of Byzantine robots is restricted. Some other interesting results studygathering with Byzantine robots in different models [19, 42]. We show how to solve Byzantine dispersion in the presence of up to n − yzantine Dispersion on Graphs 7 We devise an algorithm which solves dispersion while tolerating up to n − n . Let us call thisprocedure Find-Map . Then the second procedure disperses the robots on thegraph (again independently and parallelly) with the help of the maps. In thisprocedure, each robot independently finds a position (node) on the graph to besettled in O ( n ) time. Let us call this second procedure Dispersion-Using-Map .We discuss them in detail below.
It is difficult for a robot operating on a graph G to compute a map (i.e., anisomorphic copy) of G . However, Czyzowicz et al. [15] present a protocol to con-struct the quotient graph of an anonymous graph G by a single robot. Intuitively,this graph contains all the information that can be gained about G from its ex-ploration by a single robot. The quotient graph can be used in a manner similarto a map or sketch of the given graph G .The following definition of quotient graph is adapted from [15, 43]. Let G be a graph. The quotient graph of G , denoted Q G , is a (not necessarily simple)graph defined as follows. Nodes of Q G correspond to sets of nodes of G whichhave the same view. For any pair (not necessarily distinct) of nodes X and Y of Q G , corresponding to some two subsets of nodes of graph G , there is an edgebetween X and Y with labels p at X and q at Y , if there exists an edge ( x, y )in G with x ∈ X, y ∈ Y and with ports p at x and q at y . Graphs G and H arecalled equivalent, if Q G = Q H , i.e., they are isomorphic.Czyzowicz et al. [15] show that a single robot, with sufficient amount ofmemory, can construct the quotient graph of an anonymous graph with the helpof the port labeling. The following result follows from Section 5 of [15]. Lemma 1.
Given an n -node anonymous graph with port labeling, there is a poly-nomial (in n ) time algorithm to construct the quotient graph of G by a singlerobot with O ( m log n ) bits of memory, where m is the number of edges in G . We can easily adapt this result to our Byzantine setting. Each robot indepen-dently and parallely runs the above protocol and constructs the quotient graphof G . However, for the dispersion problem, it is required that the quotient graphmust be the same or an isomorphic copy of G so that robots may not incorrectlysettle at the same node (recall that a single node of the quotient graph could bea set of nodes of G ). Thus, we get the following Corollary. It is also a requirement for the rendezvous and graph exploration problems [15, 43]. Molla et al.
Corollary 1.
Given a n -node anonymous graph, n robots, placed arbitrarily onG, each with O ( m log n ) bits of memory, can construct a map (or the quotientgraph) of G independently and parallely in polynomial (in n ) rounds. Note that while having a map makes it easier to explore the graph [43], itwon’t help to solve the dispersion problem straightforwardly. The key reason isthat the Byzantine robots can occupy a node before a non-Byzantine robot movesto that node. So, intuitively, a robot may not find an empty node, but be forcedto settle at an occupied node. Thus, a robot needs to distinguish between non-Byzantine and Byzantine robots, which is a challenging task since a Byzantinerobot can behave maliciously by sending incorrect information. We now presenta protocol which overcomes these challenges.
Dispersion-Using-Map
Assume that each robot has a map of the graph before starting this procedureand the robots start this procedure at the same time (since it is a synchronoussystem). The maps may be distinct from each other and the robots may bepositioned at different nodes. A robot locally computes a spanning tree (say, aDFS tree) on the map of the graph in its memory, where the root of the spanningtree is the current position (node) of the robot. Each robot locally marks thenodes of the graph (map) by assigning some identities. Without loss of generality,assume that the node IDs, maintained by a robot, are { v , v , . . . , v n } . The ideais that each robot traverses its own spanning tree to find an empty node to settledown. Assume the robots perform DFS tree traversal in parallel. When multiplerobots move to an empty node, the minimum ID robot has the preference to settledown at that node. However, this simple idea will not work is in the presence ofByzantine robots and needs to be carefully adapted.During the DFS tree traversal, a robot stores the IDs of the settled robotsand the corresponding nodes. For this, each robot r maintains an array A r ofsize n , where the entry A r [ v i ] stores the IDs of the settled robots at the node v i .Note that a node may have multiple settled robots, since the Byzantine robotsmay settle with a non-Byzantine robot (to interrupt the protocol). Initially, thearray is empty. Recall that we assume the presence of weak Byzantine robots, i.e.,the robots can act in a Byzantine manner by behaving maliciously to thwart thealgorithm but they are weak in that they cannot fake their IDs. Thus, if a (non-Byzantine) robot encounters a settled robot, say, ˆ r at some different node, then itcan surely blacklist ˆ r as a Byzantine robot. For this, each robot r also maintainsa set B r which contains the blacklisted Byzantine robots by r . Furthermore,each robot maintains a state which takes one of two values: (i)
Settled , and (ii) tobeSettled . Each robot also maintains a binary 0 − A robot may also detect a Byzantine robot by some other means, say, when a robotdoes not follow the protocol, e.g., a robot that does not transmit a message when itis supposed to do so.yzantine Dispersion on Graphs 9 to Settled at some node depending on the other co-located robots’ IDs and thestates. In the same way, whenever a robot moves to a node v , it may change itsflag value to 1, which indicates that the robot intends to settle at v . A settledrobot never changes its position and the state, which is Settled.Let us consider a robot r and a node v where r enters v in some round t during its DFS tree traversal. We describe how robot r determines whether itsettles down at v or continues the traversal. Let S s ( v ) be the set of robots whosestate is Settled, and S tbs ( v ) be the set of robots whose state is tobeSettled atnode v in round t . We simply denote them by S s and S tbs when it is clear fromthe context. For simplicity of our algorithm, we assume that a robot moves fromone node to another node only after n rounds (during the DFS tree traversal),i.e., each robot spends n rounds at a node and then move to the next node andstays there for n rounds and so on. The procedure for r at node v (until r settlesdown) is given below:1. If S s = ∅ and, either r is the minimum in S tbs or S tbs \ { r } ⊆ B r , then r settles at v changes its state to Settled .2. Else, if S s = ∅ and, neither r is minimum in S tbs , nor S tbs \ { r } ⊆ B r , then:– ✄ a) If all the robots in S tbs \ { r } , whose ID is smaller than r , are in B r ,then r settles at v and changes its state to Settled .– ✄ b) Else, r sets its flag value to 1 and checks if any other robots in S tbs \ B r has flag value 1. If NO, then r settles at v and changes its stateto Settled . If YES (i.e., there exists smaller ID robot(s) with flag value 1):then r waits for the smaller ID robots in S tbs \ B r (other than r ) and checks:if any of them changes its state to Settled then r stores the ID(s) of thesettled robot(s) in A r [ v ] and moves to the next node following the DFS treetraversal (recall, the robot moves only after n rounds are over at v ). If nosmaller ID robot changes its state to Settled , then r settles at v and changesits state to Settled .3. If S s = ∅ , then:– ✄ a) If S s ⊆ B r and r is the minimum in S tbs \ B r then r settles at v andchanges its state to Settled .– ✄ b) Else, if S s ⊆ B r and r is NOT the minimum in S tbs \ B r , then: r setsits flag value to 1 and checks if any robots in S tbs \ B r has flag value 1. If NO,then r settles at v and changes its state as Settled . If YES (i.e., there existssmaller ID robot(s) with flag value 1): then r waits for the smaller ID robotsin S tbs \ B r and checks: if any of them changes its state to Settled then r stores the settled robot(s) in A r [ v ] and moves to the next node following theDFS traversal. If no smaller ID robot changes its state to Settled , then r settles at v and changes its state to Settled .– ✄ c) Else, if S s * B r , then r stores the IDs of the settled robots from S s \ B r in A r [ v ] and moves to the next node.4. If r finds any robots ˆ r ∈ ∪ { v i : v i = v } A r [ v i ] at v (i.e., settled earlier at somenode before v ), then r blacklists ˆ r and stores it in B r . Furthermore, r alsoconsiders a robot ˆ r as Byzantine if ˆ r does not transmit a message when it issupposed to do so. The above procedure is executed by all robots in parallel, when traversingtheir respective trees. We analyze the correctness of the procedure
Dispersion-Using-Map below. Let us first make the following Observation.
Observation 1.
If a single robot is positioned at a node, it settles at that node.
The above Observation follows from Step 1 of the procedure.
Lemma 2.
A non-Byzantine robot can never be in the blacklisted set of any othernon-Byzantine robots.Proof.
Let r be a non-Byzantine robot. For a non-Byzantine robot r i , the black-listed set B r i contains the Byzantine robots encountered by r i . We claim that r / ∈ B r i for any non-Byzantine robot r i . From Observation 1 and the fact that“a settled robot never changes its position and the state”, r never changes itsposition and state once it is settled. Further, a non-Byzantine robot never de-viates the algorithm. Thus, from the Step 4 of the procedure, r / ∈ B r i for anynon-Byzantine robot r i .The correctness of the procedure follows from the following lemma. Lemma 3.
No two non-Byzantine robots settle at the same node v .Proof. Let two non-Byzantine robots r and r be co-located at some node v .Then by Lemma 2, r is not in the blacklist of r and vice-versa. If one of themis already settled at v , say r , then r will not settle there, because of the checkin Step 3.c. If neither of them is settled at v , then it is impossible for both ofthem to be settled at v at the same time. Suppose the ID of r smaller than r .Then by Step 2.b, r does not settle at v . Lemma 4.
The procedure
Dispersion-Using-Map correctly disperses the robotsin O ( n ) time.Proof. The procedure solves Byzantine dispersion since at any node, at most onenon-Byzantine robot settles (by Lemma 3).Since the normal DFS tree traversal takes at most 2 n − O ( n ) rounds (seeStep 2.b and 3.b), it takes at most O ( n ) rounds to visit all the nodes of the graphvia the map. A robot will find a node to settle down after visiting all the nodesof the graph. The reason is, whenever the robot visits a node v , it stores at leastone settled robot’s ID in its array A [ v ] (if the robot itself does not settle at v ).Moreover, a non-Byzantine robot never changes its settled position (node) and ifa (settled) robot changes its position, it may be blacklisted. Hence, by Pigeonholeprinciple the robot must finds a node to be settled down after visiting all the n nodes of the graph. Therefore, the procedure Dispersion-Using-Map takes atmost O ( n ) rounds. Theorem 1.
There is an algorithm to solve Byzantine dispersion of n robots,when up to n − of them are weak Byzantine robots, on an n node graph in theclass of graphs where the graph is isomorphic to its quotient graph. Moreover,the time complexity of the algorithm is polynomial in n . yzantine Dispersion on Graphs 11 Proof.
Each robot performs the two procedures
Find-Map and
Dispersion-Using-Map . Since each robots performs
Find-Map independently without re-lying on any information from the other robots or their movements, no amount ofByzantine robots can prevent a non-Byzantine robot from generating a quotientgraph. Once the graph is created, by Lemma 4 we see that
Dispersion-Using-Map allows the non-Byzantine robots to solve Byzantine dispersion. Thus, the al-gorithm works in the presence of any number of Byzantine robots, i.e., f ≤ n − Find-Map takes polynomial in n rounds, and Lemma 4, which shows that Dispersion-Using-Map takes O ( n ) rounds. In fact, the polynomial term dominates the O ( n ) bound. Remark 1 (Memory per Robot).
A robot stores the map of the graph, whichrequires O ( m log n ) bits, where m is the number of the edges of the graph. It alsostores the IDs of all the robot, which requires O ( n log n ) bits, assuming the IDsare at most polynomially large. Other parameters (like state, synchronous roundcounter, etc.) takes at most O (log n ) bits. Thus, a robot requires O ( m log n ) bitsof memory. In this section we discuss solutions to the Byzantine dispersion problem on anyport labeled graph G with n nodes. First we propose an algorithm that handlesup to ⌊ n/ − ⌋ Byzantine robots when robots are initially placed arbitrarily.The solution takes O ( n log n ) rounds. We also see that if the robots are initiallygathered at some node, then the round complexity becomes O ( n ) (see Section3.1). Later, we show that if the number of Byzantine robots is bounded to be atmost ⌊ n/ − ⌋ , then Byzantine dispersion can be solved much faster in O ( n )rounds, provided that all the robots start from a gathered configuration (seeSection 3.2). Finally, in Section 3.3, we show that it is possible to solve Byzan-tine dispersion in O ( n √ n ) rounds when robots start from an arbitrary initialconfiguration if we limit the number of Byzantine robots to be at most O ( √ n ).All the algorithms have a similar outline. In Phase 1, we first gather thenon-Byzantine robots using existing algorithms [23,26] in case the robots do notstart in a gathered configuration. Then in Phase 2, robots construct a map ofthe graph using the techniques that we discuss in this section. In fact, we havedifferent map finding techniques based on different upper bounds on the numberof Byzantine robots. Finally, robots disperse with the help of the map using ourprocedure Dispersion-Using-Map (refer Section 2.2) in Phase 3. ⌊ n/ − ⌋ Byzantine robots
In this section we discuss gathering of ⌊ n/ − ⌋ Byzantine robots starting fromany arbitrary initial configuration. Note that our algorithms still work even if only the non-Byzantine robots are gath-ered in one node.2 Molla et al.
Phase 1 (gathering):
All the non-Byzantine robots are gathered in some nodeusing the existing algorithm in [23] that handles any number of weak Byzan-tine robots on any graph of known size n . Their algorithm requires 4 n P ( n, | λ | )rounds to terminate for the non-Byzantine robots where | λ | is the length of thelargest ID of any non-Byzantine robot. The function P ( n, | λ | ) is of O ( n | λ | ) [41].In our case the largest ID of a non-Byzantine robot can be as large as n (i.e.,length is log n ) and hence all non-Byzantine robots gather and terminate in O ( n log n ) rounds in this phase. The exact number of rounds before all non-Byzantine robots terminate in [23] depends on the size of the graph n . Let thisgathering take T rounds. All non-Byzantine robots wait for T rounds for thegathering algorithm to be complete. Phase 2 (map finding):
Phase two starts after T rounds have been completedfrom the beginning of the algorithm. A deterministic pairing among robots isscheduled such that each robot i pairs up with all the other ( n −
1) robots, mak-ing distinct pairs in different rounds. There are n ( n − / i, j ), i = j . So all such pairings can be done in O ( n ) rounds. Note that, in someround there can be multiple such pairs formed by the deterministic pairing. Ifin round r , robots i and j are scheduled to be paired, the pair ( i, j ) is definitelyformed if both are non-Byzantine robots. Then one of them acts as an agent andthe other acts as a movable token. Using the exploration algorithm with movabletoken from [23], it is possible for the agent to compute an isomorphic map ofthe underlying graph in O ( n ) rounds if both i and j are non-Byzantine. Theagent can pass the map to the other robot which worked as a movable tokenduring this map finding algorithm. Let us say that this map finding algorithmfor a pair of robots takes T rounds to be completed. However, if one of i or j or both are Byzantine, then the pair might not even form. In case one of themis non-Byzantine, it waits for T rounds.At the beginning of this phase, all the robots were gathered. Let it be thatin round ( T + 1), i.e., in the first round of this phase, some pairs are formedusing the deterministic pairing. As pairs are supposed to run the map findingalgorithm in parallel, after T rounds all the pairs are done with the map finding.All other non-Byzantine robots who are not running the map finding subroutinealso wait for these T rounds.All non-Byzantine robots remember the port numbers they traveled throughduring this map finding subroutine. After time T , using those port numbersthey get back to the node where they were gathered at the beginning of thisphase. This may take at most another T rounds. Pairing, map finding, and get-ting back to the initial node are repeated until each robot is paired with all otherrobots according to the deterministic scheduling. As there can be O ( n ) roundsof pairing, phase 2 may take O ( n (2 T +1)) = O ( n ) rounds to terminate. Let ussay that phase 2 terminates after T rounds from the beginning of the algorithm. Phase 3 (dispersion):
Phase 3 starts after T rounds are over from the beginning yzantine Dispersion on Graphs 13 of the algorithm. In this phase, robots disperse using our procedure Dispersion-Using-Map (refer to Section 2.2) in O ( n ) rounds using the isomorphic mapscomputed in phase 2. Correctness:
The correctness of phase 1 follows from [23] and the correctnessof phase 3, assuming robots have an isomorphic map of the graph, follows fromLemma 4. Thus, we only need to prove that in phase 2, each robot computesa correct map. Starting from round ( T + 1), the non-Byzantine robots form apair, form a map, and return to the starting node every (2 T + 1) rounds. Letus call a pair a good pair if both the robots are non-Byzantine, else we call it a bad pair . As the number of Byzantine robots are at most ⌊ n/ − ⌋ , the number( n − f ) of possible good pairs involving any robot i is at least one more thanthe number of bad pairs. In turn each non-Byzantine robot computes at least( n − f ) maps which are isomorphic to the actual graph G . As all these ( n − f )maps, f ≤ ⌊ n/ − ⌋ , are isomorphic to each other, each robot i can find thecorrect map isomorphic to G by using a majority rule over all the maps (at most n −
1) it generated in phase 2 of the algorithm.As the overall round complexity is dominated by phase 1 of the algorithm,we have the following theorem.
Theorem 2.
Byzantine dispersion can be solved in O ( n log n ) synchronous roundsin the presence of at most ⌊ n/ − ⌋ weak Byzantine robots when robots start fromany arbitrary initial configuration. Initially gathered:
Note that, if robots starts from a gathering configuration,then they only run phase 2 and phase 3 of Section 3.1 to disperse. As phase1 is not required, the round complexity becomes O ( n ). We have the followingtheorem. Theorem 3.
Byzantine dispersion can be solved in O ( n ) synchronous rounds inthe presence of at most ⌊ n/ − ⌋ weak Byzantine robots when all robots areinitially in a gathered configuration. ⌊ n/ − ⌋ Byzantine robots: A faster algorithm
If initially the non-Byzantine robots are gathered and there are at most ⌊ n/ − ⌋ Byzantine robots, then we can generate a faster algorithm to solve dispersion. Bymodifying the map finding subroutine as described below, we have an algorithmthat solves Byzantine dispersion in O ( n ) rounds. Phase 1 (map finding):
Let k robots (including at least ( n − f ) non-Byzantinerobots) be gathered at some node s , so k ≥ n − f . The robots make 3 groups ofat least ⌊ k/ ⌋ robots each, namely A , B and C . Without loss of generality, letthe ⌊ k/ ⌋ smallest ID robots be in group A . From the remaining robots, let thesmallest ⌊ k/ ⌋ ID robots form group B and the remaining robots form group C . Each robot remembers which robot belongs to which group among those k gathered robots. As each robot remembers the IDs of the other k − gathered robots, if it interacts with a robot with an ID from outside this set ofIDs, it can identify that robot as Byzantine.Again the map finding algorithm with movable token (see [23]) is used. Ineach run of the map finding subroutine, one group of robots acts as an agentand another two groups of robots act together as a token. The robots that areacting as a token believe a group of at least ⌊ k/ ⌋ robots (i.e., more thanhalf of the robots) from the group of robots that are working as the agent. Here,believe means that the robots acting as the token consider the instructions fromsuch a group of robots as the instruction from the agent and work as per thoseinstructions. On the other hand, the agent believes only a group of at least ⌊ k/ ⌋ robots (i.e., more than ⌊ k/ − ⌋ many robots) from the group ofrobots that are working as a token.First A works as an agent and B ∪ C works as a token (this group is formed inone round). The agent does the map finding with the help of the token. This takes T rounds as in phase 2 of Section 3.1. All non-Byzantine robots remember theport numbers they traveled through during this map finding subroutine. Usingthese port numbers, they return to the node where they were gathered at thebeginning of this phase. This may take another T rounds. Then the group A ∪ C is formed in one round. So from the (2 T + 2)-th round onwards, A ∪ C worksas token and B acts as an agent. After another 2 T rounds, finally B ∪ A worksas a token (takes one round to form this group) and C acts as an agent. Fromround 4 T + 4 to round 6 T + 3, C does the map finding with the help of B ∪ A .So each non-Byzantine robot computes at most three maps of the graphamong which at least two are isomorphic to each other. Non-Byzantine robotschoose one from those isomorphic maps. Since the map finding subroutine runsonly thrice, the round complexity of this phase is at most 6 T + 3 which is of O ( n ). Let this phase terminate after T ′ rounds from beginning of the algorithm. Phase 2 (dispersion):
This phase starts in the ( T ′ + 1)-th round. In this phase,robots disperse using the procedure Dispersion-Using-Map (refer Section 2.2)in O ( n ) rounds using the isomorphic map of G computed in phase 1. Correctness:
We need to only prove the correctness of phase 1 as the correctnessof phase 2, assuming each robot has access to an isomorphic map of the graph,was proved in Lemma 4. Each robot remembers the set of other k − k gathered robots. If it interacts with a robot with an ID fromoutside the set of these k − n − k robots notpresent), it can identify that robot as Byzantine. Hence do not have any impacton the algorithm hereafter.Observe that there cannot be more than ⌊ k/ − ⌋ Byzantine robots amongthose k robots. Hence only one group can have more than or equal to ⌊ k/ ⌋ many Byzantine robots. Because if two groups have ⌊ k/ ⌋ Byzantine robotseach, then this contradicts the fact that the total number of Byzantine robotsare less than or equal to ⌊ k/ − ⌋ among those k robots. yzantine Dispersion on Graphs 15 Let A have ⌊ k/ ⌋ or more Byzantine robots in it. Those Byzantine robotscan only affect the map finding algorithm when A works as an agent since themajority of the robots in A are Byzantine. In the other two cases, both the groupacting as an agent and the combined group acting as a token have a majorityof non-Byzantine robots. As an example, when B works as an agent and A ∪ C works as a token, then the majority of robots acting as an agent as well as thoseacting as a token are non-Byzantine. Whenever more than equal to ⌊ k/ ⌋ robots of group B instruct the robots in A ∪ C , the token will move. Note that,if some Byzantine robots change groups and join the Byzantine robots in B ,making the number of Byzantine robots more than ⌊ k/ ⌋ , then the non-Byzantine robots in A ∪ C understand it as each robot knows who is in whichgroup. So, non-Byzantine robots of A ∪ C believe a group of ⌊ k/ ⌋ or morerobots from group B only. Also, in A ∪ C there are more than ⌊ k/ ⌋ non-Byzantine robots and the non-Byzantine robots of B believe only such a groupas token that is consisting of more than equal to ⌊ k/ ⌋ robots from A ∪ C .So, the non-Byzantine robots of B correctly find an isomorphic map of the graphand pass this information to other robots such that robots in A ∪ C also havethis map. So, among three runs of the map finding subroutine, for sure in twoinstances, the non-Byzantine robots find a correct isomorphic map of the graph.Hence all the non-Byzantine robots would be able to choose a correct map byapplying a majority rule to the three maps they have computed.As the overall round complexity is dominated by phase 1 of the algorithm,we have the following theorem. Theorem 4.
Byzantine dispersion can be solved in O ( n ) synchronous rounds inthe presence of at most ⌊ n/ − ⌋ weak Byzantine robots when all robots start ina gathered configuration. O ( √ n ) Byzantine robots
When the number of Byzantine robots is known to be at most O ( √ n ), it is pos-sible to solve Byzantine dispersion in O ( n √ n ) rounds even if robots start froman arbitrary initial configuration. This is due to the gathering algorithm of [26]. Phase 1 (gathering):
Use the gathering algorithm of [26], which takes O ( n √ n )time to gather. It requires that all non-Byzantine robots start the algorithm atthe same time, which is the case here. Phase 2 (map finding):
This is similar to phase 2 of Section 3.2. After phase1, some n − f ≤ k ≤ n robots gathered at one node including all the non-Byzantine robots. In this situation, we can create two groups of ⌊ k/ ⌋ and ⌈ k/ ⌉ robots. One group works as agent and another group works as movable token. Asthere are enough non-Byzantine robots in both the groups, each non-Byzantinerobot finds a correct map after one run of the map finding algorithm using ex-ploration with movable token from [23]. Phase 3 (dispersion):
In this phase, robots disperse using the procedure
Dispersion-Using-Map (refer to Section 2.2) in O ( n ) rounds using the isomorphic map of the graph computed in phase 2. Correctness:
No correctness proof is required in this case as we already havecorrectness proofs of phase 1 from [26], phase 2 from Section 3.2, and the pro-cedure
Dispersion-Using-Map from Lemma 4.As the overall round complexity is dominated by phase 2 of the algorithm,we have the following theorem.
Theorem 5.
Byzantine dispersion can be solved in O ( n √ n ) synchronous roundsin the presence of at most O ( √ n ) weak Byzantine robots when robots start fromany arbitrary initial configuration. In this section we show that it is possible to solve Byzantine dispersion in thepresence of at most ⌊ n/ − ⌋ strong Byzantine robots in polynomial time if allrobots are initially in a gathered configuration. We describe our algorithm below.Note that although we assume all n robots are initially gathered, we describethe algorithm as if only a subset of the n robots, including all non-Byzantinerobots, are initially gathered. This is so that our algorithm can be paired withanother algorithm later on which allows us to solve Byzantine dispersion fromany arbitrary initial configuration. Phase 1 (map finding):
Let k robots, including all non-Byzantine robots, begathered at some node. Since there are at least ( n − f ) non-Byzantine robots, k ≥ n − f . Each robot remembers the IDs of the remaining k − k − n − k robots not present), it can identify that robot asByzantine. The robots make an ordering of those k IDs in increasing order suchthat the smallest ID robot is assigned to 1 and the largest ID robot assigned to k in this order.The robots make 2 groups, A and B , of at least ⌊ k/ ⌋ robots each. The ⌊ k/ ⌋ smallest ID robots are in group A and the remaining robots make group B . Eachrobot also remembers which robot belongs to which group.Again, the map finding algorithm with movable token from [23] is used. Group A works as the agent and group B works as the movable token. Group A believesrobots from group B as representing the position of the token only if there areat least ⌊ n/ ⌋ robots from group B present. Similarly, the robots of group B move as the token only when they get an instruction from a set of at least ⌊ n/ ⌋ robots from group A . Map finding takes O ( n ) rounds to terminate. After themap finding is done, all robots come back to the node from where they started(since they remember the port numbers they visited during map finding). Letthis phase take T rounds from the beginning of the algorithm (where T = O ( n )). Phase 2 (dispersion):
This phase starts in the ( T + 1)-th round. In this phase,robots disperse using the following algorithm. It is similar to the rooted ring yzantine Dispersion on Graphs 17 dispersion used in [33]. All the robots have a unique isomorphic map of thegraph. The robots make a deterministic ordering of the nodes of the graph as v (1) , v (2) , · · · , v ( n ). The robot which was assigned to i (in the deterministic in-creasing ordering of those initially gathered k robots) decides to settle at node v ( i ). Clearly this takes no more than n rounds. Correctness:
First we show that robots accurately generate a map in phase 1.Each robot remembers which robot belongs to which group among those k gath-ered robots. As each robot remembers the IDs of the remaining k − ⌊ n/ ⌋ non-Byzantine robots as all the non-Byzantine robots are divided in two groups.So both the groups have a majority of non-Byzantine robots. Even if robotschange groups, both groups would still have a majority of non-Byzantine robotssince the total number of Byzantine robots we allow is no more than ⌊ n/ − ⌋ .As the robots are strong Byzantine, they can change their IDs and can eventake IDs of non-Byzantine robots. But this does not hamper any communicationas both group of robots trust only a group of at least ⌊ n/ ⌋ robots from theother group. Even if Byzantine robots duplicate IDs, still as a group they cannot make it equal to ⌊ n/ ⌋ . At the end of phase 1, all the non-Byzantine robotsare back in their initial positions, i.e., all are gathered at a single node again.Now we look at the correctness of phase 2, i.e., we show that robots achieveByzantine dispersion. The IDs of the robots are in [1 , n c ] and the non-Byzantinerobots have distinct IDs. The ordering that initially gathered k robots do on theirIDs in increasing order, is always unique. Also all the non-Byzantine robots havethe unique isomorphic map (hence all compute exactly the same ordering of thenodes), the dispersion is correct.The first phase takes O ( n ) rounds and the second phase takes O ( n ) rounds.Totally, the round complexity of the algorithm is O ( n ) rounds.Thus we have the following theorem. Theorem 6.
Byzantine dispersion can be solved in O ( n ) synchronous rounds inthe presence of at most ⌊ n/ − ⌋ strong Byzantine robots when all robots startin a gathered configuration. Arbitrary initial configuration:
We report a method that handles at most ⌊ n/ − ⌋ strong Byzantine robots and solves the Byzantine dispersion problem, though ittakes exponential rounds. We first gather robots using the algorithm from [23]that gathers at most ⌊ n/ − ⌋ strong Byzantine robots in any graph of knownsize starting from an arbitrary initial configuration. Robots create groups suchthat each of them contains at least f + 1 non-Byzantine robots and then gather-ing of those groups ensures gathering of all non-Byzantine robots. However theround complexity is exponential and the knowledge of f is required in this case.Once the gathering is done, we may use the algorithm we described earlier tosolve Byzantine dispersion when robots are initially gathered. As the correctnessof both the map finding and dispersion phase with strong Byzantine robots are given above and the correctness of the gathering algorithm comes from [23], wehave the following theorem. Theorem 7.
Byzantine dispersion can be solved deterministically in an exponen-tial number of rounds in the presence of at most ⌊ n/ − ⌋ strong Byzantinerobots when robots start in any arbitrary initial configuration and f is known toall the robots. Suppose that instead of restricting the number of robots to n , we now have k robots that are trying to solve Byzantine dispersion on an n node graph, whereup to f of the robots are Byzantine. The problem of Byzantine dispersion isslightly modified such that in the final configuration, each node should have atmost ⌈ ( k − f ) /n ⌉ non-Byzantine robots on it. We show that, even if the robotsknow the values of n , k , and f , and the Byzantine robots are weak, if there aretoo many Byzantine robots, then deterministically solving Byzantine dispersionis impossible. Theorem 8.
There does not exist any deterministic algorithm to solve Byzantinedispersion when ⌈ k/n ⌉ > ⌈ ( k − f ) /n ⌉ .Proof. Let there exist some algorithm A that solves Byzantine dispersion of k robots on any n node graph even when ⌈ k/n ⌉ > ⌈ ( k − f ) /n ⌉ . Let us considerone execution of this algorithm on k robots when f = 0. Now, consider onenode where ⌈ k/n ⌉ robots with IDs R , R , . . . , R ⌈ k/n ⌉ settle. Consider anotherexecution of this algorithm where robots R , R , . . . , R ⌈ k/n ⌉ are non-Byzantineand some f robots are Byzantine such that ⌈ k/n ⌉ > ⌈ ( k − f ) /n ⌉ . Let the Byzan-tine robots act like the non-Byzantine robots from the previous execution of A , resulting in the robots R , R , . . . , R ⌈ k/n ⌉ settling on the same node. Now, ⌈ k/n ⌉ non-Byzantine robots settled on the same node, but Byzantine dispersionrequires at most ⌈ ( k − f ) /n ⌉ non-Byzantine robots to settle on the same nodeand here ⌈ k/n ⌉ > ⌈ ( k − f ) /n ⌉ , resulting in a contradiction. References
1. Ankush Agarwalla, John Augustine, William K. Moses Jr., Madhav Sankar K.,and Arvind Krishna Sridhar. Deterministic dispersion of mobile robots in dy-namic rings. In
International Conference on Distributed Computing and Network-ing, ICDCN , pages 19:1–19:4. ACM, 2018.2. Dana Angluin, James Aspnes, Zo¨e Diamadi, Michael J. Fischer, and Ren´e Per-alta. Computation in networks of passively mobile finite-state sensors.
Distributedcomputing , 18(4):235–253, 2006. Note that k can be either ≤ n or > n . However, the result is only truly meaningfulwhen k > n .yzantine Dispersion on Graphs 193. C´edric Auger, Zohir Bouzid, Pierre Courtieu, S´ebastien Tixeuil, and Xavier Urbain.Certified impossibility results for byzantine-tolerant mobile robots. In Symposiumon Self-Stabilizing Systems , pages 178–190. Springer, 2013.4. John Augustine and William K. Moses Jr. Dispersion of mobile robots: A study ofmemory-time trade-offs.
CoRR , abs/1707.05629, [v4] 2018 (a preliminary versionappeared in ICDCN’18).5. Evangelos Bampas, Leszek Gasieniec, Nicolas Hanusse, David Ilcinkas, Ralf Klas-ing, and Adrian Kosowski. Euler tour lock-in problem in the rotor-router model: Ichoose pointers and you choose port numbers. In
DISC , pages 423–435, 2009.6. L. Barriere, P. Flocchini, E. Mesa-Barrameda, and N. Santoro. Uniform scatteringof autonomous mobile robots in a grid. In
IPDPS , pages 1–8, 2009.7. S´ebastien Bouchard, Yoann Dieudonn´e, and Bertrand Ducourthial. Byzantinegathering in networks.
Distributed Computing , 29(6):435–457, 2016.8. S´ebastien Bouchard, Yoann Dieudonn´e, and Anissa Lamani. Byzantine gatheringin polynomial time. In , pages147:1–147:15, 2018.9. Zohir Bouzid, Maria Gradinariu Potop-Butucaru, and S´ebastien Tixeuil.Byzantine-resilient convergence in oblivious robot networks. In
International Con-ference on Distributed Computing and Networking , pages 275–280. Springer, 2009.10. Mark Cieliebak, Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro. Dis-tributed computing by mobile robots: Gathering.
SIAM J. Comput. , 41(4):829–879, 2012.11. Mark Cieliebak and Giuseppe Prencipe. Gathering autonomous mobile robots. In
Proc. of the 9th International Colloquium on Structural Information and Commu-nication Complexity (SIROCCO) , pages 57–72, 2002.12. Reuven Cohen, Pierre Fraigniaud, David Ilcinkas, Amos Korman, and David Peleg.Label-guided graph exploration by a finite automaton.
ACM Trans. Algorithms ,4(4):42:1–42:18, August 2008.13. Reuven Cohen and David Peleg. Robot convergence via center-of-gravity algo-rithms. In
Proc. of the 11th International Colloquium on Structural Informationand Communication Complexity, (SIROCCO) , pages 79–88, 2004.14. Jurek Czyzowicz, Konstantinos Georgiou, Evangelos Kranakis, Danny Krizanc,Lata Narayanan, Jaroslav Opatrny, and Sunil Shende. Search on a line by byzantinerobots. In . Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2016.15. Jurek Czyzowicz, Adrian Kosowski, and Andrzej Pelc. How to meet when youforget: log-space rendezvous in arbitrary graphs.
Distributed Comput. , 25(2):165–178, 2012.16. Archak Das, Kaustav Bose, and Buddhadeb Sau. Memory optimal dispersion byanonymous mobile robots. In Apurva Mudgal and C. R. Subramanian, editors,
Al-gorithms and Discrete Applied Mathematics - 7th International Conference, CAL-DAM 2021, Rupnagar, India, February 11-13, 2021, Proceedings , volume 12601 of
Lecture Notes in Computer Science , pages 426–439. Springer, 2021.17. Shantanu Das. Mobile agents in distributed computing: Network exploration.
Bul-letin of the EATCS , 109:54–69, 2013.18. Shantanu Das, Riccardo Focardi, Flaminia L. Luccio, Euripides Markou, and MarcoSquarcina. Gathering of robots in a ring with mobile faults.
Theor. Comput. Sci. ,764:42–60, 2019.0 Molla et al.19. Shantanu Das, Flaminia L. Luccio, and Euripides Markou. Mobile agents ren-dezvous in spite of a malicious agent. In
Proc. of the 11th International Symposiumon Algorithms and Experiments for Wireless Sensor Networks (ALGOSENSORS) ,pages 211–224, 2015.20. Joshua J. Daymude, Kristian Hinnenthal, Andr´ea W Richa, and Christian Schei-deler. Computing by programmable particles. In
Distributed Computing by MobileEntities , pages 615–681. Springer, 2019.21. Bastian Degener, Barbara Kempkes, Tobias Langner, Friedhelm Meyer auf derHeide, Peter Pietrzyk, and Roger Wattenhofer. A tight runtime bound for syn-chronous gathering of autonomous robots with limited visibility. In
Proc. of the23rd Annual ACM Symposium on Parallelism in Algorithms and Architectures(SPAA) , pages 139–148, 2011.22. Dariusz Dereniowski, Yann Disser, Adrian Kosowski, Dominik Pajak, and Przemys-law Uzna´nski. Fast collaborative graph exploration.
Inf. Comput. , 243(C):37–49,August 2015.23. Yoann Dieudonn´e, Andrzej Pelc, and David Peleg. Gathering despite mischief.
ACM Trans. Algorithms , 11(1):1:1–1:28, 2014.24. Yotam Elor and Alfred M. Bruckstein. Uniform multi-agent deployment on a ring.
Theor. Comput. Sci. , 412(8-10):783–795, 2011.25. Pierre Fraigniaud, David Ilcinkas, Guy Peer, Andrzej Pelc, and David Peleg. Graphexploration by a finite automaton.
Theor. Comput. Sci. , 345(2-3):331–344, Novem-ber 2005.26. Jion Hirose, Masashi Tsuchida, Junya Nakamura, Fukuhito Ooshita, and MichikoInoue. Brief announcement: Gathering with a strong team in weakly byzantineenvironments. In
Proceedings of the 27th International Colloquium on StructuralInformation and Communication Complexity (SIROCCO) . Springer, 2020.27. Ajay D. Kshemkalyani and Faizan Ali. Efficient dispersion of mobile robots ongraphs. In
ICDCN , pages 218–227, 2019.28. Ajay D. Kshemkalyani, Anisur Rahaman Molla, and Gokarna Sharma. Fast dis-persion of mobile robots on arbitrary graphs. In
ALGOSENSORS , 2019.29. Ajay D. Kshemkalyani, Anisur Rahaman Molla, and Gokarna Sharma. Dispersionof mobile robots in the global communication model. In
ICDCN , 2020.30. Ajay D. Kshemkalyani, Anisur Rahaman Molla, and Gokarna Sharma. Dispersionof mobile robots on grids. In
WALCOM , 2020.31. Artur Menc, Dominik Pajak, and Przemyslaw Uznanski. Time and space optimalityof rotor-router graph exploration.
Inf. Process. Lett. , 127:17–20, 2017.32. Avery Miller and Andrzej Pelc. Tradeoffs between cost and information for ren-dezvous and treasure hunt.
J. Parallel Distributed Comput. , 83:159–167, 2015.33. Anisur Rahaman Molla, Kaushik Mondal, and William K. Moses Jr. Efficientdispersion on an anonymous ring in the presence of weak byzantine robots. In
Algorithms for Sensor Systems - 16th International Symposium on Algorithms andExperiments for Wireless Sensor Networks (ALGOSENSORS) , 2020.34. Anisur Rahaman Molla and William K. Moses Jr. Dispersion of mobile robots:The power of randomness. In
TAMC , pages 481–500, 2019.35. Maria Potop-Butucaru, Michel Raynal, and S´ebastien Tixeuil. Distributed com-puting with mobile robots: An introductory survey. In
The 14th InternationalConference on Network-Based Information Systems (NBiS) , pages 318–324, 2011.36. Pavan Poudel and Gokarna Sharma. Time-optimal uniform scattering in a grid.In
ICDCN , pages 228–237, 2019.37. Giuseppe Prencipe. Impossibility of gathering by a set of autonomous mobilerobots.
Theor. Comput. Sci. , 384(2-3):222–231, 2007.yzantine Dispersion on Graphs 2138. Masahiro Shibata, Toshiya Mega, Fukuhito Ooshita, Hirotsugu Kakugawa, andToshimitsu Masuzawa. Uniform deployment of mobile agents in asynchronousrings. In
PODC , pages 415–424, 2016.39. Takahiro Shintaku, Yuichi Sudo, Hirotsugu Kakugawa, and Toshimitsu Masuzawa.Efficient dispersion of mobile agents without global knowledge. In
InternationalSymposium on Stabilizing, Safety, and Security of Distributed Systems , pages 280–294. Springer, 2020.40. Ichiro Suzuki and Masafumi Yamashita. Distributed anonymous mobile robots:Formation of geometric patterns.
SIAM J. Comput. , 28(4):1347–1363, 1999.41. Amnon Ta-Shma and Uri Zwick. Deterministic rendezvous, treasure hunts, andstrongly universal exploration sequences.
ACM Trans. Algorithms , 10(3):12:1–12:15, 2014.42. Masashi Tsuchida, Fukuhito Ooshita, and Michiko Inoue. Byzantine-tolerant gath-ering of mobile agents in arbitrary networks with authenticated whiteboards.
IE-ICE Transactions , 101-D(3):602–610, 2018.43. Masafumi Yamashita and Tsunehiko Kameda. Computing on anonymous networks:Part i-characterizing the solvable cases.