Unified Access Bound 1 [M. B ă doiu, R. Cole, E.D. Demaine, J. Iacono, A unified access bound on comparison- based dynamic dictionaries, Theoretical Computer.

Slides:



Advertisements
Similar presentations
List Order Maintenance
Advertisements

CSE 4101/5101 Prof. Andy Mirzaian. Lists Move-to-Front Search Trees Binary Search Trees Multi-Way Search Trees B-trees Splay Trees Trees Red-Black.
Introduction to Computer Science 2 Lecture 7: Extended binary trees
Dynamic Graph Algorithms - I
D. D. Sleator and R. E. Tarjan | AT&T Bell Laboratories Journal of the ACM | Volume 32 | Issue 3 | Pages | 1985 Presented By: James A. Fowler,
22C:19 Discrete Structures Trees Spring 2014 Sukumar Ghosh.
Binary Search Tree AVL Trees and Splay Trees
On the Competitiveness of Self Organizing Linear Search J. Ian Munro (University of Waterloo) Competitiveness: How well does an on line algorithm do in.
EECS 4101/5101 Prof. Andy Mirzaian. Lists Move-to-Front Search Trees Binary Search Trees Multi-Way Search Trees B-trees Splay Trees Trees Red-Black.
Time O(log d) Exponential-search(13) Finger Search Searching in a sorted array time O(log n) Binary-search(13)
A Self-adjusting Data Structure for Multi-dimensional Point Sets Eunhui Park & David M. Mount University of Maryland Sep
© The McGraw-Hill Companies, Inc., Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
1 Self-Adjusting Data Structures. 2 Lists [D.D. Sleator, R.E. Tarjan, Amortized Efficiency of List Update Rules, Proc. 16 th Annual ACM Symposium on Theory.
EECS 311: Chapter 4 Notes Chris Riesbeck EECS Northwestern.
CS 171: Introduction to Computer Science II
CS Data Structures Chapter 10 Search Structures (Selected Topics)
Update Persistent Data Structures (Version Control) v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Ephemeral query v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Partial persistence.
Update 1 Persistent Data Structures (Version Control) v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Ephemeral query v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Partial persistence.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Rank-Balanced Trees Siddhartha Sen, Princeton University WADS 2009 Joint work with Bernhard Haeupler and Robert E. Tarjan 1.
Shuchi Chawla, Carnegie Mellon University Static Optimality and Dynamic Search Optimality in Lists and Trees Avrim Blum Shuchi Chawla Adam Kalai 1/6/2002.
Unit 11a 1 Unit 11: Data Structures & Complexity H We discuss in this unit Graphs and trees Binary search trees Hashing functions Recursive sorting: quicksort,
1 Splay trees (Sleator, Tarjan 1983). 2 Motivation Assume you know the frequencies p 1, p 2, …. What is the best static tree ? You can find it in O(nlog(n))
DART! Time Assigner By: Matt Ivers and Ray Kilway.
Binary search trees Definition Binary search trees and dynamic set operations Balanced binary search trees –Tree rotations –Red-black trees Move to front.
Bottom-Up Splay Trees–Analysis Actual and amortized complexity of join is O(1). Amortized complexity of search, insert, delete, and split is O(log n).
The Design and Analysis of Algorithms
0 Course Outline n Introduction and Algorithm Analysis (Ch. 2) n Hash Tables: dictionary data structure (Ch. 5) n Heaps: priority queue data structures.
Splay Trees and B-Trees
CSE 589 Part VIII Those who fall in love with practice without science are like a sailor who enters a ship without a helm or a compass, and who never can.
New Balanced Search Trees Siddhartha Sen Princeton University Joint work with Bernhard Haeupler and Robert E. Tarjan.
Chapter 6: Union-Find and Related Structures CS6310 ADVANCED DATA STRUCTURE SHADHA MUHI & HASNAA IMAD.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Review Midterm.
B-trees and kd-trees Piotr Indyk (slides partially by Lars Arge from Duke U)
Time O(log d) Exponential-search(13) Finger Search Searching in a sorted array time O(log n) Binary-search(13)
CS Data Structures Chapter 10 Search Structures.
Path Minima on Dynamic Weighted Trees Pooya Davoodi Aarhus University Aarhus University, November 17, 2010 Joint work with Gerth Stølting Brodal and S.
Binary SearchTrees [CLRS] – Chap 12. What is a binary tree ? A binary tree is a linked data structure in which each node is an object that contains following.
1 Splay trees (Sleator, Tarjan 1983). 2 Goal Support the same operations as previous search trees.
Balanced Search Trees Problem: Efficiency of BST is related to tree’s height.  search, insert and remove follow a path from root to desired location 
Data Structures Using C++ 2E Chapter 9 Searching and Hashing Algorithms.
Λίστα Εργασιών Data Structures for Tree Manipulation D. Harel and R.E. Tarjan. Fast Algorithms for finding nearest common ancestors. SIAM J. Computing,
Oct 26, 2001CSE 373, Autumn A Forest of Trees Binary search trees: simple. –good on average: O(log n) –bad in the worst case: O(n) AVL trees: more.
Four different data structures, each one best in a different setting. Simple Heap Balanced Heap Fibonacci Heap Incremental Heap Our results.
Splay Trees and the Interleave Bound Brendan Lucier March 15, 2005 Summary of “Dynamic Optimality -- Almost” by Demaine et. Al., 2004.
Lecture 9COMPSCI.220.FS.T Lower Bound for Sorting Complexity Each algorithm that sorts by comparing only pairs of elements must use at least 
Decision Trees DEFINITION: DECISION TREE A decision tree is a tree in which the internal nodes represent actions, the arcs represent outcomes of an action,
Self-Adjusting Data Structures
Binary search trees Definition
Different Tree Data Structures for Different Problems
Self-Adjusting Search trees
The Design and Analysis of Algorithms
List Order Maintenance
Persistent Data Structures (Version Control)
Courtsey & Copyright: DESIGN AND ANALYSIS OF ALGORITHMS Courtsey & Copyright:
Priority Queues Chuan-Ming Liu
Data Structures Review Session 2
Tree data structure.
Sorting Data are arranged according to their values.
Data Structures Lecture 4 AVL and WAVL Trees Haim Kaplan and Uri Zwick
Tree data structure.
(2,4) Trees /26/2018 3:48 PM (2,4) Trees (2,4) Trees
Lecture 9 Greedy Strategy
Sorting Data are arranged according to their values.
The algorithm of Garsia and Wachs
Splay trees (Sleator, Tarjan 1983)
Binary Trees: Motivation
(2,4) Trees /24/2019 7:30 PM (2,4) Trees (2,4) Trees
CS210- Lecture 20 July 19, 2005 Agenda Multiway Search Trees 2-4 Trees
Presentation transcript:

Unified Access Bound 1 [M. B ă doiu, R. Cole, E.D. Demaine, J. Iacono, A unified access bound on comparison- based dynamic dictionaries, Theoretical Computer Science, 382(2), 86-96, 2007]  Dictionary: Insert(x), Delete(x), Search(x)  Comparison model Solution 1: Balanced search tree Solution 2: Unordered linked list Search(2), Search(2), Search(2), Search(5), Search(5), Search(5) O(log n) O(n) move-to-front The paper initiated the study of competitivenes analysis of online algorithms for list ordering, search-trees, paging algorithms,... (move-to-front is 2-competitive) [D.D. Sleator, R.E. Tarjan, Amortized Efficiency of List Update Rules, Pro. 16 th Annual ACM Symposium on Theory of Computing, , 1984]

Access sequences - examples  X 1 = 1, 2, 3,..., n, 1, 2, 3,..., n, 1, 2, 3,...  X 2 = 1, n, 1, n, 1, n,...  X 3 = 1, n/2, 2, n/2+1, 3, n/2+2,..., n/2, n, 1,... 2

Access sequence X = (x 1, x 2,..., x m )  Static optimal O(log (1/p(x i )))  Sequential-access boundO(1)  Static finger boundO(log d i (f,x i ))  Dynamic finger boundO(log d i (x i, x i-1 ))  Working set boundO(log w i (x i ))  Unified boundO(min y  S i log(w i (y)+d i (x i, y))) 3 Sorted list Move-to-front list xixi xixi wi (xi)wi (xi) x i-1 f di(f,xi)di(f,xi)d i (x i,x i-1 ) Finger search tree

Splay trees (amortized)  Static optimal O(log (1/p(x i )))  Sequential-access boundO(1)  Static finger boundO(log d i (f,x i ))  Dynamic finger boundO(log d i (x i, x i-1 ))  Working set boundO(log w i (x i ))  Unified boundO(min y  S i w i (y)+d i (x i, y)) 4 1 [D.D. Sleator, R.E. Tarjan, Self-Adjusting Binary Search Trees, J. ACM 32(3), , 1985] 2 [R.E. Tarjan, Sequential access in play trees takes linear time. Combinatorica 5(4), , 1985] 3 [R. Cole, B. Mishra, J.P. Schmidt, A. Siegel, On the Dynamic Finger Conjecture for Splay Trees. Part I: Splay Sorting log n-Block Sequences. SIAM J. Computing, 30(1), 1-43, 2000] [R. Cole, On the Dynamic Finger Conjecture for Splay Trees. Part II: The Proof. SIAM J. Computing, 30(1), 44-85, 2000] Open

[T.C. Hu, A.C. Tucker, Optimal computer search trees and variable-length alphabetic codes, SIAM Journal on Applied Mathematics 21 (4), 514–532, 1971] [D.E. Knuth, Optimum binary search trees, Acta Informatica 1, 14–25, 1971] 5 Static optimality xixi ABCDEFGHIJ p(x i ) D A G B 0.07 C 0.02 F 0.11 E 0.03 H 0.10 I 0.01 J 0.04 Split  ½ weight both children  Depth i subtree weight  (½) i  Depth x i  log(1/p(x i ))  Static optimal Construction: Compute prefix sums + Exponential search  O(n)

Working-set structure 6 T1T1 T2T2 T3T3 T0T0 L3L3 L2L2 L1L1 L0L0  L = L 0 +L 1 + ∙∙∙ = move-to-front list  |L i |=2 2 i  T i = search tree over L i  Insert, Delete = O(log n), Search = O(log w j ) Search(T 0 ) + ∙∙∙ + Search(T j ) = log(2 2 0 ) + ∙∙∙ + log(2 2 i )  4∙log(2 2 i-1 )  4∙log w j wjwj [M. B ă doiu, R. Cole, E.D. Demaine, J. Iacono, A unified access bound on comparison- based dynamic dictionaries, Theoretical Computer Science, 382(2), 86-96, 2007]

( ) Unified structure 7 T1T1 T2T2 T3T3 T0T0 [M. B ă doiu, R. Cole, E.D. Demaine, J. Iacono, A unified access bound on comparison- based dynamic dictionaries, Theoretical Computer Science, 382(2), 86-96, 2007] Search trees of a subset of the elements Finger search tree over all elements predecessor successor F Lemma 7 w i (y)  2 2 k and x and y rank distance  2 2 k, then x within rank distance (k+4)2 2 k of some y’  T 0  ∙∙∙  T k