Voronoi diagrams in planar graphs & computing the diameter in

Slides:



Advertisements
Similar presentations
CSE 211 Discrete Mathematics
Advertisements

Graph Algorithms - 3 Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 13Feb 12, 2014Carnegie Mellon University.
Single Source Shortest Paths
WSPD Applications.
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
22C:19 Discrete Structures Trees Spring 2014 Sukumar Ghosh.
CSC 2300 Data Structures & Algorithms April 13, 2007 Chapter 9. Graph Algorithms.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 CHAPTER 4 - PART 2 GRAPHS 1.
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Computational Geometry -- Voronoi Diagram
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
PLANAR SHORTEST PATH & R-DIVISIONS Dwyane George March 10, 2015.
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation.
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
Voronoi Diagrams.
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Chapter Tow Search Trees BY HUSSEIN SALIM QASIM WESAM HRBI FADHEEL CS 6310 ADVANCE DATA STRUCTURE AND ALGORITHM DR. ELISE DE DONCKER 1.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Lecture 12-2: Introduction to Computer Algorithms beyond Search & Sort.
Multiple-Source Shortest Paths in Planar Graphs Allowing Negative Lengths Philip Klein Brown University.
“On an Algorithm of Zemlyachenko for Subtree Isomorphism” Yefim Dinitz, Alon Itai, Michael Rodeh (1998) Presented by: Masha Igra, Merav Bukra.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
1 Shortest Paths in Three Dimensions Speaker: Atlas F. Cook IV Advisor: Carola Wenk.
 Rooted tree and binary tree  Theorem 5.19: A full binary tree with t leaves contains i=t-1 internal vertices.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
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.
CSE 2331 / 5331 Topic 12: Shortest Path Basics Dijkstra Algorithm Relaxation Bellman-Ford Alg.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
A deterministic near-linear time algorithm for finding minimum cuts in planar graphs Thank you, Steve, for presenting it for us!!! Parinya Chalermsook.
1 Directed Graphs Chapter 8. 2 Objectives You will be able to: Say what a directed graph is. Describe two ways to represent a directed graph: Adjacency.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Great Theoretical Ideas in Computer Science for Some.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
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.
5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.
CSE 373: Data Structures and Algorithms Lecture 21: Graphs V 1.
Voronoi Graph Voronoi region Vor(p) (p in set S) Voronoi Graph VOR(S)
Computational Geometry
Advanced Algorithms Analysis and Design
Paweł Gawrychowski, Nadav Krasnopolsky, Shay Mozes, Oren Weimann
Graph theory Definitions Trees, cycles, directed graphs.
12. Graphs and Trees 2 Summary
Haim Kaplan and Uri Zwick
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
OVERVIEW 1-st Midterm: 3 problems 2-nd Midterm 3 problems
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Planarity Testing.
Enumerating Distances Using Spanners of Bounded Degree
Graphs Representation, BFS, DFS
The Art Gallery Problem
Graphs Chapter 13.
Lecture 6 Shortest Path Problem.
Analysis and design of algorithm
CSE 373: Data Structures and Algorithms
Chapter 22: Elementary Graph Algorithms I
CS 583 Analysis of Algorithms
Activity Networks
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Sorting and Divide-and-Conquer
CSE 373 Data Structures and Algorithms
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Voronoi diagrams in planar graphs & computing the diameter in 𝑂 𝑛 5/3 time Pawel Gawrychowski, Haim Kaplan, Shay Mozes, Micha Sharir, and Oren Weimann

I will omit logarithmic factors without explicitly writing 𝑂 …

Diameter Compute the longest shortest path Assume distinct distances, unique shortest paths

Diameter state of the art General graphs: slightly less than 𝑂 𝑛 3 , 𝑂( 𝑛 3−𝜀 ) is not known ? Planar graphs: 𝑂 𝑛 2 is easy since the graph is sparse Cabello (SODA’17): 𝑂 𝑛 11 6 : Main tool: r-division, Voronoi diagrams

Our result 𝑂 𝑛 5 3 , using explicit Voronoi diagrams (rather than abstract ones: Klein 89/Mehlhorn, Klein and Meizer 93)

Overview of the diameter algorithm Compute an r-division Intuitively this is a recursive application of the planar separator theorem

r-division

r-division

r-division

r-division

A piece

Another piece

r-division (Fredrickson 87) Each piece is of size 𝑂(𝑟) Each piece has 𝑂 𝑟 boundary nodes 𝑂 𝑛 𝑟 pieces overall The boundary of each piece consists of 𝑂 1 holes (faces) Can be computed in 𝑂 𝑛 time (Klein, Mozes and Sommer 2013/Arge, van Walderveen and Zeh 2013)

Three kinds of shortest paths Between a vertex and a boundary vertex Between two vertices inside the same piece Between two vertices in different pieces

Dist. to/from boundary nodes 𝑣

Distances to/from boundary nodes Compute the distance from 𝑣 to all boundary nodes This is done in 𝑂 𝑟+ 𝑛 𝑟 time (Fakcharoenphol and Rao 2006) For all vertices this takes 𝑂 𝑛𝑟+ 𝑛 2 𝑟

Between vertices in the same piece

Between vertices in the same piece 𝑣

Inside pieces Run Dijkstra for every vertex 𝑣 in its piece, where the distance label of boundary vertices are initialized to their correct distance from 𝑣 For all vertices this takes 𝑂 𝑛𝑟 time

Vertices in diff. pieces 𝑣 𝑃

Between vertices in different pieces You already know the distances from 𝑣 to the boundary nodes of the piece 𝑃 Compute the additively weighted Voronoi diagram of 𝑃 where the weights of the boundary nodes of 𝑃 are their distances from 𝑣

Voronoi diagram 𝑣

Additively weighted Voronoi diagram

Voronoi diagram

Voronoi diagram

Maximum dist. between vertices in different pieces Find the furthest from 𝑣 in each Voronoi cell It is the node in the cell which is furthest from the boundary node defining the cell

Compute the furthest in each cell 𝑣

Voronoi diagram + max in cells Computing the weighted Voronoi diagram of 𝑃, and the max in each cell, takes 𝑂 𝑟 time

Between vertices in different pieces Total time for all Voronoi diagrams 𝑂 𝑛⋅ 𝑛 𝑟 𝑟

Total time 𝑂 𝑛𝑟+ 𝑛 2 𝑟 For 𝑟= 𝑛 2 3 this is 𝑂 𝑛 5 3

Representing the diagram

Voronoi vertices

Bisectors

Representing the diagram The entire diagram is of size 𝑂 𝑟 There are only 𝑂 𝑟 vertices and cells So if we replace the path between each pair of vertices by a single Voronoi-edge the size is 𝑂 𝑟 Each such Voronoi-edge is part of a bisector which is precomputed – we represent it by pointers to its endpoints on the bisector

Compute the max from info on the bisectors We compute the furthest from 𝑣 in each cell from information stored at the bisectors 𝑂 |𝜕𝑐𝑒𝑙𝑙| , 𝑂 𝑟 for all cells

Computing the bisectors

Computing the bisectors We have 𝑂 𝑟 𝑟 =𝑂 𝑟 pairs of boundary nodes Compute the bisectors (for all different weights) of each pair separately

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Computing the Bisectors ∞

Bisectors We have 𝑂 𝑟 𝑟 =𝑂 𝑟 pairs of boundary nodes 𝑂 𝑟 bisectors for each pair (for all possible weight differences) Total 𝑂 𝑟 2 bisectors in a piece 𝑂 𝑛 𝑟 ⋅ 𝑟 2 =𝑂 𝑛𝑟 bisectors in all pieces We can compute them in 𝑂 𝑛𝑟 time, using persistent search trees

Computing the Voronoi diagram We compute the Voronoi-diagram from the bisectors in 𝑂 𝑟 time by a divide and conquer algorithm

Basic building block Finding Voronoi vertices First, in a diagram of 3 sites

Diagram of 3 sites

Diagram of 3 sites Lemma: It has at most 2 Voronoi vertices

Shortest paths cannot cross.. At most 2 Vor. vertices Proof: ? Shortest paths cannot cross..

Computing the diagram of 3 sites

A diagram of 3 sites

A diagram of 3 sites

A diagram of 3 sites

A diagram of 3 sites

A diagram of 3 sites

A diagram of 3 sites The blue site takes over an interval of the red/green bisector The Voronoi vertices are the endpoints of this interval We can find them by a binary search along the red/green bisector Generalizes to a situation where instead of a single red/green/blue site we have a contiguous sequence of red/green/blue sites

Voronoi diagram Traversing all triples of sites and finding the associated vertices is too expensive Use divide and conquer

Divide and conquer

Divide and conquer

Divide and conquer

𝑣 𝑤

Divide and conquer

Max distance computation

Max distance computation

Max distance computation

Max distance computation

Max distance computation

Max distance computation

Max distance computation Each dual vertex computes the max in its triangle Vertices of the cotree compute subtree maxima Gets somewhat more complicated in the presence of holes

Open problems Is 𝑂 𝑛 5/3 the best we can do ? Which other problems this technique is good for ? (distance oracles: Cohen-Addad, Dahlgaard, Wulff-Nilsen 2017)

Thanks