{'fraction_non_alphanumeric': 0.018504811250925242, 'fraction_numerical': 0.0, 'mean_word_length': 5.4688995215311005, '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}}
Stallings' Folding Process Is Inherently Sequential

Allowing many processors to work in parallel offers no significant speedup when computing the rank of a finitely generated free group. Stallings’ folding process, an algorithm for simplifying a directed edgelabeled graph, when applied to those graphs that represent finitely generated free groups, provides a graph-theoretic method for computing the rank of that group. Does adding more processors to Stallings’ folding process offer any significant speedup? We answer this question negatively, proving that Stallings’ folding process itself is an inherently sequential algorithm. This paper provides the proof along with the requisite mathematical background. We show how the problem of computing the rank of a finitely generated free group reduces to the problem of computing an arbitrary bit of the execution of Stallings’ folding process, thereby showing that the process satisfies the definition of an “inherently sequential algorithm” . Thus, although Stallings’ folding process is computable in polynomial time, its asymptotic running time can ot be improved by adding more processors. Since this process often appears in the theory of free groups, one may be able to use this fact to show that other problems and algorithms appearing in computational group theory are inherently sequential.