Design a greedy algorithm for the Multiple Breakpoints Dista
Design a greedy algorithm for the Multiple Breakpoints Distance problem and evaluate its approximation ratio.
Solution
Breakpoint Distance problem: given a set of permutations 1,...,k, nd an ancestral permutation such that sum(br(i, ), for i in xrange(1,k)) is minimal, where br(i, ) is the number of breakpoints between i and .
we defined the number of breakpoints in a permutations as the number of non-adjacent consecutive numbers. This notion can be generalized to define breakpoints between two permutations, br(1, 2) as follows: for each number x1, x2, x3, ... xn in 1 substitute i for xi. Similarly, for each number y1, y2, y3, ... yn in 2 substitute i for yk where yk = xi, and count the number of breakpoints in 2. In other words, impose the ordering of 1 on 2 and count the number of breakpoints in 2.
For example:
1 = [0,1,4,3,2,5,6,7]
2 = [0,1,2,3,4,6,5,7]
Imposing 1\'s order on 2gives:
2\' = [0,1,4,3,2,6,5,7] (4 -> 2, 2 -> 4)
this gives 3 breakpoints [0,1|4,3,2|6,5|7].

