The longest common subsequence(LCS) problem is one of the classical and well-studied problems in computer science. The computation of the LCS is a frequent task in DNA sequence analysis, and has applications to genetics and molecular biology. In this paper we define new variants, introducing the notion of gap-constraints in LCS problem and present efficient… (More)
The swap matching problem consists if finding a pattern in a text, while allowing for transpositions in the pattern. A new approach using a graph-theoretic model was presented in  by Iliopoulos et al. In this paper we present a useful application for this algorithm and provide an analysis of its running time with a naive approach through implementation.
In this paper, we present algorithms for pattern matching, where either the pattern P or the text T can contain " don't care " characters. If the pattern P contains don't care characters, then we can solve the pattern matching problem in O(n + m + α) time, where α is the total number of occurrences of the component subpatterns. We also can handle online… (More)
This paper presents a heuristic to solve the Multidimensional Multiple-choice Knapsack Problem (MMKP), a variant of the classical 0–1 Knapsack Problem. We apply a transformation technique to map the multidimensional resource consumption to single dimension. Convex hulls are constructed to reduce the search space to find the near-optimal solution of the… (More)
In this paper, we study the classic and well-studied longest common subsequence (LCS) problem and a recent variant of it, namely the constrained LCS (CLCS) problem. In the CLCS problem, the computed LCS must also be a supersequence of a third given string. In this paper, we first present an efficient algorithm for the traditional LCS problem that runs in… (More)
The Longest Common Subsequence (LCS) problem is a classic and well-studied problem in computer science. The LCS problem is a common task in DNA sequence analysis with many applications to genetics and molecular biology. In this paper, we present a new and efficient algorithm for solving the LCS problem for two strings. Our algorithm runs in O(R log log n +… (More)
A Hamiltonian cycle is a spanning cycle in a graph, i.e., a cycle through every vertex, and a Hamiltonian path is a spanning path. In this paper we present two theorems stating sufficient conditions for a graph to possess Hamiltonian cycles and Hamil-tonian paths. The significance of the theorems is discussed, and it is shown that the famous Ore's theorem… (More)
In this paper, we have proposed two novel algorithms based on Ant Colony Optimization (ACO) for finding near-optimal solutions for the Multi-dimensional Multi-choice Knapsack Problem (MMKP). MMKP is a discrete optimization problem, which is a variant of the classical 0-1 Knapsack Problem and is also an NP-hard problem. Due to its high computational… (More)
Sorting a permutation by transpositions (SPbT) is an important problem in bioinformtics. In this article, we improve the running time of the best known approximation algorithm for SPbT.