1 The Online Labeling Problem Jan Bulánek (Institute of Math, Prague) Martin Babka (Charles University) Vladimír Čunát (Charles University) Michal Koucký.

Slides:



Advertisements
Similar presentations
Optimal Approximations of the Frequency Moments of Data Streams Piotr Indyk David Woodruff.
Advertisements

Xiaoming Sun Tsinghua University David Woodruff MIT
Why Simple Hash Functions Work : Exploiting the Entropy in a Data Stream Michael Mitzenmacher Salil Vadhan And improvements with Kai-Min Chung.
List Order Maintenance
Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.
Are lower bounds hard to prove? Michal Koucký Institute of Mathematics, Prague.
MATH 224 – Discrete Mathematics
Analysis of Algorithms CS 477/677 Linear Sorting Instructor: George Bebis ( Chapter 8 )
Sorting in Linear Time Comp 550, Spring Linear-time Sorting Depends on a key assumption: numbers to be sorted are integers in {0, 1, 2, …, k}. Input:
Sorting Comparison-based algorithm review –You should know most of the algorithms –We will concentrate on their analyses –Special emphasis: Heapsort Lower.
§7 Quicksort -- the fastest known sorting algorithm in practice 1. The Algorithm void Quicksort ( ElementType A[ ], int N ) { if ( N < 2 ) return; pivot.
Algorithms Recurrences. Definition – a recurrence is an equation or inequality that describes a function in terms of its value on smaller inputs Example.
Suffix Sorting & Related Algoritmics Martin Farach-Colton Rutgers University USA.
CSE332: Data Abstractions Lecture 12: Introduction to Sorting Tyler Robison Summer
The Value of Knowing a Demand Curve: Regret Bounds for Online Posted-Price Auctions Bobby Kleinberg and Tom Leighton.
Sorting Heapsort Quick review of basic sorting methods Lower bounds for comparison-based methods Non-comparison based sorting.
1 Staleness vs.Waiting time in Universal Discrete Broadcast Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex.
Cache-Oblivious B-Trees
Incremental topological ordering with Bernhard Haeupler, Sid Sen Two problems on digraphs: Cycle detection Topological ordering: a total order O such that.
CSE 326: Data Structures Lecture #3 Analysis of Recursive Algorithms Alon Halevy Fall Quarter 2000.
Comparison Based Dictionaries: Fault Tolerance versus I/O Efficiency Gerth Stølting Brodal Allan Grønlund Jørgensen Thomas Mølhave University of Aarhus.
CS 206 Introduction to Computer Science II 11 / 12 / 2008 Instructor: Michael Eckmann.
Tirgul 4 Order Statistics Heaps minimum/maximum Selection Overview
A General Approach to Online Network Optimization Problems Seffi Naor Computer Science Dept. Technion Haifa, Israel Joint work: Noga Alon, Yossi Azar,
Introduction to Algorithm design and analysis
Computer Algorithms Lecture 11 Sorting in Linear Time Ch. 8
1 Hash Tables  a hash table is an array of size Tsize  has index positions 0.. Tsize-1  two types of hash tables  open hash table  array element type.
Problems and MotivationsOur ResultsTechnical Contributions Membership: Maintain a set S in the universe U with |S| ≤ n. Given an x in U, answer whether.
Tight Bounds for Graph Problems in Insertion Streams Xiaoming Sun and David P. Woodruff Chinese Academy of Sciences and IBM Research-Almaden.
Lecture 2 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Trevor Brown – University of Toronto B-slack trees: Space efficient B-trees.
The LCA Problem Revisited
CS Winter 2010 Tree Sort. Useful Properties of Sorted Data Structures Skip Lists (as well as AVL Trees, and various other data structures we will.
Fall 2015 Lecture 4: Sorting in linear time
CSE 326: Data Structures Lecture #16 Hashing HUGE Data Sets (and two presents from the Database Fiancée) Steve Wolfman Winter Quarter 2000.
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
A sparse Table implementation of Priority Queue Presented by: Yaniv Nahum Written by:Alon Itai Alan G. Konheim Michael Rodeh.
CompSci 100E 30.1 Other N log N Sorts  Binary Tree Sort  Basic Recipe o Insert into binary search tree (BST) o Do Inorder Traversal  Complexity o Create:
Pseudorandom generators for group products Michal Koucký Institute of Mathematics, Prague Prajakta Nimbhorkar Pavel Pudlák IMSC, Chenai IM, Prague IMSC,
1 The Online Labeling Problem Jan Bulánek (Institute of Math, Prague) Martin Babka (Charles University) Vladimír Čunát (Charles University) Michal Koucký.
CSCE 411H Design and Analysis of Algorithms Set 10: Lower Bounds Prof. Evdokia Nikolova* Spring 2013 CSCE 411H, Spring 2013: Set 10 1 * Slides adapted.
1 CSC 421: Algorithm Design & Analysis Spring 2014 Complexity & lower bounds  brute force  decision trees  adversary arguments  problem reduction.
2IS80 Fundamentals of Informatics Fall 2015 Lecture 6: Sorting and Searching.
Towards a Scalable and Robust DHT Baruch Awerbuch Johns Hopkins University Christian Scheideler Technical University of Munich.
CS6045: Advanced Algorithms Sorting Algorithms. Heap Data Structure A heap (nearly complete binary tree) can be stored as an array A –Root of tree is.
CSE332: Data Abstractions Lecture 12: Introduction to Sorting Dan Grossman Spring 2010.
Lecture 2 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Review 1 Insertion Sort Insertion Sort Algorithm Time Complexity Best case Average case Worst case Examples.
Big O David Kauchak cs302 Spring Administrative Assignment 1: how’d it go? Assignment 2: out soon… Lab code.
Linear Sorting. Comparison based sorting Any sorting algorithm which is based on comparing the input elements has a lower bound of Proof, since there.
1 Resolving Collision Although collisions should be avoided as much as possible, they are inevitable Need a strategy for resolving collisions. We look.
Sorting & Lower Bounds Jeff Edmonds York University COSC 3101 Lecture 5.
19 March More on Sorting CSE 2011 Winter 2011.
Sorting and Searching Bubble Sort Linear Search Binary Search.
Lecture 5 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
How to Approximate a Set Without Knowing It’s Size In Advance? Rasmus Pagh Gil Segev Udi Wieder IT University of Copenhagen Stanford Microsoft Research.
Lecture 2 Algorithm Analysis
Sorting.
List Order Maintenance
Finding Frequent Items in Data Streams
CSE332: Data Abstractions Lecture 12: Introduction to Sorting
CPSC 411 Design and Analysis of Algorithms
CSCE 411 Design and Analysis of Algorithms
Selection in heaps and row-sorted matrices
CSCE 411 Design and Analysis of Algorithms
Dynamic and Online Algorithms for Set Cover
Presented By Gregory Giguashvili
Range Queries on Uncertain Data
CPSC 411 Design and Analysis of Algorithms
CS203 Lecture 15.
Presentation transcript:

1 The Online Labeling Problem Jan Bulánek (Institute of Math, Prague) Martin Babka (Charles University) Vladimír Čunát (Charles University) Michal Koucký (Institute of Math, Prague) Michael Saks (Rutgers University)

2 Sorted Arrays Basis of many algorithms Easy to work with Dynamization? Online Labeling

Storing elements in the array … 14 Stream of n elements Array of size Θ(n) Gaps in the array Muze pohnout co chce

4 Online labeling Input:  A stream of n numbers  An array of size m  For the size Θ(n) File maintenance problem Want:  maintain a sorted array of all already seen items  minimize the total number of item moves (cost) Naïve solution O(n) per insertion Rict ze diry mi sami o sobe nestaci

Applications Many applications, e.g.: [Bender, Demaine, Farach-Colton ’00] Cache-oblivous B-trees [Emek, Korman ’11] Distributed Controllers Lower bounds 5

6 Linear array algorithm [Itai, Konheim, Rodeh ’81] O(log 2 n) per insertion, amortized [Itai, Katriel ’07] Simpler algorithm Basic ideas Small gaps Spread items evenly Density threshold function

7 Algorithm for linear arrays – cont. How to find segment to rearrange Too dense Good densityRearrange items evenly

Super-polynomial array algorithm 8

Array size ( m ) Amortized insertion cost m=nO(log 3 n)[Z 93] m=Θ(n)O(log 2 n) [IKR 81] [W92, BCD+02]* m=n 1+o(1) [IKR 81] m=n 1+ℇ O(log n) m=n Ω(log n) [BKS 12] 9 Upper bounds Andersson lai TIGHT!!

10 Lower Bounds [Zhang ’93] m=O(n) Ω(log 2 n) per insertion, amortized Only smooth strategies [Dietz, Seiferas, Zhang ’94] m=n 1+Θ(1) Ω(log n) per insertion, amortized Proof contains a gap

11 Lower Bounds – cont. [B., Koucký, Saks STOC’12] All strategies Uses some ideas from [Zhang 93] m=nΩ(log 3 n) m=Θ(n)Ω(log 2 n)

Lower Bounds – proof technique Adversary Generates input stream Reacts on the state of the array Inserts to dense areas Only deterministic case 12

13 Lower Bounds – cont. [Babka, B., Čunát, Koucký, Saks ESA’12] All strategies Fills the gap in [DSZ ’04] and extends their result Tight bounds for the bucketing game m=n 1+Θ(1) m=n 1+Ω (1)

14 Lower Bounds – cont. [Babka, B., Čunát, Koucký, Saks 12, manuscript] All strategies Extends results of [BKS 12] m=n 1+o(1)

15 Lower Bounds – Sumary Array size ( m ) Insertion cost m=n+a(n) m=cn m=n∙f(n) f(n)∊o(n) m=n e(n) e(n)∊Ω(1)

Trivial for r<m Limited universe 16 m … 1234…r-1r U

Maybe easier for r small Limited universe – cont … 1234…r-1r U

Limited universe – cont. 18

Open problems Randomized algorithms? Limited universe m log n 19 The End!

Distributed controllers 20 $1

24 Algorithm for linear arrays – cont. How to find segment to rearrange Too dense Good densityRearrange items

25 Algorithm for linear arrays – cont. How to find segment to rearrange Too dense Good densityRearrange items

26 Algorithm for linear arrays – cont. How to find segment to rearrange Too dense Good density

27 Algorithm for linear arrays – cont. How to find segment to rearrange Too dense

28 Algorithm for linear arrays – cont. How to find segment to rearrange Too dense Good density

29 Upper bounds Array size ( m ) Amortized insertion cost m=nO(log 3 n)[AL 90] m=Θ(n)O(log 2 n) [IKR 81] [W92, BCD+02]* m=n 1+o(1) [IKR 81] m=n 1+Θ(1) O(log n) m=n Ω(log n) [BKS 12] TIGHT!! Andersson lai