Competitive Self-Stabilizing k-Clustering

Abstract

A k-cluster of a graph is a connected non-empty subgraph C of radius at most k, i.e., all members of C are within distance k of a particular node of C, called the clusterhead of C. A k-clustering of a graph is a partitioning of the graph into distinct k-clusters. Finding a mini-mum cardinality k-clustering is known to be NP-hard. In this paper, we propose a silent self-stabilizing asynchronous distributed algorithm for con-structing a k-clustering of any connected network with unique IDs. Our algorithm stabilizes in O(n) rounds, using O(log n) space per process, where n is the number of processes. In the general case, our algorithm constructs O(nk) k-clusters. If the network is a Unit Disk Graph (UDG), then our algorithm is 7.2552k + O(1)-competitive, that is, the number of k-clusters constructed by the algorithm is at most 7.2552k + O(1) times the minimum possible number of k-clusters in any k-clustering of the same network. More generally, if the net-work is an Approximate Disk Graph (ADG) with approximation ratio λ, then our algorithm is 7.2552λ2k +O(λ)-competitive. Our solution is based on the self-stabilizing construction of a data structure called the MIS Tree, a spanning tree of the network whose processes at even levels form a maximal indepen-dent set of the network. The MIS tree construction is the time bottleneck of our k-clustering algorithm, as it takes Θ(n) rounds in the worst case, while the remainder of the algorithm takes O(D) rounds, where D is the diameter of the network. We would like to improve that time to be O(D), but we show that our distributed MIS tree construction is a P-complete problem

    Similar works

    Full text

    thumbnail-image