Parallel comparison of run-length-encoded strings on a linear systolic array
The length of the longest common subsequence (LCS) between two strings of M and N characters can be computed by an O(MN) dynamic programming algorithm, that can be executed in O(M+N) steps by a linear systolic array. It has been recently shown that the LCS between run-length-encoded (RLE) strings of m and n runs can be computed by an O(nM+Nm?nm) algorithm that could be executed in O(m+n) steps by a parallel hardware. However, the algorithm cannot be directly mapped on a linear systolic array because of its irregular structure. In this paper, we propose a modified algorithm that exhibits a more regular structure at the cost of a marginal reduction of the efficiency of RLE. We outline the algorithm and we discuss its mapping on a linear systolic array.
systolic array longest common subsequence algorithms run-length encoding string comparison