On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan.

Slides:



Advertisements
Similar presentations
Chapter 9 Greedy Technique. Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible - b feasible.
Advertisements

Every edge is in a red ellipse (the bags). The bags are connected in a tree. The bags an original vertex is part of are connected.
WSPD Applications.
Nearest Neighbor Search
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Depth-First Search1 Part-H2 Depth-First Search DB A C E.
Searching on Multi-Dimensional Data
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Breadth-First Search Seminar – Networking Algorithms CS and EE Dept. Lulea University of Technology 27 Jan Mohammad Reza Akhavan.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 CHAPTER 4 - PART 2 GRAPHS 1.
Advanced Topics in Algorithms and Data Structures 1 Rooting a tree For doing any tree computation, we need to know the parent p ( v ) for each node v.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Connected Components, Directed Graphs, Topological Sort COMP171.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
CSE 780 Algorithms Advanced Algorithms Graph Algorithms Representations BFS.
Seminar on Geometric Approximation Algorithms Speaker: Alon Horowitz.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Chapter 4 Graphs.
The Shortest Path Problem
Review of Graphs A graph is composed of edges E and vertices V that link the nodes together. A graph G is often denoted G=(V,E) where V is the set of vertices.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Distance Approximating Trees in Graphs
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Lecture 11 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
1 Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible b locally optimal.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Trees Dr. Yasir Ali. A graph is called a tree if, and only if, it is circuit-free and connected. A graph is called a forest if, and only if, it is circuit-free.
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Outline Standard 2-way minimum graph cut problem. Applications to problems in computer vision Classical algorithms from the theory literature A new algorithm.
Dijkstra animation. Dijksta’s Algorithm (Shortest Path Between 2 Nodes) 2 Phases:initialization;iteration Initialization: 1. Included:(Boolean) 2. Distance:(Weight)
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Power domination in block graphs Guangjun Xu Liying Kang Erfang Shan Min Zhao.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Graphs ORD SFO LAX DFW Graphs 1 Graphs Graphs
Algorithms for Finding Distance-Edge-Colorings of Graphs
Greedy Technique.
Graph Algorithms BFS, DFS, Dijkstra’s.
CSE 2331/5331 Topic 9: Basic Graph Alg.
Lecture 12 Graph Algorithms
Lecture 23 CSE 331 Oct 26, 2016.
Shortest Path Problems
Topological Sort (topological order)
CS120 Graphs.
More Graph Algorithms.
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Graphs & Graph Algorithms 2
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Graphs, Trees and Algorithms 1
Distance Approximating Trees in Graphs Brandstaedt & Chepoi & Dragan, ESA’97, J. of Algorithms ’99, European J. of Combinatorics 2000 A graph G=(V,E)
Lecture 22 CSE 331 Oct 23, 2017.
Lecture 23 CSE 331 Oct 25, 2017.
Lecture 24 CSE 331 Oct 29, 2012.
Introduction Wireless Ad-Hoc Network
Chapter 11 Graphs.
Lecture 22 CSE 331 Oct 24, 2016.
Shortest Path Problems
Algorithms and data structures
Subgraphs, Connected Components, Spanning Trees
CSCI2100 Data Structures Tutorial
Strongly Connected Components
CSE 417: Algorithms and Computational Complexity
Important Problem Types and Fundamental Data Structures
Chapter 9 Graph algorithms
Presentation transcript:

On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006On Quad Trees for Point Sets2 Quadtree NW NE SWSE o

Dagstuhl 2006On Quad Trees for Point Sets3 Picture vs. Point Set  Picture: Stop when monochromatic Leaves labeled by color 0 or 4 children  Point Set: Stop when 1 point Leaves labeled by coordinates of point 0 to 4 children  Picture: Stop when monochromatic Leaves labeled by color 0 or 4 children  Point Set: Stop when 1 point Leaves labeled by coordinates of point 0 to 4 children

Dagstuhl 2006On Quad Trees for Point Sets4 Compressed Quadtrees  Succinct representation for clustered point Sets  Replace each maximal path with degree 1 internal nodes by a single edge  n points --> 2n-1 node tree  Internal nodes labeled with their tile (size and position)  Succinct representation for clustered point Sets  Replace each maximal path with degree 1 internal nodes by a single edge  n points --> 2n-1 node tree  Internal nodes labeled with their tile (size and position)

Dagstuhl 2006On Quad Trees for Point Sets5 Spanners 1+  - spanner: Subgraph of a weighted graph with distances increasing by at most a factor of 1+ . 1+  - spanner: Subgraph of a weighted graph with distances increasing by at most a factor of 1+ .

Dagstuhl 2006On Quad Trees for Point Sets6 Our Application  Find Spanners of (Unit) Disk Graphs  O(n/ε) edges  vertex separators (hereditary)  Fast approximations of shortest paths  Find Spanners of (Unit) Disk Graphs  O(n/ε) edges  vertex separators (hereditary)  Fast approximations of shortest paths

Dagstuhl 2006On Quad Trees for Point Sets7 Construction of Quadtrees  Time: Sorting-time + linear  Operations: + - < and for given x, y with x<y, find level(x,y) = min k such that  x2 k  <  y2 k , also output  x2 k   Time: Sorting-time + linear  Operations: + - < and for given x, y with x<y, find level(x,y) = min k such that  x2 k  <  y2 k , also output  x2 k 

Dagstuhl 2006On Quad Trees for Point Sets8 Simulated Operation  Input (x 1,x 2 ), (y 1,y 2 )  Decide whether x 1 |x 2 < y 1 |y 2 where for u = ∑ i u i 2 i and v = ∑ i v i 2 i  u|v = ∑ i (2u i +v i )4 i is the shuffle  Input (x 1,x 2 ), (y 1,y 2 )  Decide whether x 1 |x 2 < y 1 |y 2 where for u = ∑ i u i 2 i and v = ∑ i v i 2 i  u|v = ∑ i (2u i +v i )4 i is the shuffle

Dagstuhl 2006On Quad Trees for Point Sets9 Algorithm  Sort points x by shuffle(x), (the shuffle of their coordinates)  For adjacent points x,y in the sorted order, compute level(shuffle(x), shuffle(y))  Result: s 1, l 1, s 2, l 2, … s n-1, l n, s n  Each s i is (the shuffle of) the root node of a (trivial) quadtree.  Sort points x by shuffle(x), (the shuffle of their coordinates)  For adjacent points x,y in the sorted order, compute level(shuffle(x), shuffle(y))  Result: s 1, l 1, s 2, l 2, … s n-1, l n, s n  Each s i is (the shuffle of) the root node of a (trivial) quadtree.

Dagstuhl 2006On Quad Trees for Point Sets10 Continue Algorithm  Recall: s 1, l 1, s 2, l 2, … s n-1, l n, s n  Push left part on a stack until l i >l i+1  Combine the trees with roots s i and s i+1 into one tree  Recall: s 1, l 1, s 2, l 2, … s n-1, l n, s n  Push left part on a stack until l i >l i+1  Combine the trees with roots s i and s i+1 into one tree

Dagstuhl 2006On Quad Trees for Point Sets11 Open?  Is Bichromatic Closest Pair easier, when the two sets of points are well separated? Dimensions 2 or d. ° ° °°° °  Is Bichromatic Closest Pair easier, when the two sets of points are well separated? Dimensions 2 or d. ° ° °°° °