Jump to content

Pancake sorting

From Wikipedia, the free encyclopedia

Demonstration of the primary operation. The spatula is flipping over the top three pancakes, with the result seen below. In the burnt pancake problem, their top sides would now be burnt instead of their bottom sides.

Pancake sortingis the mathematical problem of sorting a disordered stack of pancakes in order of size when aspatulacan be inserted at any point in the stack and used to flip all pancakes above it. Apancake numberis the minimum number of flips required for a given number of pancakes. In this form, the problem was first discussed by American geometerJacob E. Goodman.[1]A variant of the problem is concerned withburntpancakes, where each pancake has a burnt side and all pancakes must, in addition, end up with the burnt side on bottom.

All sorting methods require pairs of elements to be compared. For the traditionalsorting problem,the usual problem studied is to minimize thenumber of comparisons required to sort a list.The number of actual operations, such as swapping two elements, is then irrelevant. For pancake sorting problems, in contrast, the aim is to minimize the number of operations, where the only allowed operations are reversals of the elements of someprefixof the sequence. Now, the number of comparisons is irrelevant.

The pancake problems[edit]

The original pancake problem[edit]

The minimum number of flips required to sort any stack ofnpancakes has been shown to lie between15/14nand18/11n(approximately 1.07nand 1.64n), but the exact value is not known.[2]

The simplest pancake sorting algorithm performs at most2n− 3flips. In this algorithm, a kind ofselection sort,we bring the largest pancake not yet sorted to the top with one flip; take it down to its final position with one more flip; and repeat this process for the remaining pancakes.

In 1979,Bill GatesandChristos Papadimitriou[3]gave a lower bound of17/16n(approximately 1.06n) flips and an upper bound of(5n+5)/3.The upper bound was improved, thirty years later, to18/11nby a team of researchers at theUniversity of Texas at Dallas,led by Founders ProfessorHal Sudborough.[4][5]

In 2011, Laurent Bulteau, Guillaume Fertin, and Irena Rusu[6]proved that the problem of finding the shortest sequence of flips for a given stack of pancakes isNP-hard,thereby answering a question that had been open for over three decades.

The burnt pancake problem[edit]

In a variation called theburnt pancake problem,the bottom of each pancake in the pile is burnt, and the sort must be completed with the burnt side of every pancake down. It is asigned permutation,and if a pancakeiis "burnt side up" a negative elementi`is put in place ofiin the permutation. In 2008, a group of undergraduates built abacterial computerthat can solve a simple example of the burnt pancake problem by programmingE. colito flip segments of DNA which are analogous to burnt pancakes. DNA has an orientation (5' and 3') and an order (promoter before coding). Even though the processing power expressed by DNA flips is low, the high number of bacteria in a culture provides a largeparallel computingplatform. The bacteria report when they have solved the problem by becoming antibiotic resistant.[7]

The pancake problem on strings[edit]

The discussion above presumes that each pancake is unique, that is, the sequence on which the prefix reversals are performed is apermutation.However, "strings" are sequences in which a symbol can repeat, and this repetition may reduce the number of prefix reversals required to sort. Chitturi and Sudborough (2010) and Hurkens et al. (2007) independently showed that the complexity of transforming a compatible string into another with the minimum number of prefix reversals isNP-complete.They also gave bounds for the same. Hurkens et al. gave an exact algorithm to sort binary and ternary strings. Chitturi[8](2011) proved that the complexity of transforming a compatible signed string into another with the minimum number of signed prefix reversals—the burnt pancake problem on strings—is NP-complete.

History[edit]

The pancake sorting problem was first posed byJacob E. Goodman,writing under the pseudonym "Harry Dweighter" ( "harried waiter" ).[9]

Although seen more often as an educational device, pancake sorting also appears in applications in parallel processor networks, in which it can provide an effective routing algorithm between processors.[10][11]

The problem is notable as the topic of the only well-known mathematics paper byMicrosoftfounderBill Gates(as William Gates), entitled "Bounds for Sorting by Prefix Reversal" and co-authored withChristos Papadimitriou.Published in 1979, it describes an efficient algorithm for pancake sorting.[3]In addition, the most notable paper published byFuturamaco-creatorDavid X. Cohen(as David S. Cohen), co-authored withManuel Blum,concerned the burnt pancake problem.[12]

The connected problems of signed sorting by reversals and sorting by reversals were also studied more recently. Whereas efficient exact algorithms have been found for the signed sorting by reversals,[13]the problem of sorting by reversals has been proven to be hard even to approximate to within certain constant factor,[14]and also proven to be approximable in polynomial time to within the approximation factor 1.375.[15]

Pancake graphs[edit]

The pancake graph P3
The pancake graph P4can be constructed recursively from 4 copies of P3by assigning a different element from the set {1, 2, 3, 4} as a suffix to each copy.

Ann-pancake graphis a graph whose vertices are the permutations ofnsymbols from 1 tonand its edges are given between permutations transitive by prefix reversals. It is aregular graphwith n! vertices, its degree is n−1. The pancake sorting problem and the problem to obtain thediameterof the pancake graph are equivalent.[16]

The pancake graph of dimensionn,Pncan be constructed recursively from n copies of Pn−1,by assigning a different element from the set {1, 2,…, n} as a suffix to each copy.

Theirgirth:

.

The γ(Pn)genusof Pnis:[17]

Since pancake graphs have many interesting properties such as symmetric and recursive structures, small degrees and diameters compared against the size of the graph, much attention is paid to them as a model of interconnection networks for parallel computers.[18][19][20]When we regard the pancake graphs as the model of the interconnection networks, the diameter of the graph is a measure that represents the delay of communication.[21][22]

The pancake graphs areCayley graphs(thus arevertex-transitive) and are especially attractive for parallel processing. They have sublogarithmic degree and diameter, and are relativelysparse(compared to e.g.hypercubes).[17]

Algorithm[edit]

An example of the pancake sorting algorithm is given below inPython.The code is similar tobubble sortorselection sort.

defflip(arr,k:int)->None:
left=0
whileleft<k:
arr[left],arr[k]=arr[k],arr[left]
k-=1
left+=1

defmax_index(arr,k:int)->int:
index=0
foriinrange(k):
ifarr[i]>arr[index]:
index=i
returnindex

defpancake_sort(arr)->None:
n=len(arr)
whilen>1:
maxdex=max_index(arr,n)
ifmaxdex!=n-1:
ifmaxdex!=0:
flip(arr,maxdex)
flip(arr,n-1)
n-=1

arreglo=[15,8,9,1,78,30,69,4,10]
pancake_sort(arreglo)
print(arreglo)

Related integer sequences[edit]

Number of stacks of given heightnthat require unique flipskto get sorted
Height
n
k
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1
2 1 1
3 1 2 2 1
4 1 3 6 11 3
5 1 4 12 35 48 20
6 1 5 20 79 199 281 133 2
7 1 6 30 149 543 1357 1903 1016 35
8 1 7 42 251 1191 4281 10561 15011 8520 455
9 1 8 56 391 2278 10666 38015 93585 132697 79379 5804
10 1 9 72 575 3963 22825 106461 377863 919365 1309756 814678 73232
11 1 10 90 809 6429 43891 252737 1174766 4126515 9981073 14250471 9123648 956354 6
12 1 11 110 1099 9883 77937 533397 3064788 14141929 49337252 118420043 169332213 111050066 13032704 167
13 1 12 132 1451 14556 130096 1030505 7046318 40309555 184992275 639783475 1525125357 2183056566 1458653648 186874852 2001

Sequences fromThe Online Encyclopedia of Integer Sequences:

  • OEIS:A058986– maximum number of flips
  • OEIS:A067607– number of stacks requiring the maximum number of flips (above)
  • OEIS:A078941– maximum number of flips for a "burnt" stack
  • OEIS:A078942– the number of flips for a sorted "burnt-side-on-top" stack
  • OEIS:A092113– the above triangle, read by rows

References[edit]

  1. ^Singh, Simon(November 14, 2013)."Flipping pancakes with mathematics".The Guardian.RetrievedMarch 25,2014.
  2. ^Fertin, G.; Labarre, A.; Rusu, I.; Tannier, E.; Vialette, S. (2009).Combinatorics of Genome Rearrangements.The MIT Press.ISBN9780262062824.
  3. ^abGates, W.;Papadimitriou, C.(1979)."Bounds for Sorting by Prefix Reversal".Discrete Mathematics.27:47–57.doi:10.1016/0012-365X(79)90068-2.
  4. ^"Team Bests Young Bill Gates With Improved Answer to So-Called Pancake Problem in Mathematics".University of Texas at Dallas News Center. September 17, 2008. Archived fromthe originalon February 14, 2012.RetrievedNovember 10,2008.A team of UT Dallas computer science students and their faculty adviser have improved upon a longstanding solution to a mathematical conundrum known as the pancake problem. The previous best solution, which stood for almost 30 years, was devised by Bill Gates and one of his Harvard instructors, Christos Papadimitriou, several years before Microsoft was established.
  5. ^Chitturi, B.; Fahle, W.; Meng, Z.; Morales, L.; Shields, C. O.; Sudborough, I. H.; Voit, W. (August 31, 2009)."An (18/11)n upper bound for sorting by prefix reversals".Theoretical Computer Science.Graphs, Games and Computation: Dedicated to Professor Burkhard Monien on the Occasion of his 65th Birthday.410(36): 3372–3390.doi:10.1016/j.tcs.2008.04.045.
  6. ^Bulteau, Laurent; Fertin, Guillaume; Rusu, Irena (2015). "Pancake Flipping Is Hard".Journal of Computer and System Sciences.81(8): 1556–1574.arXiv:1111.0434.doi:10.1016/j.jcss.2015.02.003.
  7. ^Haynes, Karmella A; Broderick, Marian L; Brown, Adam D; Butner, Trevor L; Dickson, James O; Harden, W Lance; Heard, Lane H; Jessen, Eric L; Malloy, Kelly J; Ogden, Brad J; Rosemond, Sabriya; Simpson, Samantha; Zwack, Erin; Campbell, A Malcolm; Eckdahl, Todd T;Heyer, Laurie J;Poet, Jeffrey L (2008)."Engineering bacteria to solve the Burnt Pancake Problem".Journal of Biological Engineering.2:8.doi:10.1186/1754-1611-2-8.PMC2427008.PMID18492232.
  8. ^Chitturi, Bhadrachalam (2011). "A Note on Complexity of Genetic Mutations".Discrete Mathematics, Algorithms and Applications.03(3): 269–286.doi:10.1142/S1793830911001206.
  9. ^Dweighter, Harry (1975), "Elementary Problem E2569",Amer. Math. Monthly,82(10): 1009–1010,doi:10.2307/2318260,JSTOR2318260
  10. ^Gargano, L.; Vaccaro, U.; Vozella, A. (1993). "Fault tolerant routing in the star and pancake interconnection networks".Information Processing Letters.45(6): 315–320.CiteSeerX10.1.1.35.9056.doi:10.1016/0020-0190(93)90043-9.MR1216942..
  11. ^Kaneko, K.; Peng, S. (2006). "Disjoint paths routing in pancake graphs".Proceedings of Seventh International Conference on Parallel and Distributed Computing, Applications and Technologies, 2006 (PDCAT '06).pp. 254–259.doi:10.1109/PDCAT.2006.56.ISBN978-0-7695-2736-9.S2CID18777751..
  12. ^Cohen, D.S.;Blum, M.(1995)."On the problem of sorting burnt pancakes".Discrete Applied Mathematics.61(2): 105.doi:10.1016/0166-218X(94)00009-3.
  13. ^Kaplan, H.; Shamir, R.;Tarjan, R.E.(1997). "Faster and Simpler Algorithm for Sorting Signed Permutations by Reversals".Proc. 8th ACM-SIAM SODA:178–87.
  14. ^Berman, P.;Karpinski, M.(1999)."On Some Tighter Inapproximability Results".Proc. 26th ICALP (1999).Lecture Notes in Computer Science.1644:200–09.
  15. ^Berman, P.;Karpinski, M.;Hannenhalli, S. (2002)."1.375-Approximation Algorithms for Sorting by Reversals".Proc. 10th ESA (2002).Lecture Notes in Computer Science.2461:200–10.
  16. ^Asai, Shogo; Kounoike, Yuusuke; Shinano, Yuji; Kaneko, Keiichi (2006). "Computing the diameter of 17-pancake graph using a PC cluster". In Nagel, Wolfgang E.; Walter, Wolfgang V.; Lehner, Wolfgang (eds.).Euro-Par 2006, Parallel Processing, 12th International Euro-Par Conference, Dresden, Germany, August 28 – September 1, 2006, Proceedings.Lecture Notes in Computer Science. Vol. 4128. Springer. pp. 1114–1124.doi:10.1007/11823285_117.ISBN978-3-540-37783-2.
  17. ^abNguyen, Quan; Bettayeb, Said (November 5, 2009)."On the Genus of Pancake Network"(PDF).The International Arab Journal of Information Technology.8(3): 289–292.
  18. ^Akl, S.G.; Qiu, K.; Stojmenović, I. (1993). "Fundamental algorithms for the star and pancake interconnection networks with applications to computational geometry".Networks.23(4): 215–225.CiteSeerX10.1.1.363.4949.doi:10.1002/net.3230230403.
  19. ^Bass, D.W.; Sudborough, I.H. (March 2003). "Pancake problems with restricted prefix reversals and some corresponding Cayley networks".Journal of Parallel and Distributed Computing.63(3): 327–336.CiteSeerX10.1.1.27.7009.doi:10.1016/S0743-7315(03)00033-9.
  20. ^Berthomé, P.; Ferreira, A.; Perennes, S. (December 1996). "Optimal information dissemination in star and pancake networks".IEEE Transactions on Parallel and Distributed Systems.7(12): 1292–1300.CiteSeerX10.1.1.44.6681.doi:10.1109/71.553290.
  21. ^Kumar, V.; Grama, A.; Gupta, A.; Karypis, G. (1994).Introduction to Parallel Computing: Design and Analysis of Algorithms.Benjamin/Cummings.
  22. ^Quinn, M.J. (1994).Parallel Computing: Theory and Practice(second ed.). McGraw-Hill.

Further reading[edit]

External links[edit]