{'fraction_non_alphanumeric': 0.016798418972332016, 'fraction_numerical': 0.0, 'mean_word_length': 4.8895348837209305, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
K-clustering in wireless ad hoc networks

Ad hoc networks consist of wireless hosts that communicate with each other in the absence of a fixed infrastructure. Clustering is commonly used in order to limit the amount of routing information stored and maintained at individual hosts. A k-clustering is a framework in which the wireless network is divided into non-overlapping sub networks, also referred to as clusters, and where every two wireless hosts in a sub network are at most k hops from each other. The algorithmic complexity of k-clustering is known to be NP-Complete for simple undirected graphs. For the special family of graphs that represent ad hoc wireless networks, modeled as unit disk graphs, we introduce a two phase distributed polynomial time and message complexity approximation solution with O(k) worst case ratio over the optimal solution. The first phase constructs a spanning tree of the network and the second phase then partitions the spanning tree into subtrees with bounded diameters.