# Divide-and-Conquer. Three main steps : 1. divide; 2. conquer; 3. merge.

Save this PDF as:

Size: px
Start display at page:

Download "Divide-and-Conquer. Three main steps : 1. divide; 2. conquer; 3. merge."

## Transcription

1 Divide-and-Conquer Three main steps : 1. divide; 2. conquer; 3. merge. 1

2 Let I denote the (sub)problem instance and S be its solution. The divide-and-conquer strategy can be described as follows. Procedure divide-and-conquer (I, S); O(1) if size(i) is small enough, then S solution(i) else begin T D split I into I 1, I 2,, I k ; for i 1 to k T i divide-and-conquer(i i, S i ); T M S merge(s 1, S 2,, S k ) end. T = T D + k i = 1 T i + T M If size(i) = n, k = 2 and size(i 1 ) = size(i 2 ), then T(n) = 2T(n/2) + T D + T M. 2

3 Ex. Merge sort. (Assume that m + n time steps are required to merge two sorted lists of lengths m and n, respectively.) 16 time steps are required for merging. 3

4 18 time steps are required for merging. a problem instance is always split into equal-size subproblem instances. 4

5 Ex. Compute a 1 + a a n. T(n) = 2T(n/2) + O(1) = O(n) Ex. Merge sort of a 1, a 2,, a n. T(n) = 2T(n/2) + O(n) = O(nlog n) 5

6 Ex. Matrix multiplication C n n = A n n B n n divide A ij, B ij, C ij, : n/2 n/2 conquer T 1 = A 11 B 11, T 2 = A 12 B 21, T 3 = A 11 B 12, T 4 = A 12 B 22 T 5 = A 21 B 11, T 6 = A 22 B 21, T 7 = A 21 B 12, T 8 = A 22 B 22 merge C 11 = T 1 + T 2, C 12 = T 3 + T 4, C 21 = T 5 + T 6, C 22 = T 7 + T 8 T(n) = 8T(n/2) + O(n 2 ) = O(n 3 ) 6

7 Strassen s Method conquer P = (A 11 + A 22 ) (B 11 + B 22 ) Q = (A 21 + A 22 ) B 11 R = A 11 (B 12 B 22 ) S = A 22 (B 21 B 11 ) T = (A 11 + A 12 ) B 22 U = (A 21 A 11 ) (B 11 + B 12 ) V = (A 12 A 22 ) (B 21 + B 22 ) merge C 11 = P + S T + V C 21 = Q + S C 12 = R + T C 22 = P + R Q + U T(n) = 7T(n/2) + O(n 2 ) = O(n log 2 7 ) O(n 2.81 ) 7

8 Ex. The Convex Hull Problem. Given a set S of n points in the plane, find its convex hull. The convex hull of S is the smallest convex set that contains all the points of S. The problem is required to report the vertices of the convex hull in either a clockwise sequence or a counterclockwise sequence, e.g., p 2, p 1, p 4, p 6, p 8 or p 6, p 4, p 1, p 2, p 8. 8

9 Graham s Scan Step 1. Find an interior point O arbitrarily. O(1) Step 2. Sort all the points in angular order about O. O(nlog n) Step 3. Select a point (assume p 1 ) that is on the convex hull. O(n) Step 4. Start from p 1 and scan the sorted list of points. Three contiguous points are examined at a time. O(n) 9

10 Case 1. Do nothing, and examine (p i+2, p i+1, p i ) next. Case 2. p i is deleted, and examine (p i+1, p i 1, p i 2 ) next. T(n) = O(nlog n) 10

11 Jarvis March Step 1. Select a point (assume p 0 ) that is on the convex hull. O(n) Step 2. Start from p 0 and find all the other convex hull vertices sequentially in a clockwise or counterclockwise order. O(hn) T(n) = O(hn), where h is the number of convex hull vertices. 11

12 Divide-and-Conquer Approach divide : Divide the point set into two subsets A, B of approximately equal size. O(1) conquer : Find the convex hulls CH(A), CH(B) of A and B, recursively. 2T(n/2) merge : Find the convex hull of the original point set from CH(A) and CH(B). O(n) T(n) = 2T(n/2) + O(n) = O(nlog n) 12

13 (1) Find an interior point (assume p) of CH(A) arbitrarily. O(1) (2) Determine whether p is interior to CH(B) or not. If not, go to (4). O(n) (3) (p is interior to CH(B)) Since the vertices of CH(A) and the vertices of CH(B) are arranged in a sorted angular order about p, we may obtain a sorted list of their union by merging their respective sorted lists. Go to (5). O(n) (4) (p is not interior to CH(B)) Find two vertices u, v of CH(B) so that the convex wedge defined by u, p and v contains CH(B). O(n) 13

14 Case 1. List 1 : list of vertices arranged in their occurring sequence from x to u and then from v to x. (Assume that the degrees are measured between 0 and 2π.) List 2 : list of vertices arranged in their occurring sequence from y to u and then from v to y. 14

15 Case 2. List 1 : list of vertices arranged in their clockwise occurring sequence from v to u. List 2 : list of vertices arranged in their counterclockwise occurring sequence from v to u. Since List 1 and List 2 are increasing in polar angle about p, we may merge them and vertices of CH(A) into a sorted list. 15

16 (5) Perform Step 3 and Step 4 of Graham s Scan to obtain CH(A B). O(n) (Graham s Scan : Step 3. Select a point (assume p 1 ) that is on the convex hull. Step 4. Start from p 1 and scan the sorted list of points. Three contiguous points are examined at a time.) 16

17 N.B. There is another divide-and-conquer approach to the convex hull problem, which divides the point set into two approximately equal-size subsets A and B by means of a vertical line. CH(A B) is obtained by determining two common supporting lines of CH(A) and CH(B). Refer to Convex hulls of finite sets of points in two and three dimensions, Comm. ACM, vol. 20, no. 2, 1977, (by Preparata and Hong) 17

18 Ex. The 2-dimensional closest pair problem. Given a set of n points in the plane, find the pair of points that are closest. 18

19 divide : Find a line perpendicular to the x-axis which divides the point set into two equal-size subsets L and R (i.e., find the median of all the x-coordinates). O(n) conquer : Find the closest pairs in L and R, respectively. Let d L and d R be their respective distances. 2T(n/2) 19

20 merge : Let d = min{d L, d R }. If the closest pair of L R consists of a point in L and a point in R, then they must lie within a slab of width 2d centered at the dividing line. Thus, we only have to determine for each point p in L whether there exist points in R that are within d from p. O(n) 20

21 (1) Presort all the given points according to their y-coordinates (before the divide-and-conquer procedure is initiated). O(nlog n) (2) Examine the two sorted lists of points that are located in S L and S R, respectively. For each point p in L, we only need to examine at most five points in R. O(n) Only the shaded area has to be examined. At most six points fit in a d 2d rectangle. 21

22 presorting time : O(nlog n) T(n) = 2T(n/2) + O(n) = O(nlog n) total time complexity = presorting time + T(n) = O(nlog n) 22

23 Ex. The Iso-Oriented Line Segment Intersection Problem. Given a set of m horizontal and vertical line segments L 1, L 2,, L m, find all pairs of intersecting line segments. 23

24 Let objects refer to either vertical line segments or endpoints of horizontal line segments. Assume that there are n objects initially. Presort all the endpoints of vertical line segments according to their y-coordinates. O(nlog n) divide : Divide the set of objects into two approximately equal-size subsets L and R by a vertical line. Also split the sorted list above in accordance with L and R. O(n) 24

25 25

26 conquer : 2T(n/2) For each subset (the existence of line segments of type 4 is unknown), (1) report all intersecting pairs in which only type 1, type 2 and type 3 horizontal line segments are allowed to be included; (2) record right boundary points r 1, r 2, (denoted by list R ) in sorted y-coordinate sequence; (3) record left boundary points l 1, l 2, (denoted by list L ) in sorted y-coordinate sequence. 26

27 merge : O(n) + s R L ( R R ) : L L ( L R ) : list R of the left (right) subset list L of the left (right) subset LR : list of y-coordinates of type 1 line segments (across the middle dividing line) V L (V R ) : set of vertical line segments in the left (right) subset 27

28 LR R L L R R L R R + ( R L LR ) L L + ( L R LR ) Report all intersecting pairs induced by V L and the horizontal line segments passing L R LR ; V R and the horizontal line segments passing R L LR Since R L, R R, we may obtain LR L L and L R are sorted in y-coordinate,, L and R (sorted in y-coordinate) in O(n) time by performing merge-like operations. 28

29 A method to report all intersecting pairs in O(n + s) time, where s is the number of intersecting pairs reported : Given two sorted lists : H = (h 1, h 2, h 3, h 4, h 5 ) V = (v 1, v 2, v 3, v 4, v 1, v 2, v 3, v 4 ) 29

30 Step 1. Merge H and V into L. L = (v 1, v 2, h 1, v 3, h 2, v 4, v 1, h 3, v 2, h 4, v 3, h 5, v 4 ) Step 2. Scan L from the left to the right. Case 1. Add L i to the active list whenever a v i is met. Case 2. Report the active list whenever an h j is met. Each vertical line segment in the active list intersects with h j. Case 3. Delete L k from the active list whenever a v k is met. 30

31 Another method to report all intersecting pairs in O(n + s) time : Given two sorted lists : H = (h 1, h 2, h 3, h 4, h 5 ) V = (v 1, v 2, v 3, v 4 ) Step 1. Merge H and V into L = (v 1, v 2, h 1, v 3, h 2, v 4, h 3, h 4, h 5 ). Step 2. Scan L from the right to the left. For each v i, find the h j that is succeeding and closest to it. Step 3. Report all intersecting pairs by scanning H and V simultaneously. 31

32 T(n) = 2T(n/2) + O(n) = O(nlog n) total time complexity = T(n) + O(nlog n) + O(N) = O(nlog n + N), where T(n) is the time for D&C, O(nlog n) is the time for presorting, and N is the total number of intersecting pairs. 32

33 Ex. Voronoi Diagram Construction. Given n points p 1, p 2,, p n in the plane, we denote by V(i) the locus of points that are closer to p i than to any other point. 33

34 Let H(p i, p j ) denote the half-plane where all the points are closer to p i than to p j. Thus, V(i) is a convex polygonal region having no more than n 1 sides, defined by V(i) = H(p i, p j ). j i V(i) is called the Voronoi polygon associated with p i. The partition of the plane by n Voronoi polygons is called the Voronoi diagram. 34

35 The straight-line dual of a Voronoi diagram on a set S of n points is a graph whose n vertices correspond to the points of S, in which there is an edge from p i to p j iff V(i) and V(j) share an edge. A Voronoi diagram of six points A Delaunay Triangulation The straight-line dual of a Voronoi diagram is a planar graph, called the Delaunay graph. If no four points of the original set are cocircular, the straight-line dual is a triangulations, called the Delaunay triangulation (proved by Delaunay at 1934). 35

36 Theorem. A Voronoi diagram on n points has at most 2n 4 vertices and 3n 6 edges. Proof. (1) Each edge in the Delaunay graph corresponds to a unique Voronoi edge. (2) A planar graph of n vertices has at most 3n 6 edges. (3) Each Voronoi vertex has degree at least 3. (1), (2) there are at most 3n 6 Voronoi edges (with (3)) there are at most 2 (3n 6)/3 = 2n 4 Voronoi vertices. 36

37 Theorem. A Voronoi polygon V(i) is unbounded iff p i lies on the boundary of the convex hull (of given points). Proof. Refer to Computational Geometry by Shamos, Ph.D. dissertation, Yale Univ.,

38 Constructing Voronoi diagram By constructing Voronoi diagram of a set of points, we mean obtaining all of the following data : (1) coordinates of Voronoi vertices; (2) Voronoi edges (pairs of Voronoi vertices ) incident with each Voronoi vertex; (3) the two points that determine each Voronoi edge; (4) the edges of each Voronoi polygon in a cyclic order. 38

39 divide : Divide the given set of points into two subsets L and R of approximately equal size by a vertical line. O(n) conquer : Construct the Voronoi diagram, denoted by VD(L), for L and the Voronoi diagram, denoted by VD(R), for R. 2T(n/2) merge : Find P, which is the locus simultaneously closest to a point in L and a point in R, and discard all line segments of VD(R) (VD(L)) that lie to the left (right) of P. O(n) 39

40 dividing line 40

41 41

42 Theorem. P is monotonic and continuous in y-coordinate and consists of two infinite rays and some piecewise line segments. Proof. Refer to Computational Geometry by Shamos, Ph.D. dissertation, Yale Univ.,

43 Two steps to find P in O(n) time : Step 1. Find the two infinite rays. O(n) Since each ray is associated with two adjacent vertices in CH(L R), we find the two edges of CH(L R) that are not present in either CH(L) or CH(R). The infinite rays of P are the perpendicular bisectors of the two segments joining CH(L) and CH(R). 43

44 1-1. Find CH(L) and CH(R). O(n) (a) Find a ray arbitrarily. (b) Find another ray belonging to the same Voronoi polygon. (c) Perform (b) in clockwise or counterclockwise orientation until the initial ray is met Find A, B, C, D. O(n). The merge algorithm for the convex hull problem can be applied here. 44

45 Step 2. A zigzag walk to construct P. O(n) za has equal distance to 7 and 14 (za in V(7) V(14)). ab has equal distance to 7 and 11 (ab in V(7) V(11)). bc has equal distance to 6 and 11 (bc in V(6) V(11)). 45

46 Two observations : 1. P always moves downward (since P is monotonic). 2. P will bend toward the right (left) when it passes through an edge belonging to VD(L) (VD(R)). pb has equal distance to i and k. bd has equal distance to j and k. For each x bc, jx < ix = xk. 46

47 P moves out of V(i) at b (if no edge belonging to VD(R) is met before b). P moves out of V(k) at b (if no edge belonging to VD(L) is met before b). (1) When P enters V(i), we mark the edge containing b. If P meets edges belonging to VD(R) before leaving V(i), we mark the edge of V(i) where P will leave V(i) if P continues in its changed direction. The newly marked edge can be found as we traverse the edges of V(i) in clockwise orientation, starting from the last marked edge. 47

48 (2) When P enters V(k), we mark the edge containing b. If P meets edges belonging VD(L) before leaving V(k), we mark the edge of V(k) where P will leave V(k) if P continues in its changed direction. The newly marked edge can be found if we traverse the edges of V(k) in counterclockwise orientation, starting from the last marked edge. 48

49 Therefore, whenever P passes through an edge, we can find the edge that P will pass through next as follows : determine the two currently marked edges that belong to VD(L) and VD(R), respectively, and choose the one that P will meet first. Thus, O(n) time is enough to construct P. 49

50 Applications with Voronoi diagram : 1. All nearest neighbors problem. Given n points in the plane, find the nearest neighbor of each. Theorem. The nearest neighbor of each p i defines an edge of V(i). Proof. Refer to Computational Geometry, Springer- Verlag, by Preparata & Shamos. Thus, given the Voronoi diagram, this problem can be solved in O(n) time. 50

51 2. Nearest neighbor search problem. Given n point in the plane, with preprocessing allowed, find the nearest neighbor of a query point. (1) Construct the Voronoi diagram of the given n points. (2) Find the Voronoi polygon where the query point is located. Theorem. Point location in an n-vertex planar subdivision can be effected in O(log n) time using O(n) storage, given O(nlog n) preprocessing time. Proof. Refer to Computational Geometry, Springer- Verlag, by Preparata & Shamos. Thus, nearest-neighbor search for a query point can be performed in O(log n) time, using O(n) storage, with O(nlog n) preprocessing time. 51

52 3. Euclidean minimum spanning tree problem. Given n point in the plane, construct a tree of minimum total length whose vertices are the given points. If we construct a complete graph of n vertices, each corresponding to a point, then O(n 2 ) time (by Prim s method) or O(n 2 log n) time (by Kruskal s method) is needed. N.B. Prim s algorithm takes O( V 2 ) time, and Kruskal s algorithm takes O( E log E ) time. 52

53 Theorem. Every Euclidean minimum spanning tree is a subgraph of the Delaunay graph. Proof. Refer to Computational Geometry by Shamos, Ph.D. Dissertation, Yale Univ., Theorem. A minimum spanning tree of a planar graph can be found in O(n) time. Proof. Refer to Finding minimum spanning trees by Cheriton & Tarjan, SIAM J. Computing, vol. 5, no. 4, 1976,

54 1. Construct the Voronoi diagram. O(nlog n) 2. Construct the Delaunay graph. O(n) 3. Find a minimum spanning tree on the Delaunay graph. O(n) 54

55 A related work : H. Imai, M. Iri, and K. Murota, Voronoi diagram in the Laguerre geometry and its applications, SIAM J. Computing, vol. 14, no. 1, 1985,

56 Program Assignment 3 : Write an executable program to solve the 2-dimensional closest pair problem. 56

### Introduction to Voronoi Diagrams

C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 13 Date: March 22, 1993 Scribe: Scott S. Snibbe 1 Introduction Introduction to Voronoi Diagrams This lecture introduces

### Tufts University, Spring 2005 Michael Horn, Julie Weber (2004) Voronoi Diagrams

Comp 163: Computational Geometry Professor Diane Souvaine Tufts University, Spring 2005 Michael Horn, Julie Weber (2004) Voronoi Diagrams 1 Voronoi Diagrams 1 Consider the following problem. To determine

### Algorithmica 9 1989 Springer-Verlag New York Inc.

Algorithmica (1989) 4:97-108 Algorithmica 9 1989 Springer-Verlag New York Inc. Constrained Delaunay Triangulations 1 L. Paul Chew 2 Abstract. Given a set of n vertices in the plane together with a set

### Computational Geometry. Lecture 1: Introduction and Convex Hulls

Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

### In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery

### 1 Point Inclusion in a Polygon

Comp 163: Computational Geometry Tufts University, Spring 2005 Professor Diane Souvaine Scribe: Ryan Coleman Point Inclusion and Processing Simple Polygons into Monotone Regions 1 Point Inclusion in a

### Homework Exam 1, Geometric Algorithms, 2016

Homework Exam 1, Geometric Algorithms, 2016 1. (3 points) Let P be a convex polyhedron in 3-dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the

### Solving Geometric Problems with the Rotating Calipers *

Solving Geometric Problems with the Rotating Calipers * Godfried Toussaint School of Computer Science McGill University Montreal, Quebec, Canada ABSTRACT Shamos [1] recently showed that the diameter of

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### Shortest Inspection-Path. Queries in Simple Polygons

Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote B 05-05 April 2005 Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote Institut für Informatik,

### Closest Pair Problem

Closest Pair Problem Given n points in d-dimensions, find two whose mutual distance is smallest. Fundamental problem in many applications as well as a key step in many algorithms. p q A naive algorithm

### Computational Geometry

Lecture 10: 1 Lecture 10: Voronoi diagram Spatial interpolation Given some trees, seen from above, which region will they occupy? 2 Lecture 10: Voronoi diagram Spatial interpolation Given some trees, seen

### 28 Closest-Point Problems -------------------------------------------------------------------

28 Closest-Point Problems ------------------------------------------------------------------- Geometric problems involving points on the plane usually involve implicit or explicit treatment of distances

### Arrangements And Duality

Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

### Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

### Shortest Path Algorithms

Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

### Computational Geometry [csci 3250]

Computational Geometry [csci 3250] Laura Toma Bowdoin College Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon

### Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs

Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs R. L. Scot Drysdale a Günter Rote b,1 Astrid Sturm b,1 a Department of Computer Science, Dartmouth College b Institut

### 24: Polygon Partition - Faster Triangulations

24: Polygon Partition - Faster Triangulations CS 473u - Algorithms - Spring 2005 April 15, 2005 1 Previous lecture We described triangulations of simple polygons. See Figure 1 for an example of a polygon

### 5.4 Closest Pair of Points

5.4 Closest Pair of Points Closest Pair of Points Closest pair. Given n points in the plane, find a pair with smallest Euclidean distance between them. Fundamental geometric primitive. Graphics, computer

### OPTIMUM PARTITION PARAMETER OF DIVIDE-AND-CONQUER ALGORITHM FOR SOLVING CLOSEST-PAIR PROBLEM

OPTIMUM PARTITION PARAMETER OF DIVIDE-AND-CONQUER ALGORITHM FOR SOLVING CLOSEST-PAIR PROBLEM Mohammad Zaidul Karim 1 and Nargis Akter 2 1 Department of Computer Science and Engineering, Daffodil International

### Lattice Point Geometry: Pick s Theorem and Minkowski s Theorem. Senior Exercise in Mathematics. Jennifer Garbett Kenyon College

Lattice Point Geometry: Pick s Theorem and Minkowski s Theorem Senior Exercise in Mathematics Jennifer Garbett Kenyon College November 18, 010 Contents 1 Introduction 1 Primitive Lattice Triangles 5.1

### Disjoint Compatible Geometric Matchings

Disjoint Compatible Geometric Matchings Mashhood Ishaque Diane L. Souvaine Csaba D. Tóth Abstract We prove that for every even set of n pairwise disjoint line segments in the plane in general position,

### 1. A student followed the given steps below to complete a construction. Which type of construction is best represented by the steps given above?

1. A student followed the given steps below to complete a construction. Step 1: Place the compass on one endpoint of the line segment. Step 2: Extend the compass from the chosen endpoint so that the width

### Voronoi with Obstacles, Delaunay Constrained Triangulation and Delaunay 3D

Voronoi with Obstacles, Delaunay Constrained Triangulation and Delaunay 3D Marc Comino Trinidad December 13, 2014 Table of contents Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram

### Monotone Partitioning. Polygon Partitioning. Monotone polygons. Monotone polygons. Monotone Partitioning. ! Define monotonicity

Monotone Partitioning! Define monotonicity Polygon Partitioning Monotone Partitioning! Triangulate monotone polygons in linear time! Partition a polygon into monotone pieces Monotone polygons! Definition

### Binary Search. Search for x in a sorted array A.

Divide and Conquer A general paradigm for algorithm design; inspired by emperors and colonizers. Three-step process: 1. Divide the problem into smaller problems. 2. Conquer by solving these problems. 3.

### Week 2 Polygon Triangulation

Week 2 Polygon Triangulation What is a polygon? Last week A polygonal chain is a connected series of line segments A closed polygonal chain is a polygonal chain, such that there is also a line segment

### Fast approximation of the maximum area convex. subset for star-shaped polygons

Fast approximation of the maximum area convex subset for star-shaped polygons D. Coeurjolly 1 and J.-M. Chassery 2 1 Laboratoire LIRIS, CNRS FRE 2672 Université Claude Bernard Lyon 1, 43, Bd du 11 novembre

### Math 366 Lecture Notes Section 11.1 Basic Notions (of Geometry)

Math 366 Lecture Notes Section. Basic Notions (of Geometry) The fundamental building blocks of geometry are points, lines, and planes. These terms are not formally defined, but are described intuitively.

### Graph. Consider a graph, G in Fig Then the vertex V and edge E can be represented as:

Graph A graph G consist of 1. Set of vertices V (called nodes), (V = {v1, v2, v3, v4...}) and 2. Set of edges E (i.e., E {e1, e2, e3...cm} A graph can be represents as G = (V, E), where V is a finite and

### The Protractor Postulate and the SAS Axiom. Chapter The Axioms of Plane Geometry

The Protractor Postulate and the SAS Axiom Chapter 3.4-3.7 The Axioms of Plane Geometry The Protractor Postulate and Angle Measure The Protractor Postulate (p51) defines the measure of an angle (denoted

### Planar Graph and Trees

Dr. Nahid Sultana December 16, 2012 Tree Spanning Trees Minimum Spanning Trees Maps and Regions Eulers Formula Nonplanar graph Dual Maps and the Four Color Theorem Tree Spanning Trees Minimum Spanning

### Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

### Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS

Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS 1.1.25 Prove that the Petersen graph has no cycle of length 7. Solution: There are 10 vertices in the Petersen graph G. Assume there is a cycle C

### Voronoi Diagrams. (Slides mostly by Allen Miu)

Voronoi Diagrams (Slides mostly by Allen Miu) Post Office: What is the area of service? p i : site points q : free point e : Voronoi edge v : Voronoi vertex q p i v e Definition of Voronoi Diagram Let

### Social Media Mining. Graph Essentials

Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

### EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27 The Problem Given a set of N objects, do any two intersect? Objects could be lines, rectangles, circles, polygons, or other geometric objects Simple to

### Masters Thesis Computing the Visibility Graph of Points Within a Polygon. Jesper Buch Hansen

Masters Thesis Computing the Visibility Graph of Points Within a Polygon Jesper Buch Hansen December 22, 2005 Department of Computer Science, University of Aarhus Student Jesper Buch Hansen Supervisor

### I/O-Efficient Spatial Data Structures for Range Queries

I/O-Efficient Spatial Data Structures for Range Queries Lars Arge Kasper Green Larsen MADALGO, Department of Computer Science, Aarhus University, Denmark E-mail: large@madalgo.au.dk,larsen@madalgo.au.dk

### Student Name: Teacher: Date: District: Miami-Dade County Public Schools. Assessment: 9_12 Mathematics Geometry Exam 1

Student Name: Teacher: Date: District: Miami-Dade County Public Schools Assessment: 9_12 Mathematics Geometry Exam 1 Description: GEO Topic 1 Test: Tools of Geometry Form: 201 1. A student followed the

### Geometry Chapter 1. 1.1 Point (pt) 1.1 Coplanar (1.1) 1.1 Space (1.1) 1.2 Line Segment (seg) 1.2 Measure of a Segment

Geometry Chapter 1 Section Term 1.1 Point (pt) Definition A location. It is drawn as a dot, and named with a capital letter. It has no shape or size. undefined term 1.1 Line A line is made up of points

### 1 Plane and Planar Graphs. Definition 1 A graph G(V,E) is called plane if

Plane and Planar Graphs Definition A graph G(V,E) is called plane if V is a set of points in the plane; E is a set of curves in the plane such that. every curve contains at most two vertices and these

### AN ALGORITHM FOR CENTRELINE EXTRACTION USING NATURAL NEIGHBOUR INTERPOLATION

AN ALGORITHM FOR CENTRELINE EXTRACTION USING NATURAL NEIGHBOUR INTERPOLATION Darka Mioc, François Anton and Girija Dharmaraj Department of Geomatics Engineering University of Calgary 2500 University Drive

### Strictly Localized Construction of Planar Bounded-Degree Spanners of Unit Disk Graphs

Strictly Localized Construction of Planar Bounded-Degree Spanners of Unit Disk Graphs Iyad A. Kanj Ljubomir Perković Ge Xia Abstract We describe a new distributed and strictly-localized approach for constructing

### When is a graph planar?

When is a graph planar? Theorem(Euler, 1758) If a plane multigraph G with k components has n vertices, e edges, and f faces, then n e + f = 1 + k. Corollary If G is a simple, planar graph with n(g) 3,

### Line Segment Intersection

Chapter 1 Line Segment Intersection (with material from [1], [3], and [5], pictures are missing) 1.1 Interval case We first think of having n intervals (e.g., the x-range of horizontal line segments) and

### Diffuse Reflection Radius in a Simple Polygon

Diffuse Reflection Radius in a Simple olygon Eli Fox-Epstein Csaba D. Tóth Andrew Winslow arxiv:1402.5303v3 [cs.cg] 17 May 2015 Abstract It is shown that every simple polygon in general position with n

### Geometry Unit 1. Basics of Geometry

Geometry Unit 1 Basics of Geometry Using inductive reasoning - Looking for patterns and making conjectures is part of a process called inductive reasoning Conjecture- an unproven statement that is based

### arxiv: v2 [math.mg] 8 Jan 2008

On the maximum size of an anti-chain of linearly separable sets and convex pseudo-discs 1 Rom Pinchasi Günter Rote arxiv:0707.0311v [math.mg] 8 Jan 008 February 13, 013 Abstract We answer a question raised

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### HOLES 5.1. INTRODUCTION

HOLES 5.1. INTRODUCTION One of the major open problems in the field of art gallery theorems is to establish a theorem for polygons with holes. A polygon with holes is a polygon P enclosing several other

### Polygon Triangulation

Polygon Triangulation A polygonal curve is a finite chain of line segments. Line segments called edges, their endpoints called vertices. A simple polygon is a closed polygonal curve without self-intersection.

### Existence of Simple Tours of Imprecise Points

Existence of Simple Tours of Imprecise Points Maarten Löffler Department of Information and Computing Sciences, Utrecht University Technical Report UU-CS-007-00 www.cs.uu.nl ISSN: 09-7 Existence of Simple

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

### Persistent Data Structures and Planar Point Location

Persistent Data Structures and Planar Point Location Inge Li Gørtz Persistent Data Structures Ephemeral Partial persistence Full persistence Confluent persistence V1 V1 V1 V1 V2 q ue V2 V2 V5 V2 V4 V4

### IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

### Unit 3: Triangle Bisectors and Quadrilaterals

Unit 3: Triangle Bisectors and Quadrilaterals Unit Objectives Identify triangle bisectors Compare measurements of a triangle Utilize the triangle inequality theorem Classify Polygons Apply the properties

### Optimal Binary Space Partitions in the Plane

Optimal Binary Space Partitions in the Plane Mark de Berg and Amirali Khosravi TU Eindhoven, P.O. Box 513, 5600 MB Eindhoven, the Netherlands Abstract. An optimal bsp for a set S of disjoint line segments

### Chapter 12. The Straight Line

302 Chapter 12 (Plane Analytic Geometry) 12.1 Introduction: Analytic- geometry was introduced by Rene Descartes (1596 1650) in his La Geometric published in 1637. Accordingly, after the name of its founder,

### Solutions to Homework 6

Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

### MODERN APPLICATIONS OF PYTHAGORAS S THEOREM

UNIT SIX MODERN APPLICATIONS OF PYTHAGORAS S THEOREM Coordinate Systems 124 Distance Formula 127 Midpoint Formula 131 SUMMARY 134 Exercises 135 UNIT SIX: 124 COORDINATE GEOMETRY Geometry, as presented

### Lesson 2: Circles, Chords, Diameters, and Their Relationships

Circles, Chords, Diameters, and Their Relationships Student Outcomes Identify the relationships between the diameters of a circle and other chords of the circle. Lesson Notes Students are asked to construct

### 13 Groups of Isometries

13 Groups of Isometries For any nonempty set X, the set S X of all one-to-one mappings from X onto X is a group under the composition of mappings (Example 71(d)) In particular, if X happens to be the Euclidean

### Approximation Algorithms for Art Gallery Problems

Approximation Algorithms for Art Gallery Problems Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline 1 Introduction

### half-line the set of all points on a line on a given side of a given point of the line

Geometry Week 3 Sec 2.1 to 2.4 Definition: section 2.1 half-line the set of all points on a line on a given side of a given point of the line notation: is the half-line that contains all points on the

### GRAPH THEORY and APPLICATIONS. Trees

GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.

### Area. Area Overview. Define: Area:

Define: Area: Area Overview Kite: Parallelogram: Rectangle: Rhombus: Square: Trapezoid: Postulates/Theorems: Every closed region has an area. If closed figures are congruent, then their areas are equal.

### EXPONENTS. To the applicant: KEY WORDS AND CONVERTING WORDS TO EQUATIONS

To the applicant: The following information will help you review math that is included in the Paraprofessional written examination for the Conejo Valley Unified School District. The Education Code requires

### Polygon Clipping and Filling Week 3, Lecture 5

CS 430/536 Computer Graphics I Polygon Clipping and Filling Week 3, Lecture 5 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science

### Geometry: Unit 1 Vocabulary TERM DEFINITION GEOMETRIC FIGURE. Cannot be defined by using other figures.

Geometry: Unit 1 Vocabulary 1.1 Undefined terms Cannot be defined by using other figures. Point A specific location. It has no dimension and is represented by a dot. Line Plane A connected straight path.

### AN ALGORITHM FOR COMPUTING THE UNION, INTERSECTION OR DIFFERENCE OF TWO POLYGONS

Comput & Graphics VoI. 13, No 2, pp 167-183, 1989 Printed in Great Britain 0091-8493/89 \$3.00 +.00 1989 Maxwell Pergamon Macmillan plc Technical Section AN ALGORITHM FOR COMPUTING THE UNION, INTERSECTION

### Intersection of a Line and a Convex. Hull of Points Cloud

Applied Mathematical Sciences, Vol. 7, 213, no. 13, 5139-5149 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/1.12988/ams.213.37372 Intersection of a Line and a Convex Hull of Points Cloud R. P. Koptelov

### Chapter 3.1 Angles. Geometry. Objectives: Define what an angle is. Define the parts of an angle.

Chapter 3.1 Angles Define what an angle is. Define the parts of an angle. Recall our definition for a ray. A ray is a line segment with a definite starting point and extends into infinity in only one direction.

### Well-Separated Pair Decomposition for the Unit-disk Graph Metric and its Applications

Well-Separated Pair Decomposition for the Unit-disk Graph Metric and its Applications Jie Gao Department of Computer Science Stanford University Joint work with Li Zhang Systems Research Center Hewlett-Packard

### Trees and Fundamental Circuits

Trees and Fundamental Circuits Tree A connected graph without any circuits. o must have at least one vertex. o definition implies that it must be a simple graph. o only finite trees are being considered

### Hidden Mobile Guards in Simple Polygons

CCCG 2012, Charlottetown, P.E.I., August 8 10, 2012 Hidden Mobile Guards in Simple Polygons Sarah Cannon Diane L. Souvaine Andrew Winslow Abstract We consider guarding classes of simple polygons using

### Euclidean Geometry. We start with the idea of an axiomatic system. An axiomatic system has four parts:

Euclidean Geometry Students are often so challenged by the details of Euclidean geometry that they miss the rich structure of the subject. We give an overview of a piece of this structure below. We start

### Intersection Dimension and Maximum Degree

Intersection Dimension and Maximum Degree N.R. Aravind and C.R. Subramanian The Institute of Mathematical Sciences, Taramani, Chennai - 600 113, India. email: {nraravind,crs}@imsc.res.in Abstract We show

### Section 1.8 Coordinate Geometry

Section 1.8 Coordinate Geometry The Coordinate Plane Just as points on a line can be identified with real numbers to form the coordinate line, points in a plane can be identified with ordered pairs of

### Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A.

1 Linear Transformations Prepared by: Robin Michelle King A transformation of an object is a change in position or dimension (or both) of the object. The resulting object after the transformation is called

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### DEGREE CONSTRAINED TRIANGULATION. Roshan Gyawali

DEGREE CONSTRAINED TRIANGULATION by Roshan Gyawali Bachelor in Computer Engineering Institue of Engineering, Pulchowk Campus, Tribhuvan University, Kathmandu 2008 A thesis submitted in partial fulfillment

### A fast and robust algorithm to count topologically persistent holes in noisy clouds

A fast and robust algorithm to count topologically persistent holes in noisy clouds Vitaliy Kurlin Durham University Department of Mathematical Sciences, Durham, DH1 3LE, United Kingdom vitaliy.kurlin@gmail.com,

### Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

### Chapter 4. Trees. 4.1 Basics

Chapter 4 Trees 4.1 Basics A tree is a connected graph with no cycles. A forest is a collection of trees. A vertex of degree one, particularly in a tree, is called a leaf. Trees arise in a variety of applications.

### Topics Covered on Geometry Placement Exam

Topics Covered on Geometry Placement Exam - Use segments and congruence - Use midpoint and distance formulas - Measure and classify angles - Describe angle pair relationships - Use parallel lines and transversals

### FINDING ALL WEAKLY-VISIBLE CHORDS OF A POLYGON IN LINEAR TIME

Nordic Journal of Computing 1(1994), 433 457. FINDING ALL WEAKLY-VISIBLE CHORDS OF A POLYGON IN LINEAR TIME GAUTAM DAS PAUL J. HEFFERNAN GIRI NARASIMHAN Mathematical Sciences Department The University

### On Modem Illumination Problems

On Modem Illumination Problems R. Fabila-Monroy Andres Ruiz Vargas Jorge Urrutia Resumen In this paper we review recent results on a new variation of the Art Gallery problem. A common problem we face nowadays,

### Foundations of Geometry 1: Points, Lines, Segments, Angles

Chapter 3 Foundations of Geometry 1: Points, Lines, Segments, Angles 3.1 An Introduction to Proof Syllogism: The abstract form is: 1. All A is B. 2. X is A 3. X is B Example: Let s think about an example.

### Centroid: The point of intersection of the three medians of a triangle. Centroid

Vocabulary Words Acute Triangles: A triangle with all acute angles. Examples 80 50 50 Angle: A figure formed by two noncollinear rays that have a common endpoint and are not opposite rays. Angle Bisector:

### Using Data-Oblivious Algorithms for Private Cloud Storage Access. Michael T. Goodrich Dept. of Computer Science

Using Data-Oblivious Algorithms for Private Cloud Storage Access Michael T. Goodrich Dept. of Computer Science Privacy in the Cloud Alice owns a large data set, which she outsources to an honest-but-curious

### TIgeometry.com. Geometry. Angle Bisectors in a Triangle

Angle Bisectors in a Triangle ID: 8892 Time required 40 minutes Topic: Triangles and Their Centers Use inductive reasoning to postulate a relationship between an angle bisector and the arms of the angle.

### Axiom A.1. Lines, planes and space are sets of points. Space contains all points.

73 Appendix A.1 Basic Notions We take the terms point, line, plane, and space as undefined. We also use the concept of a set and a subset, belongs to or is an element of a set. In a formal axiomatic approach

### Introduction. Alan Saalfeld

Topological Coordinates Alan Saalfeld ABSTRACT: We present a new methodology for concisely encoding a map s topological structure based on an order-theoretic characterization of planar graphs. We describe

### Circle Name: Radius: Diameter: Chord: Secant:

12.1: Tangent Lines Congruent Circles: circles that have the same radius length Diagram of Examples Center of Circle: Circle Name: Radius: Diameter: Chord: Secant: Tangent to A Circle: a line in the plane