andrew’s leap 2011
DESCRIPTION
Andrew’s Leap 2011. Steven Rudich. Pancakes With A Problem . - PowerPoint PPT PresentationTRANSCRIPT
Andrew’s Leap 2011
Pancakes With A Problem Steven
Rudich
The chef at our place is sloppy, and when he prepares a stack of
pancakes they come out all different sizes. Therefore, when I
deliver them to a customer, on the way to the table I rearrange them (so that the smallest winds up on
top, and so on, down to the largest at the bottom) by grabbing several
from the top and flipping them over, repeating this (varying the number I flip) as many times as
necessary.
Developing A Notation:Turning pancakes into numbers
Developing A Notation:Turning pancakes into numbers
1
2
3
4
5
Developing A Notation:Turning pancakes into numbers
2
3
4
5
1
Developing A Notation:Turning pancakes into numbers
52341
So how many flips to sort this particular stack?
52341
4 Flips Are Sufficient
12345
52341
43215
23415
14325
Algebraic Representation
52341
X = The smallest number of flips required to sort:
? X ?Upper Bound
Lower Bound
Algebraic Representation
52341
X = The smallest number of flips required to sort:
? X 4Upper Bound
Lower Bound
Algebraic Representation
52341
X = The smallest number of flips required to sort:
1 X 4Upper Bound
Lower Bound
Algebraic Representation
52341
X = The smallest number of flips required to sort:
2 X 4Upper Bound
Lower Bound
Algebraic Representation
52341
X = The smallest number of flips required to sort:
3 X 4Upper Bound
Lower Bound
4 Flips Are Necessary
52341
41325
14325
Flip 1 has to put 5 on bottom.Flip 2 must bring 4 to top.
Algebraic Representation
52341
X = The smallest number of flips required to sort:
4 X 4Upper Bound
Lower Bound
Upper Bound
Lower Bound
4 X 4
X = 4
5th Pancake Number
P5 = The number of flips required to sort the
worst case stack of 5 pancakes.
? P5 ?Upper Bound
Lower Bound
5th Pancake Number
P5 = The number of flips required to sort the
worst case stack of 5 pancakes.
4 P5 ?Upper Bound
Lower Bound
The 5th Pancake Number: The MAX of the X’s
120
1199
32 . . . . . . .
X1 X2 X3 X119 X120
52341
4
nth Pancake Number
Pn = The number of flips required to sort the
worst case stack of n pancakes.
? Pn ?Upper Bound
Lower Bound
? Pn ?
What bounds can you prove on
Pn?
Bring To Top Method Bring biggest to top. Place it on bottom. Bring next largest to
top. Place second from
bottom. And so on…
Upper Bound On Pn:Bring To Top Method For n
PancakesIf n=1, no work - we are done.Otherwise, flip pancake n to top and then flip it to position n.
Now use: Bring To Top Method For n-1 Pancakes
Total Cost: at most 2(n-1) = 2n –2 flips.
Better Upper Bound On Pn:Bring To Top Method For n
PancakesIf n=2, at most one flip, we are done.Otherwise, flip pancake n to top and then flip it to position n.
Now use: Bring To Top Method
For n-1 Pancakes
Total Cost: at most 2(n-2) + 1 = 2n –3 flips.
Bring to top not always optimal for a particular stack
5 flips, but can be done in 4 flips
32145
52341
23145
41325
14325
? Pn 2n - 3
What bounds can you prove on
Pn?
916
Breaking Apart ArgumentSuppose a stack S contains a pair of adjacent pancakes that will not be adjacent in the sorted stack. Any sequence of flips that sorts stack S must involve one flip that inserts the spatula between that pair and breaks them apart.
916
Breaking Apart ArgumentSuppose a stack S contains a pair of adjacent pancakes that will not be adjacent in the sorted stack. Any sequence of flips that sorts stack S must involve one flip that inserts the spatula between that pair and breaks them apart. Furthermore, this same principle is true of the “pair” formed by the bottom pancake of S and the plate.
n PnSuppose n is even. S contains n pairs that will need to be broken apart during any sequence that sorts stack S.
2468..n1357..
n-1
S
n PnSuppose n is odd. S contains n pairs that will need to be broken apart during any sequence that sorts stack S.
1357..n2468..
n-1
S
Detail: This construction only works when n>3
n Pn 2n - 3
Bring To Top is
within a factor of two of
optimal
n Pn 2n - 3So starting
from ANY stack we can get to
the sorted stack using no more than Pn
flips.
From ANY stack to Sorted Stack in · Pn
Can you see why we can get from the Sorted
stack to ANY stack in · Pn
flips?Reverse the
sequences we use to sort.
From Sorted Stack to ANY stack in · Pn
Can you see why we can
get from ANY stack S to
ANY stack T in · Pn flips?
From ANY Stack S to ANY stack T in Pn
43512
14352
S T
From ANY Stack S to ANY stack T in Pn
RENAME PANCAKES IN YELLOWSO THAT S IS SORTED. THIS FIXES THE YELLOW ORDERING OF THE STACK T.
43512
14352
41235
12345
S T
The Known Pancake Numbers
123456789
10111213
01345
n Pn
789
1011131415
14 1615 1716 1817 19
P18 Is Unknown
18! Orderings of 18 pancakes.
18! = 6,402,373,705,728,000
Burnt Pancake Numbers
123456789
10
1468
101214151718
n Pn
Is This Really Computer Science?
Posed in Amer. Math. Monthly 82 (1) (1975),
“Harry Dweighter” a.k.a. Jacob Goodman
(17/16)n Pn (5n+5)/3
Bill Gates & Christos
Papadimitriou: Bounds For Sorting By
Prefix Reversal. Discrete
Mathematics, vol 27, pp 47-
57, 1979.
(15/14)n Pn (5n+5)/3
H. Heydari & H. I. Sudborough:
On the Diameter of he
Pancake Network. Journal of
Algorithms, vol 25, pp 67-94,
1997.
Pn 18n/11An (18/11)n Upper
Bound for Sorting by Prefix Reversals
B. Chitturi, W. Fahle, Z. Meng, L. Morales, C. O. Shields, I. H.
Sudborough, and W. Voit. Theoretical
Computer Science, to appear
Pancake Network:Definition For n! Nodes
For each node, assign it the name of one of the n! stacks of n pancakes.
Put a wire between two nodes if they are one flip apart.
Network For n=3
123
321
213
312
231
132
Network For n=4
Pancake Network:Message Routing Delay
What is the maximum distance between two nodes in the network?
Pn
Pancake Network:Reliability
If up to n-2 nodes get hit by lightning the network remains connected, even though each node is connected to only n-1 other nodes.
The Pancake Network is optimally reliable for its number
of edges and nodes.
Mutation Distance One
Can flip any consecutive subsequence
TGCGTCCA
TGCCCTGA
Mutation Distance Three!!!
Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by
reversals.
Sridhar Hannenhalli Pavel A. Pevzner Journal of the ACM 1999
One “Simple” Problem
A host of problems
and applications
at the frontiers of
science