Table of Contents
Fetching ...

String Problems in the Congested Clique Model

Shay Golan, Matan Kraus

TL;DR

An O(1) rounds algorithm for string sorting that supports strings of arbitrary length and an combinatorial pattern matching algorithm for the computation of the suffix array and the corresponding Longest Common Prefix array of a given string are presented.

Abstract

In this paper we present algorithms for several string problems in the Congested Clique model. In the Congested Clique model, $n$ nodes (computers) are used to solve some problem. The input to the problem is distributed among the nodes, and the communication between the nodes is conducted in rounds. In each round, every node is allowed to send an $O(\log n)$-bit message to every other node in the network. We consider three fundamental string problems in the Congested Clique model. First, we present an $O(1)$ rounds algorithm for string sorting that supports strings of arbitrary length. Second, we present an $O(1)$ rounds combinatorial pattern matching algorithm. Finally, we present an $O(\log\log n)$ rounds algorithm for the computation of the suffix array and the corresponding Longest Common Prefix array of a given string.

String Problems in the Congested Clique Model

TL;DR

An O(1) rounds algorithm for string sorting that supports strings of arbitrary length and an combinatorial pattern matching algorithm for the computation of the suffix array and the corresponding Longest Common Prefix array of a given string are presented.

Abstract

In this paper we present algorithms for several string problems in the Congested Clique model. In the Congested Clique model, nodes (computers) are used to solve some problem. The input to the problem is distributed among the nodes, and the communication between the nodes is conducted in rounds. In each round, every node is allowed to send an -bit message to every other node in the network. We consider three fundamental string problems in the Congested Clique model. First, we present an rounds algorithm for string sorting that supports strings of arbitrary length. Second, we present an rounds combinatorial pattern matching algorithm. Finally, we present an rounds algorithm for the computation of the suffix array and the corresponding Longest Common Prefix array of a given string.

Paper Structure

This paper contains 18 sections, 26 theorems, 4 equations, 2 figures, 7 algorithms.

Key Result

Theorem 1

There is an algorithm that given a sequence of strings $\mathcal{S}=(S_1,S_2,\dots,S_k)$, computes $\mathsf{rank}_{\mathcal{S}}(S_j)$ for every string $S_j\in \mathcal{S}$, and stores this rank in the node that receives $S_j[1]$. The running time of the algorithm is $O(1)$ rounds of the Congested Cl

Figures (2)

  • Figure 1: An example of a sequence of strings, the input is partitioned between nodes $v_1,\dots,v_n$.
  • Figure 2: The yellow regions and red regions represents occurrences of $B$ and $E$, respectively. The blue regions of the pattern and the text represent $R_P$ and $R_T$, respectively. Notice that $\mathcal{S}_P=\{S_1,S_2,S_3\}$, and $\mathcal{S}_T= \{S_4,S_5,S_6,S_7\}$. Given that the pattern is aligned to the $i$th offset, then $i\in PM(P,T)$ if and only if $S_1=S_5$, $S_2=S_6$ and $S_3=S_7$.

Theorems & Definitions (34)

  • Theorem 1: String Sorting
  • Theorem 2: Pattern Matching
  • Theorem 3: Suffix Array and $\mathsf{LCP}$
  • Theorem 4
  • Theorem 5
  • Lemma 6: BG14
  • Definition 7
  • Definition 8: Lexicographic order
  • Lemma 9: CFG20
  • Remark
  • ...and 24 more