Convex Hull Algorithms for Dynamic Data Kanat Tangwongsan Joint work with Guy Blelloch and Umut Acar (TTI-C)

Slides:



Advertisements
Similar presentations
Dynamic Graph Algorithms - I
Advertisements

Tight Bounds for Dynamic Convex Hull Queries (Again) Erik DemaineMihai Pătraşcu.
Dynamic Matchings in Convex Bipartite Graphs
CS16: Introduction to Data Structures & Algorithms
Advanced Data Structures
C o m p u t i n g C O N V E X H U L L S by Kok Lim Low 10 Nov 1998 COMP Presentation.
© The McGraw-Hill Companies, Inc., Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
CS4413 Divide-and-Conquer
Theory of Algorithms: Divide and Conquer
1 Convex Hull in Two Dimensions Jyun-Ming Chen Refs: deBerg et al. (Chap. 1) O’Rourke (Chap. 3)
1 Today’s Material Computational Geometry Problems –Closest Pair Problem –Convex Hull Jarvis’s March, Graham’s scan –Farthest Point Problem.
Dynamic Algorithms for Planar Point Location Kanat Tangwongsan in collaboration with Guy Blelloch, Umut Acar, Srinath Sridhar. Aladdin Center - Summer.
 1 Sorting. For computer, sorting is the process of ordering data. [ ]  [ ] [ “Tom”, “Michael”, “Betty” ]  [ “Betty”, “Michael”,
Stabbing the Sky: Efficient Skyline Computation over Sliding Windows COMP9314 Lecture Notes.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Self-Adjusting Computation Umut Acar Carnegie Mellon University Joint work with Guy Blelloch, Robert Harper, Srinath Sridhar, Jorge Vittes, Maverick Woo.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Lecture 3 Chapter 3: 2D Convex Hulls Friday,
Lower and Upper Bounds on Obtaining History Independence Niv Buchbinder and Erez Petrank Technion, Israel.
Computational Geometry Overview from Cormen, et al. Chapter 33
Dynamic Point Location via Self-Adjusting Computation Kanat Tangwongsan Joint work with Guy Blelloch, Umut Acar, Srinath Sridhar, Virginia Vassilevska.
Rank-Pairing Heaps Bernhard Haeupler, Siddhartha Sen, and Robert Tarjan, ESA
Self-Collision Detection and Prevention for Humanoid Robots James Kuffner et al. presented by Jinsung Kwon.
Nick Harvey & Kevin Zatloukal
Teaching Geometric Algorithms to Gracefully “Walk” and “Jump” Kanat Tangwongsan ALADDIN 2005 Joint work with Umut Acar, Guy Blelloch, and Jorge Vittes.
Hidden-Line Elimination Computational Geometry, WS 2006/07 Lecture 14 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Kinetic Data Structures and their Application in Collision Detection Sean Curtis COMP 768 Oct. 16, 2007.
The Complexity of Algorithms and the Lower Bounds of Problems
Heaps and heapsort COMP171 Fall 2005 Part 2. Sorting III / Slide 2 Heap: array implementation Is it a good idea to store arbitrary.
Self-Adjusting Computation Robert Harper Carnegie Mellon University (With Umut Acar and Guy Blelloch)
1 A Handy Data Structure Space-Efficient Finger Search on Degree-Balanced Search Trees Guy Blelloch, Bruce Maggs, Maverick Woo.
CBLOCK: An Automatic Blocking Mechanism for Large-Scale Deduplication Tasks Ashwin Machanavajjhala Duke University with Anish Das Sarma, Ankur Jain, Philip.
Rubao Ji Advisor: Dr. Robert W. Robinson Committee: Dr. E. Rodney Canfield Dr. Daniel M. Everett   Dynamic connectivity algorithms for Feynman.
A brief and sketchy intro to 3D Convex Hulls Rodrigo Silveira GEOC 2010/11 - Q2.
New Balanced Search Trees Siddhartha Sen Princeton University Joint work with Bernhard Haeupler and Robert E. Tarjan.
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)
C o m p u t i n g C O N V E X H U L L S. Presentation Outline 2D Convex Hulls –Definitions and Properties –Approaches: Brute Force Gift Wrapping QuickHull.
CSC 211 Data Structures Lecture 13
1 Today’s Material Iterative Sorting Algorithms –Sorting - Definitions –Bubble Sort –Selection Sort –Insertion Sort.
CS 61B Data Structures and Programming Methodology July 21, 2008 David Sun.
New Mexico Computer Science For All Algorithm Analysis Maureen Psaila-Dombrowski.
Kinetic data structures. Goal Maintain a configuration of moving objects Each object has a posted flight plan (this is essentially a well behaved function.
1 / 41 Convex Hulls in 3-space Jason C. Yang. 2 / 41 Problem Statement Given P: set of n points in 3-space Return: –Convex hull of P: CH (P) –Smallest.
Four different data structures, each one best in a different setting. Simple Heap Balanced Heap Fibonacci Heap Incremental Heap Our results.
Streaming Big Data with Self-Adjusting Computation Umut A. Acar, Yan Chen DDFP January 2014 SNU IDB Lab. Namyoon Kim.
FALL 2005CENG 213 Data Structures1 Priority Queues (Heaps) Reference: Chapter 7.
Lecture 9COMPSCI.220.FS.T Lower Bound for Sorting Complexity Each algorithm that sorts by comparing only pairs of elements must use at least 
Computational Geometry 2D Convex Hulls
Estimating PageRank on Graph Streams Atish Das Sarma (Georgia Tech) Sreenivas Gollapudi, Rina Panigrahy (Microsoft Research)
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.
Kinetic Heaps K, Tarjan, and Tsioutsiouliklis. Broadcast Scheduling Parametric and Kinetic Heaps Broadcast Scheduling Using a Kinetic Heap The Computational.
Lecture 15 Computational Geometry Geometry sweeping Geometric preliminaries Some basics geometry algorithms.
IntroductionReduction to Arrangements of Hyperplanes We keep the canonical triangulation (bottom, left corner triangulation) of each convex cell of the.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last time Several convex hull algorithms. Lower bound of O(n log n) –O(n log h) for output sensitive.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Convex hulls in 3D Maciej Kot. Finding convex hull Given a set of points, find a convex hull that contains all of them and is minimal.
What is the runtime of the best possible (comparison based) sorting algorithm? 1.O(log n) 2.O(n) 3.O(n log n) 4.O(n 2 ) 5.None of the above.
Abolfazl Asudeh Azade Nazi Nan Zhang Gautam DaS
Priority Queues Chuan-Ming Liu
Searching in Trees Gerth Stølting Brodal Aarhus University
CSCE 411 Design and Analysis of Algorithms
August 20, 2002 (joint work with Umut Acar, and Guy Blelloch)
CSCE 411 Design and Analysis of Algorithms
Kinetic Collision Detection for Convex Fat Objects
June 12, 2003 (joint work with Umut Acar, and Guy Blelloch)
Dynamic Graph Algorithms
Approximating Points by A Piecewise Linear Function: II
Presentation transcript:

Convex Hull Algorithms for Dynamic Data Kanat Tangwongsan Joint work with Guy Blelloch and Umut Acar (TTI-C)

The Convex Hull Problem Extensively studied: Graham Scan, Gift-Wrapping, Incremental Hull, Overmars, Quick-Hull, Ultimate Hull. Matched Lower-bound already! Input: S Output: CH(S)

Convex Hull ++ : Dynamic Case Maintain the Hull under insertion and deletion. insert delete

Convex Hull # : Kinetic Case each point has velocity ( v ) maintain the hull (efficiently)

Known Solutions and Issues Dynamic Convex Hull Overmars, Brodal, Mulmuley, Schwarzkopf, Preparata, Hershberger and Suri, Chan complicated!! hard to compose algorithms together Kinetic Convex Hull Guibas, de Berg, … None existed for 3 or higher dimensions

Self-Adjusting Computation main f g h k m f g h k m Memory Some parts of the input change Idea: Record who reads what and when

SAC vs. Dynamic Convex Hull Automatic “dynamization” Allow composition of programs Down-side: not always efficient! Stability (=input-sensitivity) [Acar et al. SODA’04] Our Job: Design a stable static convex hull algorithm Focus: 3-D case.

Our Approach Self-Adjusting Tree Suitable Convex Hull in 3D + Dynamic Convex Hull in 3D k i j Face Store (i,j) as key and k as data Give orientation to edges

Self-Adjusting Binary Tree Time Initial Run: Re-execution:

Kinetic Convex Hull 1-D Case S(t) = {x 1 (t), x 2 (t), …, x n (t)}, where x i (t) = x i (0) + v i t Maintain min and max Observation: Value Time x1x1 x2x2 x3x3

Idea: Certificates Each comparison is associated with a certificate, where Self-Adjusting Computation account for changes in order of expiration times certificate = comparsion result + expiration time

Summary Focus: 3D {dynamic, kinetic} convex hull Dynamic Convex Hull Amortized expected O(log n) in certain models. Worst-case bound: O(n log n) More performance analysis to come Real-time bound: can it be better than O(n) ? Practical performance: implemented, being evaluated. Kinetic Convex Hull in progress!

Questions?

Thank you!!