Exact Algorithms for the Bounded Repetition Longest Common Subsequence Problem
Exact Algorithms for the Bounded Repetition Longest Common Subsequence Problem
复制标题
有界重复最长公共子序列问题的精确算法
DOI:
10.1016/j.tcs.2020.07.042
复制
发表时间:
2020
影响因子:
1.1
通讯作者:
Tadatoshi Utashima
中科院分区:
文献类型:
--
作者:
Yuichi Asahiro;Jesper Jansson;Guohui Lin;Eiji Miyano;Hirotaka Ono;Tadatoshi Utashima
In this paper, we study exact, exponential-time algorithms for a variant of the classic Longest Common Subsequence problem called the Repetition-Bounded Longest Common Subsequence problem (or RBLCS, for short): Let an alphabet S be a finite set of symbols and an occurrence constraint C o c c be a function C o c c: S→ N, assigning an upper bound on the number of occurrences of each symbol in S. Given two sequences X and Y over the alphabet S and an occurrence constraint C o c c, the goal of RBLCS is to find a longest common subsequence of X and Y such that each symbol s∈ S appears at most C o c c (s) times in the obtained subsequence. The special case where C o c c (s)= 1 for every symbol s∈ S is known as the Repetition-Free Longest Common Subsequence problem (RFLCS) and has been studied previously; eg, in [1], Adi et al. presented a simple (exponential-time) exact algorithm for RFLCS. However, they did not analyze its time complexity in detail, and to the best of our knowledge, there are no previous results on the running times of any exact algorithms for this problem. Without loss of generality, we will assume that| X|≤| Y| and| X|= n. In this paper, we first propose a simpler algorithm for RFLCS based on the strategy used in [1] and show explicitly that its running time is O (1.44225 n). Next, we provide a dynamic programming (DP) based algorithm for RBLCS and prove that its running time is O (1.44225 n) for any occurrence constraint C o c c, and even less in certain special cases. In particular, for RFLCS, our DP-based algorithm runs in O (1.41422 n) time, which is faster than the previous one. Furthermore, we prove NP-hardness and APX-hardness results for RBLCS on restricted instances.