Parallel Algorithms in Computational Geometry

Slides:



Advertisements
Similar presentations
Introduction to Algorithms
Advertisements

CSE 4101/5101 Prof. Andy Mirzaian. References: Lecture Note 8 [LN8]LN8 [CLRS] chapter 33 Lecture Note 8 [LN8]LN8 [CLRS] chapter 33 Applications:  Proximity.
Geometry Introduction
Advanced Topics in Algorithms and Data Structures Lecture 7.2, page 1 Merging two upper hulls Suppose, UH ( S 2 ) has s points given in an array according.
Lecture 3: Parallel Algorithm Design
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Searching on Multi-Dimensional Data
1/13/15CMPS 3130/6130: Computational Geometry1 CMPS 3130/6130: Computational Geometry Spring 2015 Convex Hulls Carola Wenk.
Advanced Algorithms Piyush Kumar (Lecture 12: Parallel Algorithms) Welcome to COT5405 Courtesy Baker 05.
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
Convex Hull obstacle start end Convex Hull Convex Hull
CS16: Introduction to Data Structures & Algorithms
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
The Divide-and-Conquer Strategy
CS4413 Divide-and-Conquer
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
Advanced Topics in Algorithms and Data Structures Lecture 7.1, page 1 An overview of lecture 7 An optimal parallel algorithm for the 2D convex hull problem,
8/29/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk.
Convex Hull Problem Presented By Erion Lin. Outline Convex Hull Problem Voronoi Diagram Fermat Point.
Algorithms and Data Structures Lecture 13. Agenda: Plane Geometry: algorithms on polygons - Verification if point belongs to a polygon - Convex hull.
November 4, Algorithms and Data Structures Lecture XIV Simonas Šaltenis Nykredit Center for Database Research Aalborg University
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
TU/e computational geometry introduction Mark de Berg.
Lection 1: Introduction Computational Geometry Prof.Dr.Th.Ottmann 1 History: Proof-based, algorithmic, axiomatic geometry, computational geometry today.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Lecture 2 Chapter 2: Polygon Partitioning.
5 - 1 § 5 The Divide-and-Conquer Strategy e.g. find the maximum of a set S of n numbers.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
O RTHOGONAL R ANGE S EARCHING الهه اسلامی فروردین 92, 1.
Quadtrees and Mesh Generation Student Lecture in course MATH/CSC 870 Philipp Richter Thursday, April 19 th, 2007.
AALG, lecture 11, © Simonas Šaltenis, Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees and.
Advanced Algorithm Design and Analysis (Lecture 9) SW5 fall 2004 Simonas Šaltenis E1-215b
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University.
Voronoi diagrams and applications Prof. Ramin Zabih
UNC Chapel Hill M. C. Lin Orthogonal Range Searching Reading: Chapter 5 of the Textbook Driving Applications –Querying a Database Related Application –Crystal.
Computational Geometry Course Summary (First Half) Spring 2008 Pay special attention to: algorithm details (able to explain correctness and carry out a.
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
B-trees and kd-trees Piotr Indyk (slides partially by Lars Arge from Duke U)
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.
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
P ARALLEL O RTHOGONAL R ANGE S EARCHING Project Presentation by Savitha Parur Venkitachalam.
2IL50 Data Structures Fall 2015 Lecture 9: Range Searching.
Orthogonal Range Search
Computational Geometry Piyush Kumar (Lecture 5: Range Searching) Welcome to CIS5930.
Segment Trees Basic data structure in computational geometry. Computational geometry.  Computations with geometric objects.  Points in 1-, 2-, 3-, d-space.
Convex Hull. University of Manchester biologists used lasers to measure the minimum amount of skin required to wrap around the skeletons of modern-day.
Multi-dimensional Search Trees CS302 Data Structures Modified from Dr George Bebis.
CMPS 3130/6130 Computational Geometry Spring 2015
Convex Hull 2012/10/23. Convex vs. Concave A polygon P is convex if for every pair of points x and y in P, the line xy is also in P; otherwise, it is.
Lecture 15 Computational Geometry Geometry sweeping Geometric preliminaries Some basics geometry algorithms.
COMPUTATIONAL GEOMETRY INTRODUCTION AND CONVEX HULLS ZAHRA NILFOROUSHAN ELECTRICAL & COMPUTER ENGINEERING DEPARTMENT, FACULTY OF ENGINEERING, KHARAZMI.
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
School of Computing Clemson University Fall, 2012
Lecture 3: Parallel Algorithm Design
Geometric Data Structures
CMPS 3130/6130 Computational Geometry Spring 2017
Query Processing in Databases Dr. M. Gavrilova
KD Tree A binary search tree where every node is a
Orthogonal Range Searching and Kd-Trees
Convex Hull obstacle start end 11/21/2018 4:05 AM Convex Hull
Computational Geometry Capter:1-2.1
Reporting (1-D) Given a set of points S on the line, preprocess them to build structure that allows efficient queries of the from: Given an interval I=[x1,x2]
Convex Hull 1/1/ :28 AM Convex Hull obstacle start end.
CMPS 3130/6130: Computational Geometry Spring 2017
CMPS 3130/6130 Computational Geometry Spring 2017
Convex Hull obstacle start end 4/30/2019 5:21 PM Convex Hull
CMPS 3130/6130 Computational Geometry Spring 2017
Algorithms and Data Structures Lecture XIV
Computational Geometry
Presentation transcript:

Parallel Algorithms in Computational Geometry by Savitha Parur Venkitachalam

Agenda Computational Geometry Introduction Serial and Parallel Algorithm for Orthogonal Range searching Serial and Parallel Algorithms for Convex Hull Questions

Computational Geometry Class of problems which can be stated in terms of geometry Applications in Geographic information systems , Computer Graphics , Searching a Database , Robotics , Tetrahedral mesh generation , Design of VLSI circuits. Examples Convex Hull Delaunay triangulation Range Searching Nearest Neighbor Applications – Geographic information systems , molecular studies Tetrahedral mesh generation using delaunay triangulations are used in

Parallel Algorithms Why Parallel? mostly used in online applications where short response times are a necessity Often requires large amount of data to be processed Parallel Models used PRAM and CREW-PRAM Hypercube Mesh Linear array Mesh of trees Pyramid Pram – parallel random access machine set of processors connected to a shared memory Crew pram –

Orthogonal Range Searching Preprocess a set of data such that it answers the range queries in an efficient way Records in the data base can be viewed in a multi dimensional space Divide the data into geometric subsets like set of rectangles , triangles or circles.

1 D range searching Process the data and store it in a balanced binary search tree Input - range tree and range [x , x’] Output – all points in the range No hash because more than one record may have same key . So a unique hash function cannot be assigned to each record.

2D range searching - Preprocessing Query is based on the range [x-x’] [y-y’] Data space is divided into subsets using the median of X and Y coordinates alternatively A KD – tree can be used to store the subsets

2D Orthogonal Query searching Input – The root of KD tree , Range (x-x’)(y-y’) Output – Set of points in the range Start from the root node. If the subtree is fully contained in the range report the whole subtree If the subtree intersects the range then scan the subtree

Parallel Approach – K Windows Algorithm Before Preprocessing partition the database among the processors Each processor builds local KD-tree on the set of data it owns Each processor performs the range search on its local KD-tree Load balancing could be used when one processor has data disjoint of the range Server combines the result from all the processors Does not require much communication among the processors

Convex Hull Given a set of points in a plane P , convex hull is the largest convex polygon whose vertices are all in P. It has many applications in computer graphics – to find an approximate location of an object as a very simple descriptor of its shape. GIS – In case of a natural disaster emergency planners may easily calculate the emergency response times using GIS. Visual pattern recognition – detecting car plates

Serial Algorithms Brute force Divide and Conquer Graham Scan Select the left most point as pivot Sort the rest of the points by polar angles with respect to the pivot March around this points and build the hull Add edges when left turn and backtrack when right

Parallel Algorithm Divide and Conquer Divide the plane containing the points among the processors Sequentially find the local convex hull Merge the convex hull from neighboring processors

Merging the hulls Find the tangent lines between the Hulls Delete all edges with in tangent lines

Processor Communication Phases Scatter P1 P0 P2 P3 Merging the results P0 P1 P2 P3 P0 P2 P0

References http://www.cs.princeton.edu/courses/archive/fall05/cos226/lectures/geosearch.pdf http://en.wikipedia.org/wiki/Range_searching http://www.cs.ucsb.edu/~suri/cs235/RangeSearching.pdf http://people.csail.mit.edu/indyk/6.838-old/handouts/lec5.pdf http://www.win.tue.nl/~awolff/teaching/2009/2IL55/pdf/v05.pdf http://2011.cccg.ca/PDFschedule/papers/paper106.pdf http://www.cs.arizona.edu/classes/cs437/fall12/Lecture5.prn.pdf http://www.cs.wustl.edu/~pless/506/l11w.html http://en.wikipedia.org/wiki/Convex_hull Parallel Computational Geometry – Aggarwal. A; O'Dunlaing. C; Yap.C Parallel Processing and Applied Mathematics: 5th International Conference, PPAM 2003, Czestochowa, Poland, September 7-10, 2003. Revised Paper Computational Geometry - Algorithms and Applications - Mark de Berg, TU Eindhoven , Otfried Cheong, KAIST ,Marc van Kreveld, Mark Overmars Parallel Computational Geometry Selim G.Akl ,Kelly A.Lyons

Questions