Permutation Reconstruction from Differences

We prove that the problem of reconstructing a permutation $\pi_1,\dotsc,\pi_n$ of the integers $[1\dotso n]$ given the absolute differences $|\pi_{i+1}-\pi_i|$, $i = 1,\dotsc,n-1$ is NP-complete. As an intermediate step we first prove the NP-completeness of the decision version of a new puzzle game that we call Crazy Frog Puzzle. The permutation reconstruction from differences is one of the simplest combinatorial problems that have been proved to be computationally intractable.


Introduction
Permutation reconstruction has been studied as a variation of the graph reconstruction problem that arose from an unsolved conjecture of Ulam [9]. Given an unlabeled graph A, deleting one of its vertex together with its incident edges in each possible way we obtain the minors A 1 , ..., A n . Ulam's conjecture says that given two graphs A, B with n > 3 vertices, if there exists a bijection α : {1, ..., n} → {1, ..., n} such that A i is isomorphic to B α(i) then A is isomorphic to B. In the permutation reconstruction variant, we consider a permutation p with n entries; we can delete k of the entries in each possible way and renumber them with respect to order and obtain n k permutations of the numbers from 1 to n−k that are called (n−k)-minors. Smith [8] introduced the problem of reconstructing the original permutation p from the multiset M k (p) of its (n−k)-minors and looked at the number N k defined to be the smallest number such that we can reconstruct permutations of length n N k . Raykova [6] proved the existence of N k for every positive integer k and gave an upper bound of N k < k 2 4 + 2k + 4 and a lower bound N k > k + log 2 k. Monks [5] studied the reconstruction of a permutation p from its set of cycle minors, where each i-th cycle minor is obtained deleting the entry i from the decomposition of p into disjoint cycles and reducing each remaining entry larger than i by 1. He showed that any permutation of {1, 2, ..., n} can be reconstructed from its set of cycle minors if and only if n 6.
In this paper we focus our attention to another variant that has an even simpler formulation: the problem of reconstructing a permutation π 1 , . . . , π n of the integers [1 . . . n] given the absolute differences |π i+1 − π i |, i = 1, . . . , n − 1. Up to our knowledge, the first formulation of the problem was proposed by Mohammad Al-Turkistany in a question posted on MathOverflow.net, a question and answer site for professional mathematicians [1]. We will prove that deciding if such a permutation exists is NP-complete: any given solution can be quickly verified in polynomial time, but there is no known way to build an efficient polynomial time algorithm that find a solution in the first place. And such an efficient algorithm doesn't exist unless P = NP, which is the major open problem in computer science.
In order to prove our result we first introduce a new puzzle game, the Crazy Frog Puzzle, with the following rules: a frog is placed on a square grid board; some cells of the grid are blocked, some are empty. The frog must follow a given sequence of horizontal, vertical or diagonal jumps of varying length; at every jump the frog can only decide to follow the given direction or jump in the opposite direction. For example, when facing an horizontal jump of length two, the frog placed on cell (x, y) can jump left on cell (x − 2, y) or right on cell (x + 2, y). The frog cannot jump outside the board, on a blocked cell, or on a cell that has already been visited. The aim of the game is to choose the correct directions of the jumps and make the frog visit all the empty cells of the board exactly once. Figure 1 shows an instance of the Crazy Frog Puzzle and its solution.  1  1  1  1  1  1  2  2  2  2  3  3  1  1  2  2  1  1  3  3  3  In line with the recent interest in the complexity of puzzle games [4] [2], we study how hard it can be to solve a Crazy Frog Puzzle game. In Section 2 we formally define the decision version of the Crazy Frog Puzzle (CFP) and give some terminology; in Section 3 we prove that deciding if a given Crazy Frog Puzzle has a solution is NP-complete. In Section 4 we prove that CFP remains NP-complete even if the board is 1-dimensional. Finally in Section 5 we prove that the problem remains NP-complete even if the initial board has no blocked cells and we will show that the 1-dimensional CFP without blocked cells is equivalent to the permutation reconstruction from differences problem.

Crazy Frog Puzzle
We define the decision problem [7] that asks whether a given Crazy Frog Puzzle has a solution or not: Input: An n×n partially filled board: some cells are empty some cells are blocked, a starting cell c 0 = (x 0 , y 0 ) and a sequence of m jumps ∆ 1 , ∆ 2 , . . . , ∆ m , ∆ i = (dx i , dy i ), −n dx i , dy i n (m equals the number of the initial empty cells).
Question: Does there exist a sequence of integers (s 1 , s 2 , . . . , s m ), s i ∈ {−1, +1} such that if a frog is placed on the starting cell, it can visit (we will equivalently use the term fill) every empty cell of the board exactly once following the sequence of jumps: the frog can choose only the direction of the given jumps)? The frog cannot jump outside the board, on a blocked cell or on an already visited cell.

Terminology
We briefly introduce the terminology used in the next sections.
Horizontal jump : a jump of the form (∆x, 0) (horizontal step if ∆x = 1); Vertical jump : a jump of the form (0, ∆y) (vertical step if ∆y = 1); Diagonal jump : a jump of the form (∆x, ∆x) (diagonal step if ∆x = 1); Sequence of jumps : a (sub)sequence ∆ i , ∆ i+1 , . . . , ∆ m of jumps that are part of the input; the frog at each step ∆ i must choose a direction (s i ∈ {±1}) and make the jump (+∆ i or −∆ i ).
Line : a row of the board; we use a string to represent it using these characters: B=blocked cell, E=empty cell, F =frog, V =visited cell; repeated cells can be represented with power notation (e.g. B 2 F E 3 = BBF EEE); Strip : two or more lines; Configuration : the status of the board cells (B,E or F ) and the sequence of the next jumps; a configuration is valid, if the frog can complete the sequence of jumps choosing a ±1 direction for each of them; Gadget : the configuration of a part of the board that have a particular role in the reduction; a gadget can have one or more entrance cells and one or more exit cells.
A (valid) traversal of the gadget is a sequence of jump directions that can lead the frog from an entrance cell to an exit cell. We will use capital letters: (e.g. L, C, S) to indicate gadgets, capital letters with a tilde (e.gL,C,S) to indicate jump sequences.
In the figures we will use the following notation: gray cells represent blocked cells; a cell with a F represents the frog position; a cell with a t represents the target cell; a cell with a V represents an already visited cell; numbered cells represent a (valid) sequence of jumps that the frog can make. The horizontal coordinates x = 0, 1, 2, . . . are from left to right, the vertical coordinates y = 0, 1, 2, . . . are from top to bottom.

NP-Completeness
We will prove that the CFP problem is NP-hard giving a polynomial time reduction from the Hamiltonian path problem on grid graphs [3]. First we underline a general property that we will use in the gadget construction. Proof. It is sufficient to extend the area adding a B max{x i } border of blocked cells on the left/right, a B max{y i } border of blocked cells on the top/bottom. Then we can make the frog enter the gadget with a vertical jump y In > max{y i } and leave it with another vertical jump y Out > max{y i }. The extended sequence of jumps for the traversal is: . . . , y In , (x 1 , y 1 ), . . . , (x n , y n ), y Out , . . .
Note that a) if R contains m + 1 empty cells (the number of jumps is equal to the number of empty cells minus one), then a valid traversal of the gadget implies that the frog must visit (fill) all its empty cells; b) instead of vertical jumps we can use long enough horizontal or diagonal jumps. Figure 2 shows an example of a 5 × 5 partially filled region and a sequence of 6 jumps; the region can be embedded in a 7 × 7 gadget that can be traversed in 4 different ways; all traversals completely fill the original inner region.

Reduction overview
The reduction is from the NP-complete Hamiltonian path problem on grid graphs (which may also contain holes) [3]. Let G ∞ be the infinite graph whose vertex set consists of all points of the plane with integer coordinates and in which two vertices are connected if and only if the (Euclidean) distance between them is equal to 1. A grid graph is a finite, node-induced subgraph of G ∞ . Given an m × m grid graph G in which |V | = n, s, t ∈ V are the source and target nodes; and the coordinates of node u i , 1 i n on the grid are (x u i , y u i ).
Pick the first k 2 such that 2 k 4m and build a 2 k − 1 × 2 k − 1 board R with all the cells blocked except the cells at coordinates (4x u i , 4y u i ) corresponding to the nodes of G and the empty target cell (4x t + 1, 4y t ) one step aside from the node t. We call this part of the board the graph area. The frog is initially positioned on cell (4x s , 4y s ).
For brevity, throughout the paper we will denote its size with w = 2 k − 1 and v = 2 k−1 = w/2 .
We extend the board at the bottom with n − 1 edge gadgets L 1 , L 2 , . . . , L n−1 ; each edge gadget L i has an associated cleanup gadget C i placed on its right. We will generate a fixed sequence of jumps that will force the following logical phases: • [L 1 ] enter gadget L 1 , choose one of the four directions up, down, left, right and return to cell (x 0 ± 4, y 0 ) or (x 0 , y 0 ± 4) in the graph area; • [L 2 ] enter gadget L 2 , choose one of the four directions and return to cell (x 1 ± 4, y 1 ) or (x 1 , y 1 ± 4) in the graph area; • . . .
• [L n−1 ] enter gadget L n−1 , choose one of the four directions and return to cell (x n−1 ± 4, y n−1 ) or (x n−1 , y n−1 ± 4) in the graph area; • [T ] jump to the target cell (x t , y t ); • enter the cleanup gadgets area; • [C 1 ] completely fill the lines of the edge gadget L 1 that have an already visited cell (visited during phaseL 1 ); then completely fill the lines that are still empty; • . . .
• [C n−1 ] completely fill the lines of the edge gadget L n−1 that have an already visited cell (visited during phaseL n−1 ); then completely fill the lines that are still empty.
An outline of the whole board is shown in Figure 3.

Edge gadgets
Each edge gadget L i is a rectangular area that has the same width w of the graph area, and 7w lines: 2w blocked lines; a first top inner strip of height w in which even lines are empty and odd lines are blocked; w blocked lines; a second bottom inner strip of height w in which even lines are empty and odd lines are blocked; and finally 2w blocked lines. If the gadget is positioned at row l i its structure is:

row # cells repetitions
We make the frog enter an edge gadget from the graph area with a vertical jump J L i on an empty cell of the upper inner strip, and leave it from the bottom inner strip with a vertical jump J L i = J L i + 2w that make it return to the graph area.
The vertical positions l i of the edge gadgets must be chosen in such a way that the frog cannot leave one of them and directly jump to another edge gadget, but is forced to return to the graph area. This is achieved using the vertical positions l i = o i * 7w, for odd o i 1, and setting J L i = l i + 2w and J L i = J L i + 2w = l i + 4w. Indeed if the frog begins on (4x, 4y) in the graph area for some k, it'll end up at vertical coordinate l i + 4w + 4y + 4z for z in {−1, 0, 1} at the end of the traversal of gadget L i . At this point the next vertical jump of (0, l i + 4w) shouldn't allow the frog to jump further down to another edge gadget; i.e. l i + 4w + 4y + 4z + l i + 4w = 2l i + 8w + 4y + 4z should be different from l j + 2w + 2a and l j + 4w + 2b for all i = j and 0 a, b < w/2; but the inequalities 2l i + 8w + 4y + 4z = l j + 2w + 2a and 2l i + 8w + 4y + 4z = l j + 4w + 2b hold because the left-hand side is even, and the right-hand side is an odd number (l j = o j * 7w is odd because both o j and w are odd) plus an even number.
The sequence of jumps inside each edge gadget is: The first jump is a diagonal jump that must be made in the top inner strip, the second jump forces the frog to jump to the bottom inner strip, the third jump is a diagonal jump that must be made in the bottom inner strip. The traversal of gadget L i is forced with the sequence of jumps:L i = (0, J L i ),L seq , (0, J L i ) Suppose that the frog is on cell (x, y) and enters the gadget L i from the top with the vertical jump (0, J L i ): after theL seq jumps it can only use the final vertical jump (0, J L i ) to return to the graph area, and its final position must be one of the cells: (x + 4, y), (x − 4, y), (x, y −4), (x, y +4). After each traversal only four cells of the inner strips are visited. Figure 4 shows an example of a 15 × 60 edge gadget (w = 15) and its possible traversals.
We can define the first part of the jump sequence of the CFP in this way: enter edge gadget L 1 , traverse it and return to graph area; enter edge gadget L 2 , traverse it and return to graph area; . . . . . . . . . L n−1 (0, J L n−1 ),L seq , (0, J L n−1 ) enter edge gadget L n−1 , traverse it and return to graph area; T (1,0) jump to target cell t.  Note that the final odd horizontal step (the only odd horizontal step), forces the frog to choose a path in the graph area in which the final cell is the one corresponding to node t. Furthermore if the frog is on cell (x i , y i ) and traverses the edge gadget L i it must, by construction, be in one of the four adjacent cells (x i ± 4, y i ), (x i , y i ± 4) and that cell must be empty (i.e. correspond to an unvisited node), so the sequence of cells visited in the graph area must correspond to an Hamiltonian path from s to t on the original graph G. So the following lemma holds: The frog can reach cell (x t , y t ) from its initial position (x s , y s ) if and only if there is an Hamiltonian path from s to t in the original graph G.
At the end of the graph area traversal, most cells of the edge gadgets are still empty, so we must extend the jump sequence to let the frog visit all of them and completely fill the board.
The cleanup gadgets are more complicated because they must allow the frog to fill both the lines of the edge gadgets that has a single blocked cell, and the lines of the edge gadgets that have been left empty.

Cleanup gadgets
Every cleanup gadget C i has two similar strip cleanup gadgets S a i ,S b i one for the top and one for the bottom inner strip of the corresponding edge gadget L i . The strip cleanup gadget is placed on the right of the corresponding inner strip, at coordinate (w, l i + 2w) for top inner strips ((w, l i + 4w) for bottom inner strips), and is a 3w + 2v × w rectangular area of the board (note that v = w/2 is simply the number of even rows in the inner strip) with the following structure: row # cells even rows: Furthermore, outside the gadget at coordinates (3w, l i + 2w − 1), (3w, l i + 3w), (3w + 2v − 1, l i + 3w) there are three empty cells that are the entrance and exit cells of the gadget S i . Figure 5 shows the outline of a strip cleanup gadget associated to a 7 × 7 (w = 7) inner strip. The jump sequenceC i using for traversing the cleanup gadget C i is: The jump sequenceS i that allows the frog to traverse the strip cleanup gadget S i has the following components: • v vertical selector sequences; that allow the frog to choose an even row of the inner strip; • 2 horizontal hole sequences that allow the frog to completely fill the two even rows of the inner strip that have an already visited cell; • v − 2 horizontal fill sequences that allow the frog to completely fill the remaining v − 2 even empty rows of the inner strip.
The horizontal hole and fill sequences are embedded in the vertical selector sequences.

Horizontal sequences
We see how to build the two horizontal hole sequences that can be used to fill the lines of the edge gadgets that are unvisited or that contain an already visited cell.
we can force the frog to correctly visit and fill all the empty cells and finally jump on the rightmost cell; i.e. the final configuration is: We can use the the following horizontal jump sequence: It forces the frog to jump to the leftmost empty cell, fill the w empty cells of the first E w block, jump to the second E w block, fill it and finally jump on the rightmost cell. Figure 6 shows an horizontal fill sequence on an inner strip of width w = 15 (k = 4, v = 8). We can also build an horizontal sequence that completely fills an inner strip row that contains an already visited cell (i.e. leaves a "hole"). First we prove the following: Lemma 3.4 (Binary jump sequence). If w = 2 k − 1, v = 2 k−1 , k 2, starting from the line:  i.e. the frog is placed in the middle of an empty block of length w, we can force the frog to correctly fill the line and end in an arbitrary even position; (i.e. the final configuration is: (where a is even) using a fixed binary jump sequence: whereŨ j is the sequence of horizontal jumps: Proof. We can prove it by induction on k: when k = 2 the line is EF E, and the binary jump sequence isŨ 1 = 1, 2; so the frog can make the first jump left or right and then reach one of the two possible final even cells (V V F or F V V ). Now, suppose that the statement holds for k; and the frog is placed in the middle of a w = 2 k+1 − 1 empty block (E 2 k F E 2 k ). The first jump sequence is U k = 2 k −1 times 1, 1, . . . , 1, 2 k + 2 k−1 − 1; suppose that the target even cell is on the right half of the line, the frog can make 2 k − 1 left horizontal jumps and completely fill the left half of the line (F V 2 k E 2 k −1 ); then the final (right) jump 2 k + 2 k−1 − 1 can lead it in the middle of the right half of the line that contains the target even cell (V 2 k E 2 k −1 F E 2 k −1 ); and by induction hypothesis it can fill the right half and end in the target even cell. If the target even cell was on the left half of the line, the frog can simply invert the jump directions. Informally the line can be seen as a binary tree with the leaves corresponding to even cells; the sequence of jumps allows the frog to choose a half of the tree, fill it, jump to the other half, fill it and so on until the tree is completely visited. Figure 7 shows some examples of a binary jump sequence on a line of width w = 15 (k = 4). If we reverse all the sequences of jumps we can go from the final configuration of Lemma 3.4 to the initial configuration, so the following also holds: whereŨ R j is the reverse of the sequenceŨ j of horizontal jumps: Combining the sequences used in the previous two lemmas we can build the horizontal hole sequence: Lemma 3.6 (Horizontal hole sequence). If w = 2 k − 1, v = 2 k−1 , k 2, starting from the line: we can force the frog to correctly visit and fill the line except one empty (or visited) cell in an arbitrary even position of the leftmost empty block and finally jump on the rightmost cell; i.e. the final configuration is: where a is even.
Proof. We use the following sequence of horizontal jumps: WhereŨ j is the sequence of horizontal jumps: The first jump (2w + v) forces the frog in the middle of the first E w block, then it can follow the fixed sequence of jumps of Lemma 3.4 except for the very last jump; note that the sequence of Lemma 3.4 ends with . . . ,Ũ 2 ,Ũ 1 while the sequence here is . . . ,Ũ 2 , 1, . . . , i.e. it misses the final horizontal jump ofŨ 1 that has length 2 (∆x = 2). In this way we can reach a configuration in which an arbitrary even cell (2x, ·) is left empty, and the frog is positioned at distance 2 from that cell, i.e. it is on the even cell (2x + 2, ·) or (2x − 2, ·). So it can jump on the second E w block with the horizontal jump 2w and land on the even cell (2x + 2 + 2w, ·) or (2x − 2 + 2w, ·); and then it can completely fill the block reaching its center cell by using the fixed sequence of jumps of Lemma 3.5. Finally it can make a final v + 1 jump to reach the rightmost empty cell.    Note that in both types of horizontal sequences (fill and hole), we can extend the first and last steps so that the frog can be positioned farther from the inner strips.  1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 5, 1, 30, 2, 1, 5, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1

Vertical selector sequence
Using a similar sequence of the horizontal hole sequence, we can build a sequence of jumps that allows the frog, placed on the top of a 2v×w empty area to vertically select a different even row, v times and finally exit the area on the cell at the bottom-left.
Lemma 3.7 (Vertical selector sequence). If w = 2 k − 1, v = 2 k−1 , k 2, starting from the 2v × w + 2 configuration: we can allow the frog to choose a different even row v times, and reach the configuration: Proof. The sequence is: Ũ j is the sequence of vertical jumps: 2 j −1 times 1, 1, . . . , 1, 2 j + 2 j−1 − 1; andŨ R j is the reverse of U j . In other words we are using the sequence of jumps of Lemma 3.4 and Lemma 3.5, but here the jumps are vertical. The (vertical) sequenceŨ j selects a cell on an even row, then, after an horizontal right jump (1, 0), the reverseŨ R j allows the frog to reach the center row again. Figure 10 shows the possible traversal of a 7×8 area using the vertical selector sequence.

Linking the gadgets
The horizontal inner jumps (1, 0) in the vertical selector sequencesṼ can be replaced by an horizontal hole sequence or by an horizontal fill sequence (extending their first and last jump). So we can build a sequence of jumps that allows the frog to: a) select 2 even rows of the inner strip with a visited cell and fill them; b) select the remaining v − 2 empty even rows and fill them. The complete inner strip sequence S i is: (1, 0), . . . ,Ṽ v ,Z,Ṽ v , (0, v), (2v − 1, 0) Figure 11 shows a possible traversal of the strip cleanup gadget of Figure 5. Finally we can link together the cleanup sequencesC i ; first we add an empty cell at coordinates (3w, y t ) that allows the frog to jump from the target cell (x t , y t ) to the entrance cell of the top inner strip gadget S a i ; then we add a vertical jump from gadget C i to gadget C i+1 , i = 1, . . . , n − 2: . . . , (0, l n−1 + 2w − 1 − l n−2 + 5w),C n−1 Theorem 3.8. The Crazy Frog Puzzle is NP-complete.
Proof. The problem is NP-hard: by construction if the original grid graph problem has a solution, then there is a valid traversal of the graph area and the frog can complete the board using the cleanup gadget. If the board has a valid traversal, as seen above the sequences of nodes traversed in the graph area corresponds to a Hamiltonian path in G from s to t. The instance of the CFP can be constructed in polynomial time because the size of the whole board is 3w + 2v × 7o n w, where w = 2 k − 1, v = 2 k−1 , o n = 2n − 1, and 2 k − 1 < 8n; so the board can be constructed in time O(n 2 ). The problem is in NP because a solution can easily be checked in polynomial time.

One dimensional variant
It is easy to see that even if we restrict the board to be one dimensional the problem remains NP-complete. Proof. The immediate reduction is from the Crazy Frog Puzzle: given an instance of the CFP, i.e. a n × n partially filled board and a sequence of jumps: ∆ 1 , ∆ 2 , . . . , ∆ m check the sequence and if there is a jump (∆x i , ∆y i ) such that dx i n or dy i n reject (the jump brings the frog outside of the board). Otherwise expand it to size 3n × 3n adding a border of blocked cells of width n in all the four directions. Then build an equivalent one dimensional crazy frog puzzle of size (3n) 2 putting the lines of the expanded board side by side (cells (x, y) is mapped to cell x + 3ny) and converting every bidimensional jump (∆x i , ∆y i ) to the one dimensional jump: ∆x i + 3n * ∆y i . By construction every one dimensional ∆x i + 3n * ∆y i jump will lead the frog from x 0 + 3ny 0 to the cell (x 0 ± ∆x i ) + 3n * (y 0 ± ∆y) that corresponds to the original bidimensional cell (x 0 ± ∆x i , y 0 ± ∆y i ). Borders prevent the frog to make moves that are invalid in the corresponding bidimensional configuration; for example using a left jump x + 3n * 0 from cell 0 + 3n * 1 (on the left border in the bidimensional board) to reach another part of the one dimensional board. Figure 12 shows a simple example of a 3 × 3 CFP instance transformed to a 1-Dimensional CFP board of length 81.
We can also fix the starting position of the frog: Without loss of generality we can assume that in the 1-D CFP instance the frog is placed on the leftmost cell.
Proof. Suppose that the 1-D board is R = (E|B) a F (E|B) b and the sequence of jumps is: J 1 , J 2 , . . . , J m . We can extend the board with a cell on the left that will be the new starting position of the frog: S = F R and add a jump to the sequence: (a + 1, 0), J 1 , J 2 , . . . , J m . The first jump, that must be towards the right, places the frog on the original position.

Permutation reconstruction from differences
We first prove that 1-D CFP is hard even if the initial board is empty. able to reach that cell during jumps J i , because J i < n (otherwise the original instance doesn't have a solution). But, by construction, the only way to align it to the right is to make the d i jumps towards the right, and they recreate exactly the p blocked cells of R. The jump 2n − 1 forces the frog to the second cell, which is also the starting cell of the original configuration R. The modified instance with the empty board has a solution if and only if the original instance has a solution. Figure 13 shows a reduction from 1-D CFP to 1-D CFP with initial empty board.

Conclusion
We proved the hardness of a simple problem on permutations that could shed light on other combinatorial or arithmetic open problems. For example there could be a correlation with the graceful labeling problem, indeed if the a i are themselves a permutation of [1..n] (all values are distinct) then the permutation reconstruction from differences (PRD) problem is equivalent to verify that the sequence is a graceful labeling of the line of n + 1. So it would be interesting to study some restricted versions of the PRD problem; for example what is its complexity if the differences are from a finite set of size k. As an intermediate step we introduced a new addictive puzzle game that we hope will be soon playable online or as a smartphone application.