Fast Algorithms to Enumerate All Common Intervals of Two Permutations

Takeaki Uno and Mutsunori Yagiura
Given two permutations of $n$ elements, a pair of intervals of these permutations consisting of the same set of elements is called a {\it common interval}. Some genetic algorithms based on such common intervals have been proposed for sequencing problems and have exhibited good prospects. In this paper, we propose three types of fast algorithms to enumerate all common intervals: i) a simple $O(n^2)$ time algorithm (LHP), whose expected running time becomes $O(n)$ for two randomly generated permutations, ii) a practically fast $O(n^2)$ time algorithm (MNG) using the reverse Monge property, and iii) an $O(n+K)$ time algorithm (RC), where $K$ ($\leq {n \choose 2}$) is the number of common intervals. It will be also shown that the expected number of common intervals for two random permutations is $O(1)$. This result gives a reason for the phenomenon that the expected time complexity $O(n)$ of the algorithm LHP is independent of $K$. Among the proposed algorithms, RC is most desirable from the theoretical point of view; however, it is quite complicated compared to LHP and MNG. Therefore, it is possible that RC is slower than the other two algorithms in some cases. For this reason, computational experiments for various types of problems with up to $n=10^6$ are conducted. The results indicate that i) LHP and MNG are much faster than RC for two randomly generated permutations, and ii) MNG is rather slower than LHP for random inputs; however, there are cases that LHP requires $\Omega(n^2)$ time, but MNG runs in $o(n^2)$ time and is faster than both LHP and RC.

Key Words: common intervals of permutations, genetic algorithm, linear time algorithm, random permutations, Monge property, subtour exchange crossover.

Algorithmica, Vol. 26, No. 2, pp. 290-309, 2000.

PS file

Back to the Paper List