Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive...

257
Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon University December 16, 2009 Thesis Committee: Daniel Sleator (chair), Guy Blelloch, Gary Miller, Seth Pettie (Michigan) J. Derryberry Adaptive Binary Search Trees 1 / 45

Transcript of Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive...

Page 1: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Thesis Defense:Adaptive Binary Search Trees

Jonathan C. Derryberry

Department of Computer ScienceCarnegie Mellon University

December 16, 2009

Thesis Committee:

Daniel Sleator (chair), Guy Blelloch, Gary Miller, Seth Pettie (Michigan)

J. Derryberry Adaptive Binary Search Trees 1 / 45

Page 2: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Search Problem

Membership-testing, dictionary, successor/predecessor, etc.

Sequence of queries σ1 · · ·σm

Assume each σj ∈ 1, . . . , n

J. Derryberry Adaptive Binary Search Trees 2 / 45

Page 3: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Search Problem

Membership-testing, dictionary, successor/predecessor, etc.

Sequence of queries σ1 · · ·σm

Assume each σj ∈ 1, . . . , n

J. Derryberry Adaptive Binary Search Trees 2 / 45

Page 4: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Search Problem

Membership-testing, dictionary, successor/predecessor, etc.

Sequence of queries σ1 · · ·σm

Assume each σj ∈ 1, . . . , n

J. Derryberry Adaptive Binary Search Trees 2 / 45

Page 5: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Outline

1 Introduction

2 Lower Bounds and Competitiveness

3 The Unified Bound and Splay Trees

4 Cache-Splay Trees

5 Conclusion

J. Derryberry Adaptive Binary Search Trees 3 / 45

Page 6: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Outline

1 Introduction

2 Lower Bounds and Competitiveness

3 The Unified Bound and Splay Trees

4 Cache-Splay Trees

5 Conclusion

J. Derryberry Adaptive Binary Search Trees 4 / 45

Page 7: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)

(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)

(requires integers, no augmenting)

Comparison model: O(lg n)

(no augmenting)

BST model: O(lg n)

(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 8: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)

(requires integers, no augmenting)

Comparison model: O(lg n)

(no augmenting)

BST model: O(lg n)

(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 9: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)

(requires integers, no augmenting)

Comparison model: O(lg n)

(no augmenting)

BST model: O(lg n)

(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 10: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)(requires integers, no augmenting)

Comparison model: O(lg n)

(no augmenting)

BST model: O(lg n)

(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 11: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)(requires integers, no augmenting)

Comparison model: O(lg n)

(no augmenting)

BST model: O(lg n)

(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 12: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)(requires integers, no augmenting)

Comparison model: O(lg n)(no augmenting)

BST model: O(lg n)

(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 13: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)(requires integers, no augmenting)

Comparison model: O(lg n)(no augmenting)

BST model: O(lg n)

(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 14: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Which Computational Model?

Hashing (RAM): O(1)(but no successor)

vEB/Fusion Trees (RAM): O(√

lg n)(requires integers, no augmenting)

Comparison model: O(lg n)(no augmenting)

BST model: O(lg n)(supports augmenting)

J. Derryberry Adaptive Binary Search Trees 5 / 45

Page 15: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Model [Wil89]

x

y

y

x

A B

C A

B C

rotate x

rotate y

Binary tree in symmetric order

Modifiable with BST rotations

Must rotate queried node to root

J. Derryberry Adaptive Binary Search Trees 6 / 45

Page 16: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Model [Wil89]

x

y

y

x

A B

C A

B C

rotate x

rotate y

Binary tree in symmetric order

Modifiable with BST rotations

Must rotate queried node to root

J. Derryberry Adaptive Binary Search Trees 6 / 45

Page 17: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Model [Wil89]

x

y

y

x

A B

C A

B C

rotate x

rotate y

Binary tree in symmetric order

Modifiable with BST rotations

Must rotate queried node to root

J. Derryberry Adaptive Binary Search Trees 6 / 45

Page 18: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Flexibility of the BST Model

Can easily do O(lg n) worst-case

Can adapt to sequences with patterns

To adapt, rotate nodes likely to be accessed to near the root

J. Derryberry Adaptive Binary Search Trees 7 / 45

Page 19: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Flexibility of the BST Model

Can easily do O(lg n) worst-case

Can adapt to sequences with patterns

To adapt, rotate nodes likely to be accessed to near the root

J. Derryberry Adaptive Binary Search Trees 7 / 45

Page 20: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Flexibility of the BST Model

Can easily do O(lg n) worst-case

Can adapt to sequences with patterns

To adapt, rotate nodes likely to be accessed to near the root

J. Derryberry Adaptive Binary Search Trees 7 / 45

Page 21: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Outline

1 Introduction

2 Lower Bounds and Competitiveness

3 The Unified Bound and Splay Trees

4 Cache-Splay Trees

5 Conclusion

J. Derryberry Adaptive Binary Search Trees 8 / 45

Page 22: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Prove a Lower Bound?

Help prove optimality

Invalidate the computational model

Understand the model/problem

J. Derryberry Adaptive Binary Search Trees 9 / 45

Page 23: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Prove a Lower Bound?

Help prove optimality

Invalidate the computational model

Understand the model/problem

J. Derryberry Adaptive Binary Search Trees 9 / 45

Page 24: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Prove a Lower Bound?

Help prove optimality

Invalidate the computational model

Understand the model/problem

J. Derryberry Adaptive Binary Search Trees 9 / 45

Page 25: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Lower Bound Basics

Online BST costs Ω(lg n)?

Offline BST costs Ω(lg n)?

Instance-specific bounds?

J. Derryberry Adaptive Binary Search Trees 10 / 45

Page 26: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Lower Bound Basics

Online BST costs Ω(lg n)?

Offline BST costs Ω(lg n)?

Instance-specific bounds?

J. Derryberry Adaptive Binary Search Trees 10 / 45

Page 27: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Lower Bound Basics

Online BST costs Ω(lg n)?

Offline BST costs Ω(lg n)?

Instance-specific bounds?

J. Derryberry Adaptive Binary Search Trees 10 / 45

Page 28: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Wilber’s First Bound [Wil89]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

J. Derryberry Adaptive Binary Search Trees 11 / 45

Page 29: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Wilber’s First Bound [Wil89]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

J. Derryberry Adaptive Binary Search Trees 11 / 45

Page 30: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Wilber’s First Bound [Wil89]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

J. Derryberry Adaptive Binary Search Trees 11 / 45

Page 31: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Wilber’s First Bound [Wil89]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

J. Derryberry Adaptive Binary Search Trees 11 / 45

Page 32: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Wilber’s First Bound [Wil89]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

J. Derryberry Adaptive Binary Search Trees 11 / 45

Page 33: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Interleave Bound [DHIP04]

13

1410

11

12

151

2

3

4

5 7

6

8

9

J. Derryberry Adaptive Binary Search Trees 12 / 45

Page 34: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Interleave Bound [DHIP04]

13

1410

11

12

151

2

3

4

5 7

6

8

9

J. Derryberry Adaptive Binary Search Trees 12 / 45

Page 35: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Interleave Bound [DHIP04]

13

1410

11

12

151

2

3

4

5 7

6

8

9

J. Derryberry Adaptive Binary Search Trees 12 / 45

Page 36: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Interleave Bound [DHIP04]

13

1410

11

12

151

2

3

4

5 7

6

8

9

J. Derryberry Adaptive Binary Search Trees 12 / 45

Page 37: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Interleave Bound [DHIP04]

13

1410

11

12

151

2

3

4

5 7

6

8

9

J. Derryberry Adaptive Binary Search Trees 12 / 45

Page 38: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

1410

11

12

151

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 39: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

1410

11

12

151

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 40: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

1410

11

12

151

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 41: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

151

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 42: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

151

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 43: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

151

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 44: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

15

1

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 45: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

15

1

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 46: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

15

1

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 47: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

15

1

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 48: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

15

1

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 49: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

15

1

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 50: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

14

10

11

12

15

1

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 51: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Uses of the Interleave Bound

13

1410

11

12

151

2

3

4

5 7

6

8

9

Implications

Balanced BSTs dynamically optimal for random sequences

Rotate paths (only in BST) into a red-black tree [DHIP04]

Swap red-black trees for splay trees and gain [WDS06]

Can also rotate lower bound tree to allow updates [WDS06]

J. Derryberry Adaptive Binary Search Trees 13 / 45

Page 52: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

How good is Wilber-1/Interleave?

Lets us compete (O(lg lg n)-competitiveness)

Every static lower bound tree is loose by Ω(lg lg n)

Can the dynamic interleave bound help?

Can Wilber’s second bound help?

J. Derryberry Adaptive Binary Search Trees 14 / 45

Page 53: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

How good is Wilber-1/Interleave?

Lets us compete (O(lg lg n)-competitiveness)

Every static lower bound tree is loose by Ω(lg lg n)

Can the dynamic interleave bound help?

Can Wilber’s second bound help?

J. Derryberry Adaptive Binary Search Trees 14 / 45

Page 54: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

How good is Wilber-1/Interleave?

Lets us compete (O(lg lg n)-competitiveness)

Every static lower bound tree is loose by Ω(lg lg n)

Can the dynamic interleave bound help?

Can Wilber’s second bound help?

J. Derryberry Adaptive Binary Search Trees 14 / 45

Page 55: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

How good is Wilber-1/Interleave?

Lets us compete (O(lg lg n)-competitiveness)

Every static lower bound tree is loose by Ω(lg lg n)

Can the dynamic interleave bound help?

Can Wilber’s second bound help?

J. Derryberry Adaptive Binary Search Trees 14 / 45

Page 56: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 57: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 58: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 59: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 60: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 61: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 62: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 63: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 64: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 65: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS: Generalizing Wilber-1 and Wilber-2 [DSW05]

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 15 / 45

Page 66: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The MIBS Bound

Theorem

The number of boxes is a lower bound on OPT(σ).

J. Derryberry Adaptive Binary Search Trees 16 / 45

Page 67: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 68: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 69: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 70: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 71: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 72: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 73: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 74: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 75: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 76: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 77: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 78: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 79: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 80: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

associated rotation

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 81: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Proof of MIBS Bound

keyspace

tim

e1

23

45

67

89

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1213

1415

11

associated rotation

J. Derryberry Adaptive Binary Search Trees 17 / 45

Page 82: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS ≥ Wilber’s First Bound

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

keyspaceti

me

12

34

56

78

910

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1612

1314

1511

J. Derryberry Adaptive Binary Search Trees 18 / 45

Page 83: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS ≥ Wilber’s First Bound

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

keyspaceti

me

12

34

56

78

910

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1612

1314

1511

J. Derryberry Adaptive Binary Search Trees 18 / 45

Page 84: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS ≥ Wilber’s First Bound

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

keyspaceti

me

12

34

56

78

910

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1612

1314

1511

J. Derryberry Adaptive Binary Search Trees 18 / 45

Page 85: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS ≥ Wilber’s First Bound

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

keyspaceti

me

12

34

56

78

910

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1612

1314

1511

J. Derryberry Adaptive Binary Search Trees 18 / 45

Page 86: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

MIBS ≥ Wilber’s First Bound

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

keyspaceti

me

12

34

56

78

910

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1612

1314

1511

J. Derryberry Adaptive Binary Search Trees 18 / 45

Page 87: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Musing on MIBS

Generalizes previous bounds

Does not help improve competitiveness so far

Strengthens connection between partial-sums problem andBST model

J. Derryberry Adaptive Binary Search Trees 19 / 45

Page 88: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Musing on MIBS

Generalizes previous bounds

Does not help improve competitiveness so far

Strengthens connection between partial-sums problem andBST model

J. Derryberry Adaptive Binary Search Trees 19 / 45

Page 89: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Musing on MIBS

Generalizes previous bounds

Does not help improve competitiveness so far

Strengthens connection between partial-sums problem andBST model

J. Derryberry Adaptive Binary Search Trees 19 / 45

Page 90: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Partial-Sums Problem

Maintain an array under update operations

Return sum(1, . . . , i) when requested for current array values

Input: sequence of update and sum operations

Output: sequence of sums

Lower bound: Ω(lg n) in cell-probe model [PD04]

Lower bound: MIBS, if we require explicitly computed sums

J. Derryberry Adaptive Binary Search Trees 20 / 45

Page 91: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Partial-Sums Problem

Maintain an array under update operations

Return sum(1, . . . , i) when requested for current array values

Input: sequence of update and sum operations

Output: sequence of sums

Lower bound: Ω(lg n) in cell-probe model [PD04]

Lower bound: MIBS, if we require explicitly computed sums

J. Derryberry Adaptive Binary Search Trees 20 / 45

Page 92: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Partial-Sums Problem

Maintain an array under update operations

Return sum(1, . . . , i) when requested for current array values

Input: sequence of update and sum operations

Output: sequence of sums

Lower bound: Ω(lg n) in cell-probe model [PD04]

Lower bound: MIBS, if we require explicitly computed sums

J. Derryberry Adaptive Binary Search Trees 20 / 45

Page 93: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Partial-Sums Problem

Maintain an array under update operations

Return sum(1, . . . , i) when requested for current array values

Input: sequence of update and sum operations

Output: sequence of sums

Lower bound: Ω(lg n) in cell-probe model [PD04]

Lower bound: MIBS, if we require explicitly computed sums

J. Derryberry Adaptive Binary Search Trees 20 / 45

Page 94: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Partial-Sums Problem

Maintain an array under update operations

Return sum(1, . . . , i) when requested for current array values

Input: sequence of update and sum operations

Output: sequence of sums

Lower bound: Ω(lg n) in cell-probe model [PD04]

Lower bound: MIBS, if we require explicitly computed sums

J. Derryberry Adaptive Binary Search Trees 20 / 45

Page 95: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Partial-Sums Problem

Maintain an array under update operations

Return sum(1, . . . , i) when requested for current array values

Input: sequence of update and sum operations

Output: sequence of sums

Lower bound: Ω(lg n) in cell-probe model [PD04]

Lower bound: MIBS, if we require explicitly computed sums

J. Derryberry Adaptive Binary Search Trees 20 / 45

Page 96: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Lower Bounds

[Wil89]: first offline, instance-specific bounds

[BCK02]: offline information-theoretic bound

[DHIP04]: BST-like bound

[WDS06]: rotatable BST-like bound

[DSW05],[DHI+09]: generalization of Wilber-1 and Wilber-2

J. Derryberry Adaptive Binary Search Trees 21 / 45

Page 97: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Lower Bounds

[Wil89]: first offline, instance-specific bounds

[BCK02]: offline information-theoretic bound

[DHIP04]: BST-like bound

[WDS06]: rotatable BST-like bound

[DSW05],[DHI+09]: generalization of Wilber-1 and Wilber-2

J. Derryberry Adaptive Binary Search Trees 21 / 45

Page 98: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Lower Bounds

[Wil89]: first offline, instance-specific bounds

[BCK02]: offline information-theoretic bound

[DHIP04]: BST-like bound

[WDS06]: rotatable BST-like bound

[DSW05],[DHI+09]: generalization of Wilber-1 and Wilber-2

J. Derryberry Adaptive Binary Search Trees 21 / 45

Page 99: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Lower Bounds

[Wil89]: first offline, instance-specific bounds

[BCK02]: offline information-theoretic bound

[DHIP04]: BST-like bound

[WDS06]: rotatable BST-like bound

[DSW05],[DHI+09]: generalization of Wilber-1 and Wilber-2

J. Derryberry Adaptive Binary Search Trees 21 / 45

Page 100: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Lower Bounds

[Wil89]: first offline, instance-specific bounds

[BCK02]: offline information-theoretic bound

[DHIP04]: BST-like bound

[WDS06]: rotatable BST-like bound

[DSW05],[DHI+09]: generalization of Wilber-1 and Wilber-2

J. Derryberry Adaptive Binary Search Trees 21 / 45

Page 101: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Competitiveness

[BCK02]: dynamic search optimality

[DHIP04]: O(lg lg n)-competitive

[WDS06, DSW09]: support insert/delete, deque, working set

[Geo08]: like multi-splay, only O(lg lg n)-competitive

[BDDF09]: support worst-case O(lg n) running time

J. Derryberry Adaptive Binary Search Trees 22 / 45

Page 102: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Competitiveness

[BCK02]: dynamic search optimality

[DHIP04]: O(lg lg n)-competitive

[WDS06, DSW09]: support insert/delete, deque, working set

[Geo08]: like multi-splay, only O(lg lg n)-competitive

[BDDF09]: support worst-case O(lg n) running time

J. Derryberry Adaptive Binary Search Trees 22 / 45

Page 103: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Competitiveness

[BCK02]: dynamic search optimality

[DHIP04]: O(lg lg n)-competitive

[WDS06, DSW09]: support insert/delete, deque, working set

[Geo08]: like multi-splay, only O(lg lg n)-competitive

[BDDF09]: support worst-case O(lg n) running time

J. Derryberry Adaptive Binary Search Trees 22 / 45

Page 104: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Competitiveness

[BCK02]: dynamic search optimality

[DHIP04]: O(lg lg n)-competitive

[WDS06, DSW09]: support insert/delete, deque, working set

[Geo08]: like multi-splay, only O(lg lg n)-competitive

[BDDF09]: support worst-case O(lg n) running time

J. Derryberry Adaptive Binary Search Trees 22 / 45

Page 105: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

History of BST Competitiveness

[BCK02]: dynamic search optimality

[DHIP04]: O(lg lg n)-competitive

[WDS06, DSW09]: support insert/delete, deque, working set

[Geo08]: like multi-splay, only O(lg lg n)-competitive

[BDDF09]: support worst-case O(lg n) running time

J. Derryberry Adaptive Binary Search Trees 22 / 45

Page 106: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Outline

1 Introduction

2 Lower Bounds and Competitiveness

3 The Unified Bound and Splay Trees

4 Cache-Splay Trees

5 Conclusion

J. Derryberry Adaptive Binary Search Trees 23 / 45

Page 107: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Formulaic Adaptivity

Strength of competitiveness depends on the model

Alternative: input-sensitive bounds with intuitive meaning

J. Derryberry Adaptive Binary Search Trees 24 / 45

Page 108: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Formulaic Adaptivity

Strength of competitiveness depends on the model

Alternative: input-sensitive bounds with intuitive meaning

J. Derryberry Adaptive Binary Search Trees 24 / 45

Page 109: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Bounds with Intuitive Meaning

Working Set Bound (exploiting temporal locality)

Access x , then t distinct keys. Pay O(lg t) to access x again.

Dynamic Finger Bound (exploiting spatial locality)

Access x . Then, access y at cost O(lg |x − y |).

J. Derryberry Adaptive Binary Search Trees 25 / 45

Page 110: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Bounds with Intuitive Meaning

Working Set Bound (exploiting temporal locality)

Access x , then t distinct keys. Pay O(lg t) to access x again.

Dynamic Finger Bound (exploiting spatial locality)

Access x . Then, access y at cost O(lg |x − y |).

J. Derryberry Adaptive Binary Search Trees 25 / 45

Page 111: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 112: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 113: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 114: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 115: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 116: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 117: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 118: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 119: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 120: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 121: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 122: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 123: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 124: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 125: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

What If There Is a Mix of Spatial and Temporal Locality?

Need two fingers

1, n2 + 1, 2, n

2 + 2, 3, n2 + 3, . . .

Need three fingers

1, n3 + 1, 2n

3 + 1, 2, n3 + 2, . . .

Support many fingers: Unified Bound [Iac01]

Cost of a query to y :

minx

(lg tx + lg |x − y |)

J. Derryberry Adaptive Binary Search Trees 26 / 45

Page 126: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Relationship of Unified Bound to Dynamic Optimality

Generalizes working set and dynamic finger bounds

Iacono achived the bound in the pointer model

Not sufficient for optimality:

1, n1/2 + 1, 2n1/2 + 1, 3n1/2 + 1, . . . , (n1/2 − 1)n1/2 + 1,

2, n1/2 + 2, 2n1/2 + 2, 3n1/2 + 2, . . . , (n1/2 − 1)n1/2 + 2,

3, n1/2 + 3, 2n1/2 + 3, 3n1/2 + 3, . . . , (n1/2 − 1)n1/2 + 3,

...

n1/2, n1/2 + n1/2, 2n1/2 + n1/2, 3n1/2 + n1/2, . . . , n.

Necessary for optimality? Open until this work.

J. Derryberry Adaptive Binary Search Trees 27 / 45

Page 127: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Relationship of Unified Bound to Dynamic Optimality

Generalizes working set and dynamic finger bounds

Iacono achived the bound in the pointer model

Not sufficient for optimality:

1, n1/2 + 1, 2n1/2 + 1, 3n1/2 + 1, . . . , (n1/2 − 1)n1/2 + 1,

2, n1/2 + 2, 2n1/2 + 2, 3n1/2 + 2, . . . , (n1/2 − 1)n1/2 + 2,

3, n1/2 + 3, 2n1/2 + 3, 3n1/2 + 3, . . . , (n1/2 − 1)n1/2 + 3,

...

n1/2, n1/2 + n1/2, 2n1/2 + n1/2, 3n1/2 + n1/2, . . . , n.

Necessary for optimality? Open until this work.

J. Derryberry Adaptive Binary Search Trees 27 / 45

Page 128: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Relationship of Unified Bound to Dynamic Optimality

Generalizes working set and dynamic finger bounds

Iacono achived the bound in the pointer model

Not sufficient for optimality:

1, n1/2 + 1, 2n1/2 + 1, 3n1/2 + 1, . . . , (n1/2 − 1)n1/2 + 1,

2, n1/2 + 2, 2n1/2 + 2, 3n1/2 + 2, . . . , (n1/2 − 1)n1/2 + 2,

3, n1/2 + 3, 2n1/2 + 3, 3n1/2 + 3, . . . , (n1/2 − 1)n1/2 + 3,

...

n1/2, n1/2 + n1/2, 2n1/2 + n1/2, 3n1/2 + n1/2, . . . , n.

Necessary for optimality? Open until this work.

J. Derryberry Adaptive Binary Search Trees 27 / 45

Page 129: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Relationship of Unified Bound to Dynamic Optimality

Generalizes working set and dynamic finger bounds

Iacono achived the bound in the pointer model

Not sufficient for optimality:

1, n1/2 + 1, 2n1/2 + 1, 3n1/2 + 1, . . . , (n1/2 − 1)n1/2 + 1,

2, n1/2 + 2, 2n1/2 + 2, 3n1/2 + 2, . . . , (n1/2 − 1)n1/2 + 2,

3, n1/2 + 3, 2n1/2 + 3, 3n1/2 + 3, . . . , (n1/2 − 1)n1/2 + 3,

...

n1/2, n1/2 + n1/2, 2n1/2 + n1/2, 3n1/2 + n1/2, . . . , n.

Necessary for optimality? Open until this work.

J. Derryberry Adaptive Binary Search Trees 27 / 45

Page 130: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Should Splay Trees Satisfy the Unified Bound?

J. Derryberry Adaptive Binary Search Trees 28 / 45

Page 131: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Should Splay Trees Satisfy the Unified Bound?

J. Derryberry Adaptive Binary Search Trees 28 / 45

Page 132: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Is This Hard to Prove?

Unified Bound subsumes dynamic finger bound

Proof of dynamic finger bound is 80 pages! [CMSS00, Col00]

Also, Unified Bound subsumes the deque bound

Not proven for splay trees (best is α∗(n) [Pet08])

J. Derryberry Adaptive Binary Search Trees 29 / 45

Page 133: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Is This Hard to Prove?

Unified Bound subsumes dynamic finger bound

Proof of dynamic finger bound is 80 pages! [CMSS00, Col00]

Also, Unified Bound subsumes the deque bound

Not proven for splay trees (best is α∗(n) [Pet08])

J. Derryberry Adaptive Binary Search Trees 29 / 45

Page 134: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Is This Hard to Prove?

Unified Bound subsumes dynamic finger bound

Proof of dynamic finger bound is 80 pages! [CMSS00, Col00]

Also, Unified Bound subsumes the deque bound

Not proven for splay trees (best is α∗(n) [Pet08])

J. Derryberry Adaptive Binary Search Trees 29 / 45

Page 135: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Why Is This Hard to Prove?

Unified Bound subsumes dynamic finger bound

Proof of dynamic finger bound is 80 pages! [CMSS00, Col00]

Also, Unified Bound subsumes the deque bound

Not proven for splay trees (best is α∗(n) [Pet08])

J. Derryberry Adaptive Binary Search Trees 29 / 45

Page 136: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Skip-Splay: Adding a Small Amount of Structure

T1 T2 T√n

√n elements

T ′1 T ′

2 T ′n

14

n1/4 elements

J. Derryberry Adaptive Binary Search Trees 30 / 45

Page 137: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Skip-Splay: Adding a Small Amount of Structure

J. Derryberry Adaptive Binary Search Trees 30 / 45

Page 138: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Skip-Splay: Adding a Small Amount of Structure

J. Derryberry Adaptive Binary Search Trees 30 / 45

Page 139: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Simple BSTs Versus Simple Proofs

Pro

ofle

ngt

h

Splay

Splay requires 80-page proof for dynamic finger

Skip-splay requires 8-page proof for Unified Bound plus lg lg n

Cache-splay requires 4-page proof for Unified Bound

J. Derryberry Adaptive Binary Search Trees 31 / 45

Page 140: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Simple BSTs Versus Simple Proofs

Pro

ofle

ngt

h

Splay Skip-splay

Splay requires 80-page proof for dynamic finger

Skip-splay requires 8-page proof for Unified Bound plus lg lg n

Cache-splay requires 4-page proof for Unified Bound

J. Derryberry Adaptive Binary Search Trees 31 / 45

Page 141: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Simple BSTs Versus Simple Proofs

Pro

ofle

ngt

h

Splay Skip-splay Cache-splay

Splay requires 80-page proof for dynamic finger

Skip-splay requires 8-page proof for Unified Bound plus lg lg n

Cache-splay requires 4-page proof for Unified Bound

J. Derryberry Adaptive Binary Search Trees 31 / 45

Page 142: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Outline

1 Introduction

2 Lower Bounds and Competitiveness

3 The Unified Bound and Splay Trees

4 Cache-Splay Trees

5 Conclusion

J. Derryberry Adaptive Binary Search Trees 32 / 45

Page 143: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache-Splay Hierarchy of Keys

Level-1 block contains b1 = 4 keys

Level-2 block contains b1 level-1 blocks (16 keys)

Level-i block contains bi−1 level-(i − 1) blocks (b2i−1 keys)

Level-lg lg n block contains all keys

J. Derryberry Adaptive Binary Search Trees 33 / 45

Page 144: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache-Splay Hierarchy of Keys

Level-1 block contains b1 = 4 keys

Level-2 block contains b1 level-1 blocks (16 keys)

Level-i block contains bi−1 level-(i − 1) blocks (b2i−1 keys)

Level-lg lg n block contains all keys

J. Derryberry Adaptive Binary Search Trees 33 / 45

Page 145: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache-Splay Hierarchy of Keys

Level-1 block contains b1 = 4 keys

Level-2 block contains b1 level-1 blocks (16 keys)

Level-i block contains bi−1 level-(i − 1) blocks (b2i−1 keys)

Level-lg lg n block contains all keys

J. Derryberry Adaptive Binary Search Trees 33 / 45

Page 146: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache-Splay Hierarchy of Keys

Level-1 block contains b1 = 4 keys

Level-2 block contains b1 level-1 blocks (16 keys)

Level-i block contains bi−1 level-(i − 1) blocks (b2i−1 keys)

Level-lg lg n block contains all keys

J. Derryberry Adaptive Binary Search Trees 33 / 45

Page 147: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View and the Tree View

level 1 blocks

level 2 blocks

level 3 blocks

level 4 blocks

level 1 of T

level 2 of T

level 3 of T

level 4 of T

J. Derryberry Adaptive Binary Search Trees 34 / 45

Page 148: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View of a Query

x

Cache view of a query to x

Cache loop, iteration 1

Cache loop, iteration 2

Eject loop, iteration 1

Eject loop, iteration 2

Important Fact

If t keys have been queriedsince x , then the size of x ’scurrent block size is tO(1).

J. Derryberry Adaptive Binary Search Trees 35 / 45

Page 149: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View of a Query

x

Cache view of a query to x

Cache loop, iteration 1

Cache loop, iteration 2

Eject loop, iteration 1

Eject loop, iteration 2

Important Fact

If t keys have been queriedsince x , then the size of x ’scurrent block size is tO(1).

J. Derryberry Adaptive Binary Search Trees 35 / 45

Page 150: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View of a Query

x

Cache view of a query to x

Cache loop, iteration 1

Cache loop, iteration 2

Eject loop, iteration 1

Eject loop, iteration 2

Important Fact

If t keys have been queriedsince x , then the size of x ’scurrent block size is tO(1).

J. Derryberry Adaptive Binary Search Trees 35 / 45

Page 151: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View of a Query

x

Cache view of a query to x

Cache loop, iteration 1

Cache loop, iteration 2

Eject loop, iteration 1

Eject loop, iteration 2

Important Fact

If t keys have been queriedsince x , then the size of x ’scurrent block size is tO(1).

J. Derryberry Adaptive Binary Search Trees 35 / 45

Page 152: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View of a Query

x

Cache view of a query to x

Cache loop, iteration 1

Cache loop, iteration 2

Eject loop, iteration 1

Eject loop, iteration 2

Important Fact

If t keys have been queriedsince x , then the size of x ’scurrent block size is tO(1).

J. Derryberry Adaptive Binary Search Trees 35 / 45

Page 153: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View of a Query

x

Cache view of a query to x

Cache loop, iteration 1

Cache loop, iteration 2

Eject loop, iteration 1

Eject loop, iteration 2

Important Fact

If t keys have been queriedsince x , then the size of x ’scurrent block size is tO(1).

J. Derryberry Adaptive Binary Search Trees 35 / 45

Page 154: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cache View of a Query

x

Cache view of a query to x

Cache loop, iteration 1

Cache loop, iteration 2

Eject loop, iteration 1

Eject loop, iteration 2

Important Fact

If t keys have been queriedsince x , then the size of x ’scurrent block size is tO(1).

J. Derryberry Adaptive Binary Search Trees 35 / 45

Page 155: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

v z

w x y

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 156: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

w x y

v z

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 157: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x y

v zw

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 158: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x y

v zw

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 159: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

v zw

y

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 160: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

v zw

y

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 161: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

wy

v

z

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 162: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

wy

v

z

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 163: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

wy

vz

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 164: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

wy

vz

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 165: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

wy

vz

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 166: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

x

wy

vz

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 167: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

w

x

y

vz

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 168: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Cache Loop

vw y

zx

One cache loop iteration

splay(w)

splay(y)

splay(v)

splay(z)

incRoot(leftChild(w))

incRoot(rightChild(y))

decRoot(w)

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 36 / 45

Page 169: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

vw y

z

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 170: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

vw y

z

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 171: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

yz

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 172: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

yz

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 173: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 174: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 175: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 176: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 177: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 178: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 179: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 180: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 181: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v

y

z

w

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 182: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

BST Implementation of the Eject Loop

v z

w y

One eject loop iteration

splay(v)

splay(z)

splay(w)

splay(y)

incRoot(w)

decRoot(leftChild(w))

decRoot(rightChild(y))

Each operation costs O(lg(block size for lower level))

J. Derryberry Adaptive Binary Search Trees 37 / 45

Page 183: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

x

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 184: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 185: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

12 lg B

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 186: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

12 lg B

lg B4

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 187: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

12 lg B

lg B4

lg B4

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 188: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

12 lg B

lg B4

lg B4

12 lg B

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 189: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

12 lg B

lg B4

lg B4

12 lg B

lg B

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 190: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

12 lg B

lg B4

lg B4

12 lg B

lg B

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 191: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

The Cost of a Query

size of this block is B

lg B

12 lg B

lg B4

lg B4

12 lg B

lg B

lg B + 12 lg B + 1

4 lg B + 14 lg B + 1

2 lg B + lg B = O(lg B)

Lemma (Query Cost)

A query to level i costs O(lg bi ) = O(lg(time since queried)).

J. Derryberry Adaptive Binary Search Trees 38 / 45

Page 192: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 193: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 194: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 195: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 196: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 197: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 198: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 199: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

x y

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 200: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

x y

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 201: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Adding an Offset to the Blocks of the Cache

x y

Lemma (Offset Query Cost)

A query to level i of the “virtual cache” costs amortized O(lg bi ),which is O(lg(time since virtual block queried)).

Proof.

Potential of lg bj for each level-j block that is overlapped by alevel-j virtual block that is at a higher level in the virtual cache.

J. Derryberry Adaptive Binary Search Trees 39 / 45

Page 202: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi ,

then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 203: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi ,

then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 204: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi ,

then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 205: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi ,

then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 206: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi ,

then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 207: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi ,

then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 208: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi ,

then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 209: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 210: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 211: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 212: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 213: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 214: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 215: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 216: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi ,

then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 217: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Randomizing the Offset

x y

Lemma (Random Offset)

For random offset, are x and y in different level-i virtual blocks?

If |x − y | ≥ bi , then probability = 1.

If |x − y | < bi , then probability = |x−y |bi

.

J. Derryberry Adaptive Binary Search Trees 40 / 45

Page 218: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Cache-Splay Satisfies the Unified Bound

x

y

Proof.

Suppose we query x , then tx other keys, then y .

Then x ’s level in virtual cache has block size bi = tO(1)x .

If |x − y | < bi , then cost is expected O(lg tx).

If |x − y | ≥ bi , then cost is expected O(lg |x − y |).Cost is expected O(

minx(

lg tx + lg |x − y |

)

).

J. Derryberry Adaptive Binary Search Trees 41 / 45

Page 219: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Cache-Splay Satisfies the Unified Bound

x

y

Proof.

Suppose we query x , then tx other keys, then y .

Then x ’s level in virtual cache has block size bi = tO(1)x .

If |x − y | < bi , then cost is expected O(lg tx).

If |x − y | ≥ bi , then cost is expected O(lg |x − y |).Cost is expected O(

minx(

lg tx + lg |x − y |

)

).

J. Derryberry Adaptive Binary Search Trees 41 / 45

Page 220: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Cache-Splay Satisfies the Unified Bound

x

y

O(lg t)

Proof.

Suppose we query x , then tx other keys, then y .

Then x ’s level in virtual cache has block size bi = tO(1)x .

If |x − y | < bi , then cost is expected O(lg tx).

If |x − y | ≥ bi , then cost is expected O(lg |x − y |).Cost is expected O(

minx(

lg tx + lg |x − y |

)

).

J. Derryberry Adaptive Binary Search Trees 41 / 45

Page 221: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Cache-Splay Satisfies the Unified Bound

x

y

O(lg |x− y|)

Proof.

Suppose we query x , then tx other keys, then y .

Then x ’s level in virtual cache has block size bi = tO(1)x .

If |x − y | < bi , then cost is expected O(lg tx).

If |x − y | ≥ bi , then cost is expected O(lg |x − y |).Cost is expected O(

minx(

lg tx + lg |x − y |

)

).

J. Derryberry Adaptive Binary Search Trees 41 / 45

Page 222: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Cache-Splay Satisfies the Unified Bound

x

y

O(lg |x− y|)

Proof.

Suppose we query x , then tx other keys, then y .

Then x ’s level in virtual cache has block size bi = tO(1)x .

If |x − y | < bi , then cost is expected O(lg tx).

If |x − y | ≥ bi , then cost is expected O(lg |x − y |).Cost is expected O(

minx(

lg tx + lg |x − y |

)

).

J. Derryberry Adaptive Binary Search Trees 41 / 45

Page 223: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Cache-Splay Satisfies the Unified Bound

x

y

O(lg |x− y|)

Proof.

Suppose we query x , then tx other keys, then y .

Then x ’s level in virtual cache has block size bi = tO(1)x .

If |x − y | < bi , then cost is expected O(lg tx).

If |x − y | ≥ bi , then cost is expected O(lg |x − y |).Cost is expected O( minx( lg tx + lg |x − y |)).

J. Derryberry Adaptive Binary Search Trees 41 / 45

Page 224: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Cache-Splay Satisfies the Unified Bound

x

y

O(lg |x− y|)

Proof.

Suppose we query x , then tx other keys, then y .

Then x ’s level in virtual cache has block size bi = tO(1)x .

If |x − y | < bi , then cost is expected O(lg tx).

If |x − y | ≥ bi , then cost is expected O(lg |x − y |).Cost is ////////////expected O( minx( lg tx + lg |x − y |)).

J. Derryberry Adaptive Binary Search Trees 41 / 45

Page 225: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Implications

Splay trees must satisfy the Unified Bound to beO(1)-competitive

Search for even more general formulaic bounds?

J. Derryberry Adaptive Binary Search Trees 42 / 45

Page 226: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Implications

Splay trees must satisfy the Unified Bound to beO(1)-competitive

Search for even more general formulaic bounds?

J. Derryberry Adaptive Binary Search Trees 42 / 45

Page 227: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Outline

1 Introduction

2 Lower Bounds and Competitiveness

3 The Unified Bound and Splay Trees

4 Cache-Splay Trees

5 Conclusion

J. Derryberry Adaptive Binary Search Trees 43 / 45

Page 228: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 229: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 230: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 231: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 232: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 233: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 234: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 235: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 236: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 237: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 238: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 239: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Contributions

Lower boundsDynamic interleave bound [WDS06]MIBS bound [DSW05]: generalization of Wilber’s bounds thatis computable in polynomial time...also shows the strength of the BST model because it is alower bound for partial-sums (in thesis)

BST upper boundsMulti-splay [WDS06, DSW09]: first O(lg lg n)-competitiveBST to achieve other properties of an optimal BSTSkip-splay [DS09]: simple BST similar to splaying withinadditive O(lg lg n) of the Unified BoundCache-splay (in thesis): more complicated splay-basedalgorithm that achieves the Unified Bound (open since [Iac01])

Other resultsHigh-dimensional finger search [DSSW08]: first finger searchdata structure for k-d approximate nearest-neighborExperiments with bipartite parametric max-flow [BDG+07]Easy instances of combinatorial auctions [CDS04]

J. Derryberry Adaptive Binary Search Trees 44 / 45

Page 240: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 241: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 242: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 243: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 244: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 245: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 246: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 247: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 248: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 249: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 250: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 251: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 252: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 253: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Future Work

Better bounds for splaying: Unified Bound,o(lg n)-competitiveness, digit-reversal permutation,generalization of the Unified Bound, working set for splayingwithout rotate-to-root, new toolbox for analyzing splay treeswith splaying over induced subtrees.

Better bounds for any BST: use better lower bounds to showo(lg lg n)-competitiveness for some BST, show that someformulaic bound that implies BST competitiveness to within ao(lg n) factor

Further justification for the BST model itself: show MIBS is alower bound for partial-sums in a more general model, reduceBST model to partial-sums problem.

Thanks!

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 254: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

[BCK02] Avrim Blum, Shuchi Chawla, and Adam Kalai. Static optimalityand dynamic search-optimality in lists and trees. In Proceedings ofthe 13th ACM-SIAM Symposium on Discrete Algorithms (SODA2002), pages 1–8, Philadelphia, PA, USA, 2002. Society forIndustrial and Applied Mathematics.

[BDDF09] Prosenjit Bose, Karim Douıeb, Vida Dujmovic, and Rolf Fagerberg.An o(log log n)-competitive binary search tree with optimalworst-case access times. Obtained on December 7, 2009 from:http://cgm.cs.mcgill.ca/ vida/pubs/papers/ZipperTrees.pdf, 2009.

[BDG+07] Maxim Babenko, Jonathan Derryberry, Andrew Goldberg, RobertTarjan, and Yunhong Zhou. Experimental evaluation of parametricmax-flow algorithms. In Proceedings of the 6th Workshop onExperimental Algorithms (WEA 2007), pages 256–269, 2007.

[CDS04] Vincent Conitzer, Jonathan Derryberry, and Tuomas Sandholm.Combinatorial auctions with structured item graphs. In Proceedingsof the 19th National Conference on Artificial Intelligence (AAAI2004), pages 212–218. AAAI Press / The MIT Press, 2004.

[CMSS00] Richard Cole, Bud Mishra, Jeanette Schmidt, and Alan Siegel. Onthe dynamic finger conjecture for splay trees. part I: Splay sortinglog n-block sequences. SIAM Journal on Computing, 30(1):1–43,2000.

[Col00] Richard Cole. On the dynamic finger conjecture for splay trees. partII: The proof. SIAM Journal on Computing, 30(1):44–85, 2000.

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 255: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

[DHI+09] Erik D. Demaine, Dion Harmon, John Iacono, Daniel Kane, andMihai Patrascu. The geometry of binary search trees. InProceedings of the 20th ACM-SIAM Symposium on DiscreteAlgorithms (SODA 2009), pages 496–505, 2009.

[DHIP04] Erik D. Demaine, Dion Harmon, John Iacono, and Mihai Patrascu.Dynamic optimality – almost. In Proceedings of the 45th IEEESymposium on Foundations of Computer Science (FOCS 2004),pages 484–490, 2004.

[DS09] Jonathan C. Derryberry and Daniel D. Sleator. Skip-splay: Towardachieving the unified bound in the bst model. In Proceedings of the11th International Symposium on Algorithms and Data Structures(WADS 2009), pages 194–205, Berlin, Heidelberg, 2009.Springer-Verlag.

[DSSW08] Jonathan Derryberry, Don Sheehy, Daniel D. Sleator, and MaverickWoo. Achieving spatial adaptivity while finding approximate nearestneighbors. In Proceedings of the 20th Canadian Conference onComputational Geometry (CCCG 2008), pages 163–166, 2008.

[DSW05] Jonathan Derryberry, Daniel Dominic Sleator, and Chengwen ChrisWang. A lower bound framework for binary search trees withrotations. Technical Report CMU-CS-05-187, Carnegie MellonUniversity, 2005.

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 256: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

[DSW09] Jonathan Derryberry, Daniel Sleator, and Chengwen Chris Wang.Properties of multi-splay trees. Technical Report CMU-CS-09-171,Carnegie Mellon University, 2009.

[Geo08] George F. Georgakopoulos. Chain-splay trees, or, how to achieveand prove log log n-competitiveness by splaying. InformationProcessing Letters, 106(1):37–43, 2008.

[Iac01] John Iacono. Alternatives to splay trees with o(log n) worst-caseaccess times. In Proceedings of the 12th ACM-SIAM Symposiumon Discrete Algorithms (SODA 2001), pages 516–522, Philadelphia,PA, USA, 2001. Society for Industrial and Applied Mathematics.

[PD04] Mihai Patrascu and Erik D. Demaine. Tight bounds for thepartial-sums problem. In In Proceedings of the 15th ACM-SIAMSymposium on Discrete Algorithms (SODA 2004), pages 20–29,Philadelphia, PA, USA, 2004. Society for Industrial and AppliedMathematics.

[Pet08] Seth Pettie. Splay trees, davenport-schinzel sequences, and thedeque conjecture. In Proceedings of the 19th ACM-SIAMSymposium on Discrete Algorithms (SODA 2008), pages1115–1124, 2008.

[WDS06] Chengwen Chris Wang, Jonathan Derryberry, and Daniel DominicSleator. O(log log n)-competitive dynamic binary search trees. InProceedings of the 17th ACM-SIAM Symposium on Discrete

J. Derryberry Adaptive Binary Search Trees 45 / 45

Page 257: Thesis Defense: Adaptive Binary Search Trees./jonderry/slides.pdf · Thesis Defense: Adaptive Binary Search Trees Jonathan C. Derryberry Department of Computer Science Carnegie Mellon

Algorithms (SODA 2006), pages 374–383, New York, NY, USA,2006. ACM.

[Wil89] Robert Wilber. Lower bounds for accessing binary search trees withrotations. SIAM Journal on Computing, 18(1):56–67, 1989.

J. Derryberry Adaptive Binary Search Trees 45 / 45