Publication | Closed Access
A New Progressive Algorithm for a Multiple Longest Common Subsequences Problem and Its Efficient Parallelization
26
Citations
26
References
2012
Year
EngineeringComputational ComplexityRange SearchingSequence AlignmentSequence DesignParallel MetaheuristicsDominant Point ApproachString-searching AlgorithmData ScienceData MiningParallel Complexity TheoryDiscrete MathematicsParallel ComputingCombinatorial OptimizationDominant PointsNew Progressive AlgorithmComputer EngineeringComputer ScienceEfficient ParallelizationBioinformaticsSequence SimilarityComputational ScienceComputational BiologyCombinatorial Pattern MatchingSequential AlgorithmParallel ProgrammingSimilarity Search
The multiple longest common subsequence (MLCS) problem, which is related to the measurement of sequence similarity, is one of the fundamental problems in many fields. As an NP-hard problem, finding a good approximate solution within a reasonable time is important for solving large-size problems in practice. In this paper, we present a new progressive algorithm, Pro-MLCS, based on the dominant point approach. Pro-MLCS can find an approximate solution quickly and then progressively generate better solutions until obtaining the optimal one. Pro-MLCS employs three new techniques: 1) a new heuristic function for prioritizing candidate points; 2) a novel d-index-tree data structure for efficient computation of dominant points; and 3) a new pruning method using an upper bound function and approximate solutions. Experimental results show that Pro-MLCS can obtain the first approximate solution almost instantly and needs only a very small fraction, e.g., 3 percent, of the entire running time to get the optimal solution. Compared to existing state-of-the-art algorithms, Pro-MLCS can find better solutions in much shorter time, one to two orders of magnitude faster. In addition, two parallel versions of Pro-MLCS are developed: DPro-MLCS for distributed memory architecture and DSDPro-MLCS for hierarchical distributed shared memory architecture. Both parallel algorithms can efficiently utilize parallel computing resources and achieve nearly linear speedups. They also have a desirable progressiveness property-finding better solutions in shorter time when given more hardware resources.
| Year | Citations | |
|---|---|---|
Page 1
Page 1