Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity,...

89
The problem Fast Homing Slow Homing Counting bad cases A greedy sorting algorithm Sergi Elizalde Peter Winkler Dartmouth College Rutgers Experimental Mathematics Seminar Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Transcript of Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity,...

Page 1: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

A greedy sorting algorithm

Sergi Elizalde Peter Winkler

Dartmouth College

Rutgers Experimental Mathematics Seminar

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 2: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The homing algorithm

Given a permutation π, repeat the following placement step:

◮ Choose an entry π(i) such that π(i) 6= i .

◮ Place π(i) in the correct position.

◮ Shift the other entries as necessary.

1 23 45 6 78

12

3

456 78

1 2

3

456 78

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 3: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Main questions

◮ Does the algorithm always finish?

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 4: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Main questions

◮ Does the algorithm always finish? YES

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 5: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Main questions

◮ Does the algorithm always finish? YES

◮ How many steps does it take in the worst case. . .

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 6: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Main questions

◮ Does the algorithm always finish? YES

◮ How many steps does it take in the worst case. . .◮ with a good choice of placements?◮ with a random choice of placements?◮ with a bad choice of placements?

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 7: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

“Motivation”

◮ Makes sense when sorting physical objects, such as billiardballs.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 8: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

“Motivation”

◮ Makes sense when sorting physical objects, such as billiardballs.

◮ In hand-sorting files, it is common to take the first file andmove it to the front, then the second, and so on. This is a(fast) special case of homing.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 9: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

“Motivation”

◮ Makes sense when sorting physical objects, such as billiardballs.

◮ In hand-sorting files, it is common to take the first file andmove it to the front, then the second, and so on. This is a(fast) special case of homing.

◮ It is fun to analyze this algorithm.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 10: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

“Motivation”

◮ Makes sense when sorting physical objects, such as billiardballs.

◮ In hand-sorting files, it is common to take the first file andmove it to the front, then the second, and so on. This is a(fast) special case of homing.

◮ It is fun to analyze this algorithm.

◮ If you have to sort a list and you are paid by the hour, this isa great algorithm to use.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 11: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

History

◮ Despite its simplicity, it seems not to have been considered inthe literature.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 12: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

History

◮ Despite its simplicity, it seems not to have been considered inthe literature.

◮ Barry Cipra was looking at a variation of an algorithm of JohnH. Conway. In Cipra’s algorithm, after each placement, theintervening entries are reversed (instead of shifted). Thisalgorithm does not necessarily terminate:

71325684 → 71348652 → 56843172 → 52713486 →52317486 → 71325486 → 71325684

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 13: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

History

◮ Despite its simplicity, it seems not to have been considered inthe literature.

◮ Barry Cipra was looking at a variation of an algorithm of JohnH. Conway. In Cipra’s algorithm, after each placement, theintervening entries are reversed (instead of shifted). Thisalgorithm does not necessarily terminate:

71325684 → 71348652 → 56843172 → 52713486 →52317486 → 71325486 → 71325684

◮ Loren Larson misunderstood the definition of the algorithm,and thought the intervening numbers were shifted.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 14: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

History (cont’d)

Noam Elkies gave a neat proof that homing always terminates:

◮ Suppose it doesn’t. Then there is a cycle, since there are onlyfinitely many states.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 15: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

History (cont’d)

Noam Elkies gave a neat proof that homing always terminates:

◮ Suppose it doesn’t. Then there is a cycle, since there are onlyfinitely many states.

◮ Let k be the largest number which is placed upward in thecycle.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 16: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

History (cont’d)

Noam Elkies gave a neat proof that homing always terminates:

◮ Suppose it doesn’t. Then there is a cycle, since there are onlyfinitely many states.

◮ Let k be the largest number which is placed upward in thecycle.

◮ Once k is placed, it can be dislodged upward and placed againdownward, but nothing can ever push it below position k.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 17: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

History (cont’d)

Noam Elkies gave a neat proof that homing always terminates:

◮ Suppose it doesn’t. Then there is a cycle, since there are onlyfinitely many states.

◮ Let k be the largest number which is placed upward in thecycle.

◮ Once k is placed, it can be dislodged upward and placed againdownward, but nothing can ever push it below position k.

◮ Hence it can never again be placed upward, a contradiction.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 18: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Well-chosen placements

Theorem

◮ An algorithm that always places the smallest or largest

available number will terminate in at most n−1 steps.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 19: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Well-chosen placements

Theorem

◮ An algorithm that always places the smallest or largest

available number will terminate in at most n−1 steps.

◮ Let k be the length of the longest increasing subsequence in π.

Then no sequence of fewer than n−k placements can sort π.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 20: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Well-chosen placements

Theorem

◮ An algorithm that always places the smallest or largest

available number will terminate in at most n−1 steps.

◮ Let k be the length of the longest increasing subsequence in π.

Then no sequence of fewer than n−k placements can sort π.

◮ The permutation n . . . 21 is the only one requiring n−1 steps.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 21: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Random placements

TheoremThe expected number of steps required by random homing from

π ∈ Sn is at most n2+n−24 .

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 22: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Random placements

TheoremThe expected number of steps required by random homing from

π ∈ Sn is at most n2+n−24 .

Proof.

◮ Suppose that we have a permutation where k of the extremalnumbers are home:

123746589

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 23: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Random placements

TheoremThe expected number of steps required by random homing from

π ∈ Sn is at most n2+n−24 .

Proof.

◮ Suppose that we have a permutation where k of the extremalnumbers are home:

123746589

◮ With probability ≥ 2n−k

, the next step will place an additionalextremal number.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 24: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

Random placements

TheoremThe expected number of steps required by random homing from

π ∈ Sn is at most n2+n−24 .

Proof.

◮ Suppose that we have a permutation where k of the extremalnumbers are home:

123746589

◮ With probability ≥ 2n−k

, the next step will place an additionalextremal number.

◮ Total expected number of steps is ≤ ∑n−2k=0

n−k2 .

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 25: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 26: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 27: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 28: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 29: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 30: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 31: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 32: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 33: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 12 3 5 4 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 34: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 12 3 5 4 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 35: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 12 3 5 4 6 7 . . . n 13 2 5 4 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 36: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 12 3 5 4 6 7 . . . n 13 2 5 4 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 37: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 12 3 5 4 6 7 . . . n 13 2 5 4 6 7 . . . n 12 5 3 4 6 7 . . . n 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 38: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Slow Homing: Example

Starting from2 3 4 5 6 7 . . . n 1

place always the leftmost possible entry:

3 2 4 5 6 7 . . . n 12 4 3 5 6 7 . . . n 14 2 3 5 6 7 . . . n 12 3 5 4 6 7 . . . n 13 2 5 4 6 7 . . . n 12 5 3 4 6 7 . . . n 1

It takes 2n−1−1 steps to sort this permutation.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 39: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Main result

TheoremHoming always terminates in at most 2n−1−1 steps.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 40: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Main result

TheoremHoming always terminates in at most 2n−1−1 steps.

To prove this, consider the reverse algorithm.We will show that, starting from the identity permutation, one canperform at most 2n−1−1 displacements.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 41: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Main result

TheoremHoming always terminates in at most 2n−1−1 steps.

To prove this, consider the reverse algorithm.We will show that, starting from the identity permutation, one canperform at most 2n−1−1 displacements.

2n−1−1 = 2n−2︸︷︷︸

until 1 and n are displaced

+ 2n−2 − 1︸ ︷︷ ︸

after displacing 1 and n

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 42: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

LemmaAfter 2n−2 displacements, both 1 and n have been displaced and

will never be displaced again.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 43: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

LemmaAfter 2n−2 displacements, both 1 and n have been displaced and

will never be displaced again.

Proof.

◮ Note that 1 and n can each be displaced only once.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 44: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

LemmaAfter 2n−2 displacements, both 1 and n have been displaced and

will never be displaced again.

Proof.

◮ Note that 1 and n can each be displaced only once.

◮ If after 2n−2 displacements one of these values hasn’t beendisplaced, then it played no role in the process.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 45: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

LemmaAfter 2n−2 displacements, both 1 and n have been displaced and

will never be displaced again.

Proof.

◮ Note that 1 and n can each be displaced only once.

◮ If after 2n−2 displacements one of these values hasn’t beendisplaced, then it played no role in the process.

◮ Hence the remaining n−1 numbers allowed more than 2n−2−1steps, contradicting the induction hypothesis.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 46: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 47: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 48: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Example

π = 356 1 8 4 7 2 −→ α(π) =

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 49: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Example

π = 356 1 8 4 7 2 −→ α(π) = +

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 50: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Example

π = 356 1 8 4 7 2 −→ α(π) = + −

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 51: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Example

π = 356 1 8 4 7 2 −→ α(π) = + − +

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 52: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Example

π = 35 6 1 8 4 7 2 −→ α(π) = + − + −

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 53: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Example

π = 356 1 8 4 7 2 −→ α(π) = + − + − −

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 54: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The code of a permutation

Assume now that 1 and n have both been displaced.We’ll show that only 2n−2−1 more displacements can occur.

Assign to each permutation π a code α(π) = α2α3 . . . αn−1, where

αi =

0+−

if entry i is

exactlyto the right ofto the left of

home.

Example

π = 356 1 8 4 7 2 −→ α(π) = + − + − − 0

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 55: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code

α = + − + − − 0

Define the weight of a code α recursively:

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 56: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code

α = + − + − − 05 1 3 3 4

Define the weight of a code α recursively:

◮ For each −, count the number of symbols to its left, andfor each +, count the number of symbols to its right.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 57: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code

α = + − + − − 05 1 3 3 4

α̂ = − + − − 0

Define the weight of a code α recursively:

◮ For each −, count the number of symbols to its left, andfor each +, count the number of symbols to its right.

◮ Let d be the largest of these numbers, and let α̂ be the codeobtained by deleting the corresponding symbol.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 58: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code

α = + − + − − 05 1 3 3 4

α̂ = − + − − 0

Define the weight of a code α recursively:

◮ For each −, count the number of symbols to its left, andfor each +, count the number of symbols to its right.

◮ Let d be the largest of these numbers, and let α̂ be the codeobtained by deleting the corresponding symbol.

◮ Definew(α) = 2d + w(α̂).

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 59: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 60: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 61: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 62: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 63: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 64: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )0 2 2

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 65: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )0 2 2

= 25 + 23 + 22 + w( − + 0 )

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 66: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )0 2 2

= 25 + 23 + 22 + w( − + 0 )0 1

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 67: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )0 2 2

= 25 + 23 + 22 + w( − + 0 )0 1

= 25 + 23 + 22 + 21 + w( − 0 )

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 68: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )0 2 2

= 25 + 23 + 22 + w( − + 0 )0 1

= 25 + 23 + 22 + 21 + w( − 0 )0

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 69: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )0 2 2

= 25 + 23 + 22 + w( − + 0 )0 1

= 25 + 23 + 22 + 21 + w( − 0 )0

= 25 + 23 + 22 + 21 + 20 + w( 0 )

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 70: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight of a code: example

w( + − + − − 0 )5 1 3 3 4

= 25 + w( − + − − 0 )0 3 2 3

= 25 + 23 + w( − + − 0 )0 2 2

= 25 + 23 + 22 + w( − + 0 )0 1

= 25 + 23 + 22 + 21 + w( − 0 )0

= 25 + 23 + 22 + 21 + 20 + w( 0 )

= 25 + 23 + 22 + 21 + 20 = 47

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 71: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Bound on the weight

LemmaThe maximum of w(α) over codes α of length k is 2k − 1, for

codes of the form + + · · · + −− · · · −.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 72: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Bound on the weight

LemmaThe maximum of w(α) over codes α of length k is 2k − 1, for

codes of the form + + · · · + −− · · · −.

Proof.In the recursion,

w(α) ≤ 2k−1 + w(α̂),

with equality when a − is deleted from the right or a + from theleft.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 73: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight increases at each displacement

LemmaLet π ∈ Sn with π(1) 6= 1 and π(n) 6= n, and let π′ be the result of

applying some displacement to π. Let α = α(π) and α′ = α(π′).Then

w(α′) > w(α).

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 74: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight increases at each displacement

LemmaLet π ∈ Sn with π(1) 6= 1 and π(n) 6= n, and let π′ be the result of

applying some displacement to π. Let α = α(π) and α′ = α(π′).Then

w(α′) > w(α).

Proof sketch.

◮ A number i can be displaced iff αi = 0 in the code.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 75: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight increases at each displacement

LemmaLet π ∈ Sn with π(1) 6= 1 and π(n) 6= n, and let π′ be the result of

applying some displacement to π. Let α = α(π) and α′ = α(π′).Then

w(α′) > w(α).

Proof sketch.

◮ A number i can be displaced iff αi = 0 in the code.

◮ If it is displaced to the left, then αi becomes a −, and someentries αj with j < i can change from − to 0 or from 0 to +.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 76: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

The weight increases at each displacement

LemmaLet π ∈ Sn with π(1) 6= 1 and π(n) 6= n, and let π′ be the result of

applying some displacement to π. Let α = α(π) and α′ = α(π′).Then

w(α′) > w(α).

Proof sketch.

◮ A number i can be displaced iff αi = 0 in the code.

◮ If it is displaced to the left, then αi becomes a −, and someentries αj with j < i can change from − to 0 or from 0 to +.

◮ It can be shown that this increases the weight of the code.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 77: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Finishing the proof

Combining these lemmas, the maximum number ofdisplacements is

◮ at most 2n−2 until 1 and n are displaced, plus

◮ at most 2n−2−1 after 1 and n have been displaced.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 78: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

ExampleMain TheoremProof: Stage 1Proof: Stage 2

Finishing the proof

Combining these lemmas, the maximum number ofdisplacements is

◮ at most 2n−2 until 1 and n are displaced, plus

◮ at most 2n−2−1 after 1 and n have been displaced.

So at most 2n−1−1 in total.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 79: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

h(π) = max. length of a seq. of placements from π to 12 . . . n.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 80: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

h(π) = max. length of a seq. of placements from π to 12 . . . n.

Mn = {π ∈ Sn : h(π) = 2n−1−1}.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 81: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

h(π) = max. length of a seq. of placements from π to 12 . . . n.

Mn = {π ∈ Sn : h(π) = 2n−1−1}.For example, 23 . . . n1 ∈ Mn.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 82: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

h(π) = max. length of a seq. of placements from π to 12 . . . n.

Mn = {π ∈ Sn : h(π) = 2n−1−1}.For example, 23 . . . n1 ∈ Mn.

TheoremBn−1 ≤ |Mn| ≤ (n − 1)!,

where Bn = n-th Bell number = # partitions of {1, 2, . . . , n}.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 83: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

h(π) = max. length of a seq. of placements from π to 12 . . . n.

Mn = {π ∈ Sn : h(π) = 2n−1−1}.For example, 23 . . . n1 ∈ Mn.

TheoremBn−1 ≤ |Mn| ≤ (n − 1)!,

where Bn = n-th Bell number = # partitions of {1, 2, . . . , n}.

Bn grows super-exponentially:

Bn ∼ 1√n

λ(n)n+1/2eλ(n)−n−1,

where λ(n) = nW (n) , and W (n)eW (n) = n.

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 84: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

fi ,j = |{π ∈ Mi+j : α(π) = + + · · ·+︸ ︷︷ ︸

i−1

−− · · · −︸ ︷︷ ︸

j−1

}|

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 85: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

fi ,j = |{π ∈ Mi+j : α(π) = + + · · ·+︸ ︷︷ ︸

i−1

−− · · · −︸ ︷︷ ︸

j−1

}|

F (u, v) =∑

i ,j≥1

fi ,j uiv j

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 86: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

fi ,j = |{π ∈ Mi+j : α(π) = + + · · ·+︸ ︷︷ ︸

i−1

−− · · · −︸ ︷︷ ︸

j−1

}|

F (u, v) =∑

i ,j≥1

fi ,j uiv j

|Mn| =∑

i+j=n fi ,j is the coefficient of tn in F (t, t).

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 87: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

The number of worst-case permutations

fi ,j = |{π ∈ Mi+j : α(π) = + + · · ·+︸ ︷︷ ︸

i−1

−− · · · −︸ ︷︷ ︸

j−1

}|

F (u, v) =∑

i ,j≥1

fi ,j uiv j

|Mn| =∑

i+j=n fi ,j is the coefficient of tn in F (t, t).

Theorem

F (u, v) = uv + uv∂

∂uF (u, v) + uv

∂vF (u, v) − u2v2 ∂2

∂u∂vF (u, v)

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 88: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

21435

32451 51243

2 43

23451 34251 5123451423

45321 54312

45213 35412

24351 51324

5312424531 45312

42531 53142

24513 35124

42513

51342

3514243251 51432

23541 52134

32541

25341 52314

52341

1 5

23415 15234

32415 15243

24315 15324

42315 15342

14235 23145 1342512534

1432532145 12543

13245 21345 1243512354

12345

43521 45231 43512 54132534124513234521 34512 5412345123

42351 25134

25143

23514

32514 35241

35214 25413

52413

5421335421

52143

54231

54321

53421

52431 53241

2531425431 53214

34215 1542334125 1452341235 1345243125 1453241352 3152424153

41253 314523415243152 4153241523

42135 13542

4132524135 14352 1352442153 31542

14253 31425

12453 31245

23154 21534

32154 21543

3125421453

43215 15432

13254 21354

Sergi Elizalde, Peter Winkler A greedy sorting algorithm

Page 89: Rutgers Experimental Mathematics Seminarsergi/papers/sort_rutgers.pdfHistory Despite its simplicity, it seems not to have been considered in the literature. Barry Cipra was looking

The problemFast HomingSlow Homing

Counting bad cases

21435

32451 51243

2 43

23451 34251 5123451423

45321 54312

45213 35412

24351 51324

5312424531 45312

42531 53142

24513 35124

42513

51342

3514243251 51432

23541 52134

32541

25341 52314

52341

1 5

23415 15234

32415 15243

24315 15324

42315 15342

14235 23145 1342512534

1432532145 12543

13245 21345 1243512354

12345

43521 45231 43512 54132534124513234521 34512 5412345123

42351 25134

25143

23514

32514 35241

35214 25413

52413

5421335421

52143

54231

54321

53421

52431 53241

2531425431 53214

34215 1542334125 1452341235 1345243125 1453241352 3152424153

41253 314523415243152 4153241523

42135 13542

4132524135 14352 1352442153 31542

14253 31425

12453 31245

23154 21534

32154 21543

3125421453

43215 15432

13254 21354

THANK YOU

Sergi Elizalde, Peter Winkler A greedy sorting algorithm