tered in areas as diverse as mathematics, computer science, communication .... collection of disjoint cycles, since the in-degree and out-degree of each vertex is ...
2010 IEEE Information Theory Workshop - ITW 2010 Dublin
A Graphical Model for computing the Minimum Cost Transposition Distance Farzad Farnoud (Hassanzadeh), Chien-Yu Chen, Olgica Milenkovic
Navin Kashyap
University of Illinois Urbana-Champaign, IL 61801, USA
Queen’s University Kingston, ON K7L 3N6, Canada
Abstract—We address the problem of finding the minimum decomposition of a permutation in terms of transpositions with non-uniform cost. For metric-path costs, we describe exact polynomial-time decomposition algorithms. For extendedmetric-path cost functions, we describe polynomial-time constantapproximation decomposition algorithms. Our algorithms rely on graphical representations of permutations and graph-search techniques for minimizing the permutation decomposition cost. The presented algorithms have applications in information theory, bioinformatics, and algebra.
I. I NTRODUCTION Permutations are ubiquitous combinatorial objects encountered in areas as diverse as mathematics, computer science, communication theory, and bioinformatics. The set of all permutations of n elements – the symmetric group of order n, Sn – plays an important role in algebra, representation theory, and analysis of algorithms [1]–[4]. As a consequence, the properties of permutations and the symmetric group have been studied extensively. One of the simplest ways to generate an arbitrary permutation is to apply a sequence of transpositions - swaps of two elements - on a given permutation, usually the identity permutation. The sequence of swaps can be reversed in order to recover the identity permutation from the original permutation. This process is referred to as sorting by transpositions. A simple result, established by Cayley in the 1860’s, asserts that the number of transpositions needed to sort a permutation is the difference of the size of the permutation and the number of cycles formed by the elements of the permutation. Cayley’s result is based on a simple constructive argument, which reduces to a linear-complexity procedure for breaking cycles into sub-cycles. We address the substantially more challenging question: assuming that each transposition has a non-negative, but otherwise arbitrary cost, is it possible to find the minimum sorting cost and the sequence of transpositions used for this sorting in polynomial time? Although at this point it is not known if the problem is NP hard, at first glance, it appears to be computationally difficult, due to the fact that it is related to finding minimum generators of groups and the subset-sum problem [5]. Nevertheless, we show that large families of cost functions – such as costs based on metric-paths – have polynomialtime exact decomposition algorithms. Furthermore, we devise algorithms for approximating the minimum sorting cost for another interesting family of functions, related to metricpath costs. In this case, we have an approximation constant
that does not exceed two. In a companion paper, we also provide approximation algorithms for general non-negative cost functions. Our investigation is motivated by two different applications. The first application pertains to sorting of genomic sequences. The second application is in the area of coding for storage devices. Genomic sequences – such as DNA sequences – evolved from one common ancestor, and therefore frequently contain conserved subsequences. During evolution or during the onset of a genomic disease, these subsequences may be subject to mutations, and they may exchange their locations. As an example, genomes of cancer cells tend to contain the same sequence of blocks as normal cells, but in a reshuffled (permuted) order. This finding motivated a large body of work on developing efficient algorithms for reverse-engineering the sequence of shuffling steps performed on conserved subsequences. With a few exceptions, most of the methods for sorting use reversals rather than transpositions, they follow the uniform cost model (each change in the ordering of the blocks is equally likely), and the most parsimonious sorting scenario (the sorting scenario with smallest number of changes is the most likely explanation for the observed order). Several approaches that do not fit into this framework were described in [6], [7]. Sorting by cost-constrained transpositions can be seen as a special instant of the general subsequence sorting problem where the sequence is allowed to break at three or four points. Unfortunately, the case of two sequence breakpoints, corresponding to so called reversals, cannot be treated within this framework. The second application is concerned with flash memories and rank permutation coding (see [8] and [9]). In this case, one is interested in sorting permutations using adjacent transpositions and computing the Kendall distance between permutations. If one considers more precise charge leakage models for memory cells, the costs of adjacent transpositions become nonuniform. This can easily be captured by a transposition cost model in which non-adjacent transpositions have unbounded cost. Hence, the proposed decomposition algorithms can be used as part of general rank modulation decoders. Our findings are organized as follows. Section II introduces the notation followed in the remainder of the paper, as well as relevant definitions. Sections III and IV contain the main results of our study: a polynomial-time approximation algorithm for extended-metric-costs and an exact polynomial-time
978-1-4244-8264-1/10/$26.00 © 2010 IEEE
algorithm for sorting with metric-path costs. II. N OTATION AND D EFINITIONS A permutation π of {1, 2, . . . , n} is a bijection from {1, 2, . . . , n} to itself. The set of permutations of {1, 2, . . . , n} is denoted by Sn , and is called the symmetric group on {1, 2, . . . , n}. The product π2 π1 of two permutations π1 and π2 is the permutation obtained by first applying π1 and then π2 to {1, 2, . . . , n}, i.e., it represents the composition of π1 and π2 . The functional digraph of a function f : {1, 2, . . . , n} → {1, 2, . . . , n}, denoted by G (f ), is a directed graph with vertex set {1, 2, . . . , n} and an edge from i to f (i) for each i ∈ {1, 2, . . . , n}. We use the words vertex and element interchangeably; i is an element in {1, 2, . . . , n} and also a vertex in G (π). For a permutation π of {1, 2, . . . , n}, G (π) is a collection of disjoint cycles, since the in-degree and out-degree of each vertex is exactly one. A planar embedding of G (π) can be obtained by placing vertices of each of the disjoint cycles on disjoint circles. We use G (π) to refer to the planar embedding of the functional digraph of π on circles, as well as the functional digraph of π. As a convention, we do not explicitly indicate the direction of edges on the circle. Instead, we assume a clockwise direction and treat G (π) as a non-directional graph, unless otherwise stated. The following definitions regarding graphs G = (V, E) will be used throughout the paper. An edge with endpoints u and v is denoted by (uv) ∈ E. We use G [S] to denote the subgraph of G induced by the vertices in the set S ⊂ V . The degree of a vertex v in G is denoted by degG (v) or, if there is no ambiguity, by deg (v). Deletion of an edge e from a graph G is denoted by G − e and deletion of a vertex v and its adjacent edges from G is denoted by G − v. Each cycle can be written as a k−tuple σ = (a1 a2 · · · ak ), where k is the length of the cycle and ai+1 = σ (ai ). We hence reserve the symbol σ for cycles and π for multiple cycle permutations. For each cycle of length k, the indices are evaluated modulo k, so that ak+1 equals a1 . The cycle representation of a permutation is the list of its cycles. For example, the cycle representation of 31254 is (132) (45). Cycles of length one are usually omitted. The product of non-disjoint cycles is interpreted as product of permutations. As an illustration, (124) (213) = ((124) (3)) ((213) (4)) = (2) (134). Note that all cycles and transpositions are multiplied from right to left. A cycle of length two is called a transposition. A transposition decomposition τ (or simply a decomposition) of a permutation π is a sequence tm · · · t1 of transpositions ti whose product is π. Alternatively, a sorting s of a permutation π is a sequence of transpositions that transform π into ı, where ı denotes the identity element of Sn . In other words, sπ = ı. Note that a decomposition in reverse order equals a sorting. Let T (τ ) be a graph with vertex set {1, 2, . . . , n} and edges (ai bi ) for each transposition ti = (ai bi ) of τ . Henceforth, we use the words transposition and edge interchangeably. The embedding of T (τ ) with vertex set {1, 2, . . . , n} into G (π) is also denoted by T (τ ). In the derivations to follow, we make
frequent use of the spanning trees of the graphs T (τ ) , G (π) and G (π)∪T (τ ). A spanning tree is a standard notion in graph theory: it is a tree that contains all vertices of the underlying graph. We are concerned with the following problem: given a nonnegative cost function ϕ on the set of transpositions, the cost of a transposition decomposition is defined as the sum of costs of its transpositions. The task is to find an efficient algorithm for generating the Minimum Cost Transposition Decomposition (MCD) of a permutation π ∈ Sn . The cost of the MCD of a permutation π under cost function ϕ is denoted by Mϕ (π). If there is no ambiguity, the subscript is omitted. For a non-negative cost function ϕ, let K (ϕ) be the undirected complete graph in which the cost of each edge (ab) equals ϕ (a, b). The cost of a graph G ⊆ K (ϕ) is the sum of the costs of its edges, X cost (G) = ϕ (a, b) . (ab)∈G
The shortest path, i.e., the path with minimum cost, between i and j in K (ϕ) is denoted by p∗ (i, j). We consider metric-path and extended-metric-path cost functions, defined below, and relegate the analysis of general non-negative cost functions to a companion paper. In particular, the following definitions with respect to cost functions are useful in our analysis. A cost function ϕ is a metric-path cost if it is defined in terms of a weighted path, denoted by Θs . The weights of edges (uv) in Θs are equal to ϕ (u, v), and the cost of any transposition (ij) equals ϕ (i, j) =
l X
ϕ (ct , ct+1 ) ,
t=1
where c1 · · · cl cl+1 , c1 = i, cl+1 = j, represents the unique path between i and j in Θs . The path Θs is called the defining path of ϕ. Similarly, a cost function ϕ is an extended-metricpath cost function if for a defining path Θs , one has ϕ (i, j) = 2
l X t=1
ϕ (ct , ct+1 ) − max ϕ (ct , ct+1 ) , 1≤t≤l
(1)
where c1 · · · cl+1 , c1 = i, cl+1 = j, denotes the unique path between i and j in Θs . Applying a transposition (ab) to a permutation π is equivalent to exchanging the predecessors of a and b in G (π). Consider the permutation π, where π (c) = a and π (d) = b, for a, b, c, d ∈ {1, 2, . . . , n}. Let π ′ = (ab) π. In π ′ , the predecessor of a and b are exchanged, so π ′ (d) = a and π ′ (c) = b. We define a generalization of the notion of a transposition, termed h-transposition, where the predecessor of a can be changed independently of the predecessor of b. Let π ′′ = (c, (a → b)) π where (c, (a → b)) represents an htransposition. The h-transposition takes c, the predecessor of a, to b, without modifying the predecessor of b. That is, in π ′′ we have π ′′ (c) = π ′′ (d) = b, and a has no predecessor. Note that π ′ is no longer a bijection, but a mapping in which several
Algorithm 1 P LANAR -T REE(σ, Θ) 1: (a1 a2 . . . ak ) ← σ ⊲ explicit representation of σ 2: Choose a leaf au in Θ 3: Find at , the parent of au in Θ 4: σ1 ← (au+1 au+2 . . . at ) 5: σ2 ← (at at+1 . . . ak ) 6: Θ1 ←P RUNE (Θs , σ1 ) 7: Θ2 ←P RUNE (Θs , σ2 ) 8: T1 ←P LANAR -T REE (σ1 , Θ1 ) 9: T2 ←P LANAR -T REE (σ2 , Θ2 ) 10: T (σ) ← (au at ) ∪ T1 ∪ T2
appear in Θs . The procedure P RUNE , which is not explicitly listed, generates Θ1 by removing the vertices of Θs that are not in σ1 but maintains the same distance between the vertices that appear in σ by modifying edge weights. A similar procedure is used to obtain Θ2 . An example is shown in Figure 1. The following lemma proves the correctness of the algorithm.
elements may be mapped to one element. A transposition represents a pair of h-transpositions. For example, ¡ ¢¡ ¢ (ab) π = π −1 (a) , (a → b) π −1 (b) , (b → a) π.
Proof: Since the sub-trees T1 and T2 are in different sides of the edge (at au ),PG (σ) ∪ T (σ) is planar. Let B (σ) = 12 i ϕ (i, σ (i)). We prove, inductively, that cost (T (σ)) = B (σ). For k = 2, T (σ) is the edge (a1 a2 ). Assume next that the cost of T (σ) for any cycle σ of length ≤ k − 1 equals B (σ). Consider the cycle σ = (a1 . . . ak ). Without loss of generality, suppose that the vertex labeled a1 is a leaf in Θs , the defining path of ϕ, and that at is its parent. Since
An h-decomposition h of a permutation π is a sequence of h-transpositions such that hı = π. Similar to transpositions, a cost ψ (a, b) ≥ 0 can be assigned to h-transpositions (c, (a → b)), where c is a’s predecessor. Note that the cost ψ does not depend on c. We say that the transposition cost ϕ and the h-transposition cost ψ are consistent if for all transpositions (ab) it holds that ϕ (a, b) = ψ (a, b) + ψ (b, a). For a permutation π and a transposition (ab), it can be easily verified that (ab) π consist of one more (or one less) cycle than π if and only if a and b are in the same cycle (in different cycles). Since the identity permutation has n cycles, a Minimum Length Transposition Decomposition (MLD) of π has length n−ℓ, where ℓ denotes the number of cycles in π. The minimum cost of an MLD of π, with respect to cost function ϕ, is denoted by Lϕ (π). For example, (132) (45) = (45) (23) (12) is decomposed into three transpositions. In particular, if π is a single cycle, then the MLD of the cycle has length n − 1. A given cycle of length k has k k−2 MLDs [10]. An MCD is not necessarily an MLD, as illustrated by the following example. Example 1. Consider the cycle σ = (1 . . . 5) with ϕ (i, i + 1) = 3 and ϕ (i, i + 2) = 1. It is easy to verify that (14) (13)(35)(24)(14)(13) is an MCD of σ with cost six, i.e., M (σ) = 6. However, as we shall see later, the cost of a minimum cost MLD is eight, i.e., L (σ) = 8. One such MLD is (14) (23) (13) (45) [11]. III. M ETRIC -PATH C OSTS In this section, we find the minimum cost decomposition of a cycle σ with a metric-path cost function. Alg. 1 recursively constructs a spanning tree T with cost 1X ϕ (i, σ (i)) , cost (T ) = 2 i∈σ such that G (σ) ∪ T is planar. The tree T will be used to construct an MLD for σ. Henceforth, the output of Alg. (1) for input σ is denoted by T (σ). In Alg. 1, the cycle σ is divided into sub-cycles σ1 and σ2 and the algorithm is applied to each of these cycles recursively. The cycles σ1 and σ2 may not contain all the vertices that
Lemma 2. Given a metric-path cost function ϕ and a cycle σ = (a1 a2 . . . ak ), Alg. 1 finds a spanning tree T (σ) such that G (σ) ∪ T (σ) is planar and T (σ) has cost 1X ϕ (i, σ (i)) . cost (T (σ)) = 2 i∈σ
T (σ) = (a1 at ) ∪ T ((a2 . . . at )) ∪ T ((at . . . ak )) , the cost of T (σ) is equal to B ((a2 . . . at ))+B ((at . . . ak ))+ ϕ (a1 , at ). Note that we can write t−1
B ((a2 . . . at )) =
1 1X ϕ (ai , σ (ai )) + ϕ (a2 , at ) 2 i=2 2
t−1
=
1X 1 1 ϕ (ai , σ (ai )) + ϕ (a2 , at ) − ϕ (a1 , a2 ) , 2 i=1 2 2 k−1
B ((at . . . ak )) =
1 1X ϕ (ai , σ (ai )) + ϕ (at , ak ) 2 i=t 2
k
=
1X 1 1 ϕ (ai , σ (ai )) + ϕ (at , ak ) − ϕ (a1 , ak ) . 2 i=t 2 2
Since ϕ (a1 , a2 ) = ϕ (a1 , at ) + ϕ (at , a2 ) and ϕ (a1 , ak ) = ϕ (a1 , at ) + ϕ (at , ak ), it follows that B ((a2 . . . at ))+B ((at . . . ak ))+ϕ (a1 , at ) = B ((a1 . . . ak )) . This completes the proof of the Lemma. The following lemma states that we can construct an MLD using T (σ) obtained in Alg. 1. An independent study of the relationship between MLDs and trees was also conducted in [12]. Lemma 3. For a cycle σ and a spanning tree T over the vertices {1, 2, . . . , k}, for which G (σ) ∪ T is planar, there exists at least one MLD τ of σ such that T = T (τ ). Proof: We prove the lemma by inductively constructing an MLD corresponding to T . If k = 2, then T has exactly one edge and the MLD is the transposition corresponding to
¡ −1 ¢ ¡ −1 ¢ (ai bi ) in τ with σi−1 (ai ) , (ai → bi ) σi−1 (bi ) , (bi → ai ) to obtain the h-decomposition ¢ ¢ ¡ −1 ¡ −1 (am ) , (am → bm ) · · · σm−1 (bm ) , (bm → am ) σm−1 ¡ −1 ¢¡ ¢ σ0 (b1 ) , (b1 → a1 ) σ0−1 (a1 ) , (a1 → b1 )
1 6
2
1
3
5
3 5
2
4
6
2
with cost M (σ).
3 3
4 (a) G (σ) ∪ T (σ)
5
4
Lemma 5. It holds that M (σ) ≥
6
Figure 1. (a) The cycle σ = (12345). Edges of G (σ) are dashed. The edge (13), shown with a thick solid line, belongs to T (σ). The tree T ((3456)) consists of solid edges on the left hand side of (13) and T ((23)) consists of solid edges on the right hand side of (13). We have T (σ) = (13) ∪ T ((23)) ∪ T ((3456)). (b) The defining path Θs of ϕ. Length of an edge is proportional to its cost. Θ1 and Θ2 , for the first run of the algorithm, are plotted below Θs , the original defining path.
that edge. For k > 2, some vertex has degree larger than one. Without loss of generality, assume that deg (1) > 1. Let r = max {u| (1u) ∈ T } . Since T is a tree, T − (1r) has two components. These two components have vertex sets {1, . . . , s} and {s + 1, . . . k}, for some s. It is easy to see that (2)
Let T ′ = T [{1, . . . , s}] , T ′′ = T [{s+1, . . . , k, 1}] . Note that T ′ and T ′′ have fewer than k vertices. Furthermore, T ′ ∪ G ((1 . . . s)) and T ′′ ∪ G ((s+1 . . . k 1)) are planar. Thus, from the induction hypothesis, (1 . . . s) and (s+1 . . . k 1) have decompositions τ ′ and τ ′′ of length s − 1 and k − s, respectively. By (2), τ ′′ τ ′ is an MLD for σ. From Lemma 3, we know that every T , such that T ∪ G (σ) is planar, corresponds to an MLD with the same transpositions as the edges in T . Thus, from the tree P T (σ) obtained by Alg. 1, we find an MLD τ with cost 12 i∈σ ϕ (i, σ (i)). Hence, 1X ϕ (i, σ (i)) . L (σ) ≤ 2 i∈σ
P
i
cost (p∗ (i, σ (i))).
Proof: Define ψ1/2 as
(b) Θs
(1 . . . k) = (s+1 . . . k 1) (1 . . . s) .
1 2
(3)
Lemmas (4) and (5) establish a lower-bound for M (σ) .
ψ1/2 (a, b) = ψ1/2 (b, a) = ϕ (a, b) /2. It is clear that ψ1/2 is consistent with ϕ. Hence, the minimum cost of an h-decomposition with respect to ψ1/2 is at most M (σ). The minimum cost h-decomposition uses the shortest path p∗ (i, σ (i)) between i and σ (i) in K (ϕ). In this case, i becomes the predecessor of σ (i) through the following sequence of h-transpositions: (i, (vm → σ (i))) · · · (i, (v1 → v2 )) (i, (i → v1 )) where p∗ (i, σ (i)) = iv1 v2 . . . vm σ (i) is the shortest path between i and σ (i) in K (ϕ). Hence, X X M (σ) ≥ ψ1/2 (a, b) i
=
(ab)∈p∗ (i,σ(i))
1X 2
cost (p∗ (i, σ (i))) .
i
Theorem 6. For a cycle σ and a metric-path cost function, one has 1X ϕ (i, σ (i)) . L (σ) = M (σ) = 2 i∈σ Proof: Since L (σ) ≥ M (σ), the theorem follows from (3), Lemma 5, and the fact that for metric-path cost functions ϕ (i, σ (i)) = cost (p∗ (i, σ (i))). The decomposition τ , where T (τ ) = T (σ), has cost 1X ϕ (i, σ (i)) 2 i∈σ which is equal to M (σ). Thus, τ is the MCD of σ. One needs to recursively run Alg. 1 k − 1 times, since each run generates one edge. Each run ¡has¢complexity O (k). Thus, 2 the algorithm has complexity ¡ ¢O k . Converting the planar tree into an MLD takes O k 3 steps.
Lemma 4. The minimum cost of an h-decomposition of σ is upper-bounded by M (σ), provided that ϕ and ψ are consistent.
IV. E XTENDED -M ETRIC -PATH C OSTS Theorem 7. For extended-metric-path cost functions ϕe , Lϕe (σ) ≤ 2Mϕe (σ).
Proof: Decomposing each transposition in an MCD into a pair of h-transpositions gives an h-transposition with cost M (σ) and, thus, the minimum cost hdecomposition of σ does not have cost more that M (σ). More precisely, suppose that the MCD of σ is τ = (am bm ) (am−1 bm−1 ) · · · (a1 b1 ). Let the permutation ti ti−1 · · · t1 be denoted by σi . Replace each transposition
Proof: Let p∗ (i, σ (i)) be the shortest path between i and σ (i) in K (ϕe ). Note that Lemma 5 holds for all non-negative cost functions, including extended-metric cost functions. From Lemma 5, observe that X 2Mϕe (σ) ≥ cost (p∗ (i, σ (i))) . i
1
The following theorem generalizes the results presented for single cycles to multiple cycles.
1
5
5
2 4
6 2
2
1
3
4
3
4
3
3
4
(a) MLD
Theorem 9. Consider a permutation π with cycle decomposition σ1 σ2 · · · σℓ , and cost function ϕ. The following claims hold. P 1) We have M (π) ≥ 12 i cost (p∗ (i, σ (i))) for any cost function ϕ. 2) If ϕ is a metric-path cost function, then M (π) = L (π) . 3) If ϕ is an extended-metric-path cost function, then
2
1 5
(b) MCD
Figure 2. MLD (a) and MCD (b) for σ = (12345). Edge labels denote the order in which transpositions are applied
Let Θs be the defining path of the extended-metric-path cost ϕe . Define the cost function ϕm such that ϕm (i, σ (i)) =
l X
ϕe (ct , ct+1 )
t
where c1 c2 . . . cl+1 is the unique path from c1 = i to cl+1 = σ (i) in Θs . Consider the metric-path cost function, ϕm , with defining path Θs , and with costs of all edges (ij) ∈ Θs doubled. If the edge (ij) ∈ / Θs , and if c1 c2 . . . cl+1 is the unique path from c1 = i to cl+1 = j in Θs , then l X
ϕm (ct , ct+1 ) = 2
l X
ϕe (ct , ct+1 ) .
t=1
t=1
By (1), ϕe (i, j) ≤ ϕm (i, j), for all i, j. Hence, Lϕe (σ) ≤ Lϕm (σ). To prove (a), from Theorem 6, we can write Lϕe (σ) ≤ Lϕm (σ) 1X ϕm (i, σ (i)) . = 2 i
(4)
Let p∗ (i, σ (i)) be the shortest path P between i and σ (i) in K (ϕe ). Observe that 2Mϕe (σ) ≥ i cost (p∗ (i, σ (i))) . Example 8. Consider the cycle σ = (12345) and the extended-metric-path cost function of Example 1. By inspection, one can see that a MCD of σ is (14) (13) (35) (24) (14) (13), with cost M (σ) = 6. A minimum cost MLD of σ is (14) (23) (13) (45), with cost L (σ) = 8. Thus, we observe that the inequality L (σ) ≤ 2M (σ) is satisfied. V. O PTIMIZING P ERMUTATIONS WITH M ULTIPLE C YCLES Most of the results in the previous section generalize to permutations with multiple cycles without much difficulty. We present next the generalization of those results. Let π be a permutation in Sn , with cycle decomposition σ1 σ2 · · · σℓ . A decomposition of π with minimum number of transpositions is the product of MLDs of individual cycles σi . Thus, the minimum cost of MLDs of π equals L (π) =
ℓ X t=1
Proof: 1) The proof is similar to that of Lemma 5. 2) From Lemma 3, for each σt , it holds that 1X L (σt ) ≤ cost (p∗ (i, π (i))) . 2 i∈σ By summing over all cycles, we obtain
t=1
ϕm (i, j) =
L (π) ≤ 2M (π) .
L (σt ) .
n
L (π) ≤
1X cost (p∗ (i, π (i))) . 2 i=1
The claimed result follows from part 1 and the fact that M (π) ≤ L (π). 3) P From the proof of Theorem 7, we have L (σt ) ≤ ∗ i∈σt cost (p (i, π (i))). By summing over all cycles, we obtain n X cost (p∗ (i, π (i))) ≤ 2M (π) , L (π) ≤ i=1
where the last inequality follows from part 2 of this theorem. R EFERENCES [1] I. P. Goulden and D. M. Jackson, Combinatorial enumeration. Dover Publications, 2004. [2] J. H. van Lint and R. M. Wilson, A course in combinatorics. Cambridge University Press, 2001. [3] F. R. K. Chung, “An algebraic approach to switching networks,” Bell Laboratories Internal Memorandom, 1978. [4] M. Hofri, Analysis of algorithms: Computational methods and mathematical tools. Oxford University Press, Oxford, UK, 1995. [5] M. R. Jerrum, “The complexity of finding minimum-length generator sequences,” Theoretical Computer Science, vol. 36, no. 2-3, pp. 265– 289, 1985. [6] R. Y. Pinter and S. Steven, “Genomic sorting with length-weighted reversals,” Genome Informatics, vol. 13, pp. 103–111, 2002. [7] P. Pevzner and G. Tesler, “Transforming men into mice: The NadeauTaylor chromosomal breakage model revisited,” in Proc. Annual International Conference on Computational Molecular Biology, RECOMB. Berlin, Germany: ACM, 2003, pp. 247–256. [8] A. Jiang, M. Schwartz, and J. Bruck, “Error-correcting codes for rank modulation,” in Proc. IEEE International Symposium on Information Theory, ISIT 2008, 6-11 2008, pp. 1736–1740. [9] A. Barg and A. Mazumdar, “Codes in permutations and error correction for rank modulation,” IEEE Transactions on Information Theory, vol. 56, no. 7, pp. 3158–3165, July 2010. [10] N. Meier and J. Tappe, “Ein Neuer Beweis der Nakayama-Vermutung Uber die Blockstruktur Symmetrischer Gruppen,” Bull. London Math. Soc., vol. 8, no. 1, pp. 34–37, 1976. [Online]. Available: http://blms.oxfordjournals.org [11] N. Kashyap, Personal Communication, 2010. [12] I. Goulden, “Tree-like properties of cycle factorizations,” Journal of Combinatorial Theory, Series A, vol. 98, no. 1, pp. 106–117, Apr. 2002.