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.

Slides:



Advertisements
Similar presentations
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
Advertisements

Introduction to Algorithms Greedy Algorithms
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Great Theoretical Ideas in Computer Science
Types of Algorithms.
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
Introduction to Algorithms
CSC 2300 Data Structures & Algorithms March 16, 2007 Chapter 7. Sorting.
Cooking for Computer Scientists. I understand that making pancakes can be a dangerous activity and that, by doing so, I am taking a risk that I.
Bioinformatics Chromosome rearrangements Chromosome and genome comparison versus gene comparison Permutations and breakpoint graphs Transforming Men into.
Greedy Algorithms And Genome Rearrangements
1 Greedy Algorithms. 2 2 A short list of categories Algorithm types we will consider include: Simple recursive algorithms Backtracking algorithms Divide.
Introduction to Bioinformatics Algorithms Greedy Algorithms And Genome Rearrangements.
Discrete Structures & Algorithms EECE 320 : UBC : Spring 2009 Matei Ripeanu 1.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Genome Rearrangements CSCI : Computational Genomics Debra Goldberg
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Steven Rudich CS Spring 2004 Lecture 1 Jan 13, 2004 Carnegie Mellon University.
Phylogenetic Tree Construction and Related Problems Bioinformatics.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Vince Conitzer COMPSCI 102 Fall 2007 Lecture 1 August 27, 2007 Duke University.
Cooking for Computer Scientists. I understand that making pancakes can be a dangerous activity and that, by doing so, I am taking a risk that I.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Describing algorithms in pseudo code To describe algorithms we need a language which is: – less formal than programming languages (implementation details.
Lecture 23. Greedy Algorithms
CompSci 102 Spring 2012 Prof. Rodger January 11, 2012.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Anupam Gupta CS Fall 2O05 Lecture 1 Aug 29 th, 2OO5 Aug 29 th, 2OO5 Carnegie.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Anupam Gupta CS Fall 2006 Lecture 1 Aug 29 th, 2OO6 Aug 29 th, 2OO6 Carnegie.
Great Theoretical Ideas in Computer Science.
Chapter 19: Searching and Sorting Algorithms
Chapter 3 Sec 3.3 With Question/Answer Animations 1.
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
Genome Rearrangements Unoriented Blocks. Quick Review Looking at evolutionary change through reversals Find the shortest possible series of reversals.
Greedy Algorithms And Genome Rearrangements An Introduction to Bioinformatics Algorithms (Jones and Pevzner)
Genome Rearrangements [1] Ch Types of Rearrangements Reversal Translocation
Greedy Algorithms And Genome Rearrangements
Integrals  In Chapter 2, we used the tangent and velocity problems to introduce the derivative—the central idea in differential calculus.  In much the.
Integer Representations and Counting in the Bit Probe Model M. Zaiur Rahman and J. Ian Munro Cheriton School of Computer Science University of Waterloo.
Andrew’s Leap 2011 Pancakes With A Problem Steven Rudich.
Divide and Conquer Applications Sanghyun Park Fall 2002 CSE, POSTECH.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Chapter 18: Searching and Sorting Algorithms. Objectives In this chapter, you will: Learn the various search algorithms Implement sequential and binary.
Analysis of Algorithms CS 477/677 Instructor: Monica Nicolescu Lecture 7.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Steven Rudich CS Spring 2005 Lecture 3 Jan 18, 2005 Carnegie Mellon University.
Pancake Problem 許凱平 & 張傑生. Resources Google “ Bounds for Sorting by Prefix Reversal ” (63) “ Pancake Problem ” (218) Slides [S1] CMU ’ s “ Great Theoretical.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
Chapter 9 Sorting. The efficiency of data handling can often be increased if the data are sorted according to some criteria of order. The first step is.
Introduction to Bioinformatics Algorithms Chapter 5 Greedy Algorithms and Genome Rearrangements By: Hasnaa Imad.
Genome Rearrangements. Turnip vs Cabbage: Look and Taste Different Although cabbages and turnips share a recent common ancestor, they look and taste different.
Outline Today’s topic: greedy algorithms
Chapter 9 sorting. Insertion Sort I The list is assumed to be broken into a sorted portion and an unsorted portion The list is assumed to be broken into.
Great Theoretical Ideas in Computer Science for Some.
Copyright © 2014 Curt Hill Algorithms From the Mathematical Perspective.
Graph Theory Def: A graph is a set of vertices and edges G={V,E} Ex. V = {a,b,c,d,e} E = {ab,bd,ad,ed,ce,cd} Note: above is a purely mathematical definition.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
The material in this lecture should be review. If you have not seen it before, you should be able to learn it quickly – and on your own. So we are going.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Greedy Algorithms.
Pancakes With A Problem!
CSE 5290: Algorithms for Bioinformatics Fall 2009
Lower Bound Theory.
Pancakes With A Problem!
Types of Algorithms.
CSCI2950-C Lecture 4 Genome Rearrangements
Lectures on Graph Algorithms: searching, testing and sorting
Advanced Analysis of Algorithms
Discrete Mathematics CMP-101 Lecture 12 Sorting, Bubble Sort, Insertion Sort, Greedy Algorithms Abdul Hameed
Cooking for Computer Scientists.
Types of Algorithms.
Bounds for Sorting by Prefix Reversal -- Pancake Problem
Presentation transcript:

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

4 Flips Are Sufficient

Algebraic Representation X = The smallest number of flips required to sort: ?  X  ? Upper Bound Lower Bound

Algebraic Representation X = The smallest number of flips required to sort: ?  X  4 Upper Bound Lower Bound

4 Flips Are Necessary Flip 1 has to put 5 on bottom. Flip 2 must bring 4 to top.

?  X  4 Lower Bound

Upper Bound Lower Bound 4  X  4 X = 4

5 th Pancake Number P 5 = The number of flips required to sort the worst case stack of 5 pancakes. ?  P 5  ? Upper Bound Lower Bound

5 th Pancake Number P 5 = The number of flips required to sort the worst case stack of 5 pancakes. 4  P 5  ? Upper Bound Lower Bound

The 5 th Pancake Number: The MAX of the X’s X1X1 X2X2 X3X3 X 119 X

n th Pancake Number P n = The number of flips required to sort the worst case stack of n pancakes. ?  P n  ? Upper Bound Lower Bound

?  P n  ? What bounds can you prove on P n ?

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 P n : Bring To Top Method For n Pancakes If 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 P n : Bring To Top Method For n Pancakes If 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

?  P n  2n - 3 What bounds can you prove on P n ?

9 16 Breaking Apart Argument Suppose 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.

9 16 Breaking Apart Argument Suppose 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  P n Suppose n is even. S contains n pairs that will need to be broken apart during any sequence that sorts stack S n n-1 S

n  P n Suppose n is odd. S contains n pairs that will need to be broken apart during any sequence that sorts stack S n n-1 S Detail: This construction only works when n>3

n  P n  2n - 3 Bring To Top is within a factor of two of optimal

n  P n  2n - 3 So starting from ANY stack we can get to the sorted stack using no more than P n flips.

From ANY stack to Sorted Stack in · P n Can you see why we can get from the Sorted stack to ANY stack in · P n flips? Reverse the sequences we use to sort.

From Sorted Stack to ANY stack in · P n Can you see why we can get from ANY stack S to ANY stack T in · P n flips?

From ANY Stack S to ANY stack T in · P n Rename the pancakes in S to be 1,2,3,..,n. Rewrite T using the new naming scheme that you used for S. T will be some list:  (1),  (2),..,  (n). The sequence of flips that brings the sorted stack to  (1),  (2),..,  (n) will bring S to T. S: 4,3,5,1,2 T: 5,2,4,3,1 1,2,3,4,53,5,1,2,4

The Known Pancake Numbers n PnPn

P 14 Is Unknown 14! Orderings of 14 pancakes. 14! = 87,178,291,200

General Versus Particular General We proved bounds for all pancake numbers Particular Brute force gave exact bounds for a small set of pancake numbers

Is This Really Computer Science?

Posed in Amer. Math. Monthly 82 (1) (1975), “Harry Dweighter” a.k.a. Jacob Goodman

(17/16)n  P n  (5n+5)/3 Bill Gates & Christos Papadimitriou: Bounds For Sorting By Prefix Reversal. Discrete Mathematics, vol 27, pp 47-57, 1979.

(15/14)n  P n  (5n+5)/3 H. Heydari & H. I. Sudborough: On the Diameter of he Pancake Network. Journal of Algorithms, vol 25, pp 67-94, 1997.

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=

Network For n=4

Pancake Network: Message Routing Delay What is the maximum distance between two nodes in the network? PnPn

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 “Simple” Problem A host of problems and applications at the frontiers of science

Lower Bound On P n Adjacency in a Stack: Any pair of consecutively sized pancakes next to each other in the stack. Adjacency Count of a stack: number of Adjacencies in the stack PLUS 1 more if the largest pancake is at the bottom.

Examples Of Adjacency Counts

Adjacency Count Zero (for n > 3) n n n n-1 n evenn odd

Adjacency Lemma: Each flip can raise the Adjacency Count by at most one. A...BC...DA...BC...D B...AC...DB...AC...D

n  P n There is a stack of n pancakes of Adjacency Count 0. The sorted stack has count n. Each flip increases the count by at most 1. Hence it requires at least n flips to sort the original stack.