{'fraction_non_alphanumeric': 0.025556471558120363, 'fraction_numerical': 0.0, 'mean_word_length': 5.225641025641026, '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}}
Distributed strategies for making a digraph weight-balanced

A digraph is weight-balanced if, at each node, the sum of the weights of the incoming edges (in-degree) equals the sum of the weights of the outgoing edges (out-degree). Weight-balanced digraphs play an important role in a variety of cooperative control problems, including formation control, distributed averaging and optimization. We call a digraph weight-balanceable if it admits an edge weight assignment that makes it weight-balanced. It is known that semiconnectedness is a necessary and sufficient condition for a digraph to be weight-balanceable. However, to our knowledge, the available approaches to compute the appropriate set of weights are centralized. In this paper, we propose a distributed algorithm running synchronously on a directed communication network that allows individual agents to balance their in- and out-degrees. We also develop a systematic centralized algorithm for constructing a weight-balanced digraph and compute its time complexity. Finally, we modify the distributed procedure to design an algorithm which is distributed over the mirror digraph and has a time complexity much smaller than the centralized algorithm.