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

Size: px
Start display at page:

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

Transcription

1 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 Scribe: Michael Goldwasser Algorithms for triangulating polygons are important tools throughout computational geometry. Many problems involving polygons are simplified by partitioning the complex polygon into triangles, and then working with the individual triangles. The applications of such algorithms are well documented in papers involving visibility, motion planning, and computer graphics. The following notes give an introduction to triangulations and many related definitions and basic lemmas. Most of the definitions are based on a simple polygon, P, containing n edges, and hence n vertices. However, many of the definitions and results can be extended to a general arrangement of n line segments. 1 Diagonals Definition 1. Given a simple polygon, P, a diagonal is a line segment between two non-adjacent vertices that lies entirely within the interior of the polygon. Lemma 2. Every simple polygon with P > 3 contains a diagonal. Proof: Consider some vertex v. If v has a diagonal, it s party time. If not then the only vertices visible from v are its neighbors. Therefore v must see some single edge beyond its neighbors that entirely spans the sector of visibility, and therefore v must be a convex vertex. Now consider the two neighbors of v. Since P > 3, these cannot be neighbors of each other, however they must be visible from each other because of the above situation, and thus the segment connecting them is indeed a diagonal. (See figure 1) v Figure 1: Existence of diagonal

2 2 CS268: 5 2 Triangulations Figure 2: Example of a triangulated polygon Now we can use these diagonals to prove the existence of triangulations for any simple polygon. First, we must formalize the concept of triangulating a polygon. Definition 3. Given a simple polygon P, a triangulation of P is a partition of the interior of P into triangles. An example of such a triangulation is given in Figure 2. Again, a similar definition can be given for a set of line segments, where a triangulation is a partition of the plane respecting the line segments. Often a less strict definition of triangulation is used, requiring the polygon to be partitioned into polygons of some bounded degree. In fact, later in these notes we will discuss the concept of a trapezoid partition of a simple polygon. Lemma 4. Every simple polygon has a triangulation. Proof: We will show this by induction on the number of sides. If the polygon has only 3 sides, then it is already triangulated. Otherwise, by Lemma 2, the polygon has a diagonal. Since the diagonal spans the interior, we can break the polygon into two pieces, adding the diagonal to each part. The size of each polygon is reduced by at least one, so by the inductive hypothesis, each part has a triangulation, and thus combining these gives a triangulation for the original polygon.

3 CS268: Dual Graph Figure 3: Example of dual graph Given a specific triangulation of a polygon, we can talk about the dual graph of the triangulation. Definition 5. Given a polygon P and a triangulation T for that polygon, the dual graph is defined as D(T) = (V, E), where v i V corresponds to a specific triangle in T, and (v a, v b ) E if the two corresponding triangles share an edge. Figure 3 provides an example of a dual graph. Notice that the edges in the graph are in one-to-one correspondence with the diagonals of the triangulation. Let s examine the properties of the dual graph. Lemma 6. Given a triangulation of a simple polygon, the resulting dual graph is a tree with maximum degree three. Proof: To see that the graph is a tree, recall that each edge corresponds to a diagonal of the triangulation. Since each diagonal breaks the polygon into two disjoint pieces, deleting an edge from the graph breaks the graph into two connected components. Thus the graph is a tree. Since every triangle can have at most three neighbors, any node in the dual graph can have at most degree three.

4 4 CS268: 5 4 Counting We consider some basic counting arguments involving various properties of triangulations and dual graphs. First, let T(n) denote the number of triangles in a triangulation of an n-vertex polygon. Therefore T(n) also denotes the number of nodes in the dual graph. Since each diagonal breaks the polygon into two smaller polygons who sizes add to (n + 2), we get the recurrence T(n) = T(k) + T(n + 2 k), with the base case T(3) = 1. Solving this we get that T(n) = (n 2). Let D(n) denote the number of diagonals introduced for this triangulation, and therefore the number of edges in the dual graph. Counting the individual sides of the triangles, and noting that any diagonal will be counted twice, we have T(n) = (n 2) triangles accounting for (3n 6) sides. Since only n of those are the original sides, there must be exactly (n 3) diagonals. Notice we could also realize that D(n) = (n 3) by considering D(n) to be the number of edges in a tree with T(n) nodes. A more interesting function to consider is how many different triangulations exist for a given polygon. This quantity is not the same for all n-vertex polygons; the maximum value is achieved for convex polygons. Let F(n) denote the number of distinct triangulations of an n-vertex convex polygon. We show that F(n) = b n 2, the number of binary trees on n 2 nodes, by showing that there is a one-to-one correspondence between triangulations of the polygon and (n 2)-node binary trees. We already know that a triangulation defines an (n 2)-node binary tree, namely the dual graph. To make this tree unique, we must pick a root for it. Consider the triangle incident to a given edge of the polygon, say p 1 p 2. Because one of the triangle s edges is p 1 p 2, it has at most two triangle neighbors. Therefore, the corresponding node in the dual tree has degree at most 2, and we can make that node the root of the tree. To prove the other direction of the correspondence, we must show that for every binary tree, there is a triangulation with that tree as its dual graph. We create a triangulation by a recursive process that triangulates a convex polygon with a distinguished top edge. The top edge for P is p 1 p 2. Suppose that the vertices of the current convex polygon are p 1, p 2,..., p m in counterclockwise order, that p 1 p 2 is the top edge, and that the root of the given tree has k nodes in its left subtree. We introduce triangle p 1 p 2 p k+3, partitioning the polygon into a triangle and two subpolygons of sizes k + 2 and m k 1. Recursively, we find a triangulation of the polygon p 2,..., p k+3, with top edge p k+3 p 2, corresponding to the left subtree. Similarly, we find a triangulation of the polygon p 1, p k+3,..., p m, with top edge p 1 p k+3, corresponding to the right subtree. What is the value of b n = F(n + 2)? From Knuth, vol. 1, Sec , we get that b n = 1 n + 1 ( ) ( 2n = 4n n n 1 + O πn ( )) 1, n the n th Catalan number, which is also the number of ways to parenthesize a formula.

5 CS268: Ears Figure 4: Example of canonical trapezoid partition Definition 7. Given a simple polygon P, an ear of the polygon is a vertex whose neighbors are visible from each other. Lemma 8. Every simple polygon with P > 3 has at least two non-adjacent ears. Proof: From lemma 4, consider a triangulation of P and its dual graph. Since P > 3, the dual graph is not a single node, and since the dual graph is a tree, it must have at least two nodes of degree one. Our claim is that these two nodes correspond to non-adjacent ears. If a node in the dual has degree one, then two of the edges defining that triangle must be adjacent edges of the original polygon, and the third edge is the diagonal closing the triangle. Therefore the common vertex of the two polygon edges is an ear. Furthermore, since no polygon edge is used in more than one triangle, the second degree-one node cannot involve either of the polygon edges from the first, and therefore the ear corresponding to that node cannot be adjacent to the first. 6 Trapezoid Partitions In an earlier lecture we discussed the fact that adding vertical threads to an arrangement of lines partitioned the plane into trapezoids. We now review this process for simple polygons.

6 6 CS268: 5 Definition 9. Given a simple polygon, a trapezoid partition of the polygon is a partition of the interior of the polygon into trapezoids. Lemma 10. Every simple polygon admits a trapezoid partition. Proof: We will give a constructive proof. Given a polygon, add in all of the vertical threads that are in the interior of the polygon. Namely, from each vertex, if that vertex is below the interior of the polygon, extend a vertical thread up from that vertex until it reaches the nearest edge. Similarly, if the vertex is above the interior of the polygon, extend a thread vertically down from the vertex. Our claim is that the original edges of the polygon with these additional threads partitions the interior into trapezoids. Each face of our partition has one or two vertical threads as sides. If there are two threads, then they both must extend upward until each hits an edge of the original polygon. Our claim is that both sides must hit the same edge, and therefore the top of the face is a single segment. If the two sides hit two different edges, then there must be some vertex along the top chain visible, but if this were the case, there would have been a thread drawn from this vertex. A similar argument holds if the face was bounded by only one thread. A symmetric argument shows that each face has a single bottom segment, and therefore the face is a trapezoid. We will refer to the specific trapezoid partition constructed above as the canonical trapezoid partition. Figure 4 shows the canonical trapezoid partition of a simple polygon. Notice that every trapezoid is delimited on the left and right by an original vertex of the polygon since each thread is anchored to an original vertex. However, these left and right vertices can be on the top, middle, or bottom of the trapezoid. Also notice that the number of trapezoids is linear in the degree of the polygon since every polygon vertex has at most two incident threads, and the number of trapezoids is one greater than the number of threads. 7 Triangulating Unimonotone Polygons We begin by providing the definitions for monotone chains and polygons, and for unimonotone polygons. Definition 11. A polygonal chain is monotone (w.r.t. the x-axis) if any vertical line intersects it in at most one point. A polygon is monotone if it is the union of two monotone chains. A polygon is unimonotone if it is the union of two monotone chains, one of which consists of a single edge. Lemma 12. We can triangulate a unimonotone polygon in linear time.

7 CS268: 5 7 Figure 5: Triangulated unimonotone polygon Proof: We give a constructive proof by presenting an algorithm satisfying these bounds. The algorithm creates an ear decomposition by cutting off ears. Notice that any convex vertex in the longer monotone chain must be an ear. Our algorithm processes the vertices starting with the leftmost and following the longer monotone chain until the rightmost vertex is reached. The algorithm is similar in design to the Graham- Yao algorithm for computing the convex hull of a simple polygonal chain. The first vertex is placed on a stack. If the next vertex is an ear, then the diagonal of that ear is added to our triangulation and the ear is popped from the stack. Then the algorithm reconsiders the vertex at the top of the stack and proceeds. To check whether a vertex is an ear is simply a constant time check of whether the angle at that vertex is convex. Each vertex is pushed and popped from the stack exactly once, so the algorithm runs in linear time. Figure 5 shows the resulting triangulation of a unimonotone polygon. 8 Trapezoid Partitions and Triangulations The problems of constructing a triangulation of a simple polygon and constructing the canonical trapezoid partition are very similar. In fact there is a linear time equivalence between the two problems. We will only take time to show the more useful half of this claim, namely that given the canonical trapezoid partition, we can in linear time compute a triangulation. Theorem 13. Given the canonical trapezoid partition for a polygon P, we can in linear time compute a triangulation for P. Proof: We give a constructive proof by presenting an algorithm creating the triangulation. Given the canonical trapezoid partition, there are two steps.

8 8 CS268: 5 Figure 6: Trapezoid partition with obvious diagonals 1. Add obvious diagonals to P. 2. Triangulate the resulting (unimonotone) polygons. First we must explain the interpretation of obvious diagonals. Second, we will claim that the polygons that result by adding these diagonals to P are unimonotone, and thus can be triangulated by the algorithm given in lemma 12. Recall that each trapezoid in the canonical partition was delimited by exactly two vertices, one on the left side and one on the right side. For each trapezoid consider these two vertices. If the vertices do not already share an edge in the original polygon, then these two vertices define what we call an obvious diagonal. Notice that since the trapezoids are convex, the line segment connecting these vertices remains inside the trapezoid, and since the trapezoid is contained in the polygon, this is a valid diagonal for the original polygon. Also since the trapezoids are disjoint, we can add all such diagonals without fear of having any of them intersect each other. Figure 6 shows the obvious diagonals of a trapezoid partition. Adding all of these diagonals clearly takes linear time, since there are linearly many trapezoids, and checking and adding the diagonal for each one is a constant time operation. Now consider the components created by breaking up the original polygon with these obvious diagonals. We claim that each such component is in fact a unimonotone polygon. The key fact is that the canonical trapezoid partition for the original polygon, when limited to one of these components, gives us the canonical trapezoid partition for that component. Our first claim is that each component is x-monotone. Assume a non-monotone component exists, and therefore has a cusp at some point.

9 CS268: 5 9 Figure 7: Proof of unimonotone condition (See figure 7.) Consider the trapezoid immediately adjacent to that cusp, and its two defining vertices. One of these vertices will be the cusp vertex, and the other will be on the opposite side of the trapezoid. However, since the cusp is in the middle of the side, then no matter where the opposite vertex is, there will be an obvious diagonal between the two. Such a diagonal would have broken this component, and so there could not have been such a cusp. Therefore we know that each component is x-monotone. Now, assume that we have such an x-monotone component that is not unimonotone. Then both the upper and lower chains must have at least one internal vertex each. Therefore there must exist some trapezoid where one side contained a vertex from the top chain and the other side contained a vertex from the bottom chain. This trapezoid would contain an obvious diagonal, a contradiction. Therefore, one of the chains must be a single edge. (See figure 7.) Thus we have proven that every component created by step (1) is a unimonotone polygon. By lemma 12 we can triangulate each such component in linear time, and since we added only a linear number of diagonals to the original polygon, the combined size of all of these components is still linear. We have shown that both steps of our algorithm run in linear time and produce the desired triangulation. 9 Building the Trapezoid Partition The previous section implies that, given any algorithm to construct the canonical trapezoid partition, we immediately have a triangulation algorithm with the same time bound. In this section we present a simple sweepline algorithm that builds the trapezoid partition in O(n log n) time. In the following lecture, a randomized, incremental algorithm by Seidel will be presented which creates the trapezoid partition in O(n log n) time. The following algorithm takes a simple polygon P and creates the canonical trapezoid partition of P in O(n log n) time. The algorithm is a standard left-to-right sweepline method. The events are the vertices of the polygon. We maintain the intersections with the sweep line and the segments of the polygon. Also with each segment in the sweepline structure, if the interior of the polygon is immediately below that segment,

10 10 CS268: 5 Figure 8: Sweepline operations for trapezoid partition we store the rightmost vertical trapezoid edge directly below it. This pointer stores the left side of the currently half-open trapezoid with that segment as the top side. There are six possible event types that occur in the algorithm, and the operations for each of these cases is demonstrated in figure 8. Although not given formally in these notes, the implementation details of this algorithm are quite simple. The proof of correctness is not given in these notes. In general, our invariant claim is that all trapezoids completely to the left of the sweepline have already been processed and reported. The running time analysis for this algorithm is simple. Since all the events are known beforehand, the event list can be sorted beforehand in O(n log n) time. The sweepline is maintained as a balanced tree, and since the segments are all from the polygon, there can be at most n segments crossing the sweepline at once. Therefore locating an event in the sweepline can be done in O(log n) time, and the operations and reporting are all done in constant time for each event. It follows that the n events can be processed in O(n log n) time, which gives the desired bound on the overall time of the algorithm. Notice also that the working storage used is linear. The event queue consists of the n vertices, and thus is linear. Also the sweepline structure contains at most n segments, and for each segment, the data stored uses constant space.

Computational Geometry

Computational Geometry Motivation 1 Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment

More information

Computational Geometry

Computational Geometry Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is

More information

24: Polygon Partition - Faster Triangulations

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

More information

Triangulation. Is this always possible for any simple polygon? If not, which polygons are triangulable.

Triangulation. Is this always possible for any simple polygon? If not, which polygons are triangulable. Triangulation Partition polygon P into non-overlapping triangles using diagonals only. Is this always possible for any simple polygon? If not, which polygons are triangulable. Does the number of triangles

More information

Computational Geometry [csci 3250]

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

More information

Homework Exam 1, Geometric Algorithms, 2016

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

More information

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

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

More information

Introduction to Voronoi Diagrams

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

More information

1 Point Inclusion in a Polygon

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

More information

Week 2 Polygon Triangulation

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

More information

Polygon Triangulation. O Rourke, Chapter 1

Polygon Triangulation. O Rourke, Chapter 1 Polygon Triangulation O Rourke, Chapter 1 Outline Triangulation Duals Three Coloring Art Gallery Problem Definition A (simple) polygon is a region of the plane bounded by a finite collection of line segments

More information

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

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

More information

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 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

More information

Polygon Triangulation

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.

More information

Polygon Triangulation

Polygon Triangulation If triangles had a god, they would give him three sides. Charles Louis de Secondat Montesquie (1721) Down with Euclid! Death to triangles! Jean Dieudonné (1959) G Polygon Triangulation G.1 Introduction

More information

Planar Tree Transformation: Results and Counterexample

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

More information

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity. 7 Catalan Numbers Thomas A. Dowling, Department of Mathematics, Ohio State Uni- Author: versity. Prerequisites: The prerequisites for this chapter are recursive definitions, basic counting principles,

More information

Principle of (Weak) Mathematical Induction. P(1) ( n 1)(P(n) P(n + 1)) ( n 1)(P(n))

Principle of (Weak) Mathematical Induction. P(1) ( n 1)(P(n) P(n + 1)) ( n 1)(P(n)) Outline We will cover (over the next few weeks) Mathematical Induction (or Weak Induction) Strong (Mathematical) Induction Constructive Induction Structural Induction Principle of (Weak) Mathematical Induction

More information

DEGREE CONSTRAINED TRIANGULATION. Roshan Gyawali

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

More information

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

Divide-and-Conquer. Three main steps : 1. divide; 2. conquer; 3. merge. Divide-and-Conquer Three main steps : 1. divide; 2. conquer; 3. merge. 1 Let I denote the (sub)problem instance and S be its solution. The divide-and-conquer strategy can be described as follows. Procedure

More information

Chapter 6 Planarity. Section 6.1 Euler s Formula

Chapter 6 Planarity. Section 6.1 Euler s Formula Chapter 6 Planarity Section 6.1 Euler s Formula In Chapter 1 we introduced the puzzle of the three houses and the three utilities. The problem was to determine if we could connect each of the three utilities

More information

Triangulation by Ear Clipping

Triangulation by Ear Clipping Triangulation by Ear Clipping David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: November 18, 2002 Last Modified: August 16, 2015 Contents

More information

Planarity Planarity

Planarity Planarity Planarity 8.1 71 Planarity Up until now, graphs have been completely abstract. In Topological Graph Theory, it matters how the graphs are drawn. Do the edges cross? Are there knots in the graph structure?

More information

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 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

More information

Shortest Path Algorithms

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

More information

12. Visibility Graphs and 3-Sum Lecture on Monday 9 th

12. Visibility Graphs and 3-Sum Lecture on Monday 9 th 12. Visibility Graphs and 3-Sum Lecture on Monday 9 th November, 2009 by Michael Homann 12.1 Sorting all Angular Sequences. Theorem 12.1 Consider a set P of n points in the plane.

More information

Computational Geometry. Lecture 1: Introduction and Convex Hulls

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,

More information

Homework 15 Solutions

Homework 15 Solutions PROBLEM ONE (Trees) Homework 15 Solutions 1. Recall the definition of a tree: a tree is a connected, undirected graph which has no cycles. Which of the following definitions are equivalent to this definition

More information

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests 4 Basics of Trees Trees, actually acyclic connected simple graphs, are among the simplest graph classes. Despite their simplicity, they still have rich structure and many useful application, such as in

More information

Optimal Binary Space Partitions in the Plane

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

More information

10.1 Integer Programming and LP relaxation

10.1 Integer Programming and LP relaxation CS787: Advanced Algorithms Lecture 10: LP Relaxation and Rounding In this lecture we will design approximation algorithms using linear programming. The key insight behind this approach is that the closely

More information

Arrangements And Duality

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,

More information

Computational Geometry

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

More information

arxiv: v2 [math.mg] 8 Jan 2008

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

More information

8.1 Makespan Scheduling

8.1 Makespan Scheduling 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programing: Min-Makespan and Bin Packing Date: 2/19/15 Scribe: Gabriel Kaptchuk 8.1 Makespan Scheduling Consider an instance

More information

Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

More information

POWER SETS AND RELATIONS

POWER SETS AND RELATIONS POWER SETS AND RELATIONS L. MARIZZA A. BAILEY 1. The Power Set Now that we have defined sets as best we can, we can consider a sets of sets. If we were to assume nothing, except the existence of the empty

More information

GRAPH THEORY LECTURE 4: TREES

GRAPH THEORY LECTURE 4: TREES GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

More information

Shortest Inspection-Path. Queries in 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,

More information

COLORED GRAPHS AND THEIR PROPERTIES

COLORED GRAPHS AND THEIR PROPERTIES COLORED GRAPHS AND THEIR PROPERTIES BEN STEVENS 1. Introduction This paper is concerned with the upper bound on the chromatic number for graphs of maximum vertex degree under three different sets of coloring

More information

7.1 Introduction. CSci 335 Software Design and Analysis III Chapter 7 Sorting. Prof. Stewart Weiss

7.1 Introduction. CSci 335 Software Design and Analysis III Chapter 7 Sorting. Prof. Stewart Weiss Chapter 7 Sorting 7.1 Introduction Insertion sort is the sorting algorithm that splits an array into a sorted and an unsorted region, and repeatedly picks the lowest index element of the unsorted region

More information

Strong Induction. Catalan Numbers.

Strong Induction. Catalan Numbers. .. The game starts with a stack of n coins. In each move, you divide one stack into two nonempty stacks. + + + + + + + + + + If the new stacks have height a and b, then you score ab points for the move.

More information

Binary Space Partitions for Axis-Parallel Line Segments: Size-Height Tradeoffs

Binary Space Partitions for Axis-Parallel Line Segments: Size-Height Tradeoffs Binary Space Partitions for Axis-Parallel Line Segments: Size-Height Tradeoffs Sunil Arya Department of Computer Science The Hong Kong University of Science and Technology Clear Water Bay, Kowloon, Hong

More information

INCIDENCE-BETWEENNESS GEOMETRY

INCIDENCE-BETWEENNESS GEOMETRY INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full

More information

3. Markov property. Markov property for MRFs. Hammersley-Clifford theorem. Markov property for Bayesian networks. I-map, P-map, and chordal graphs

3. Markov property. Markov property for MRFs. Hammersley-Clifford theorem. Markov property for Bayesian networks. I-map, P-map, and chordal graphs Markov property 3-3. Markov property Markov property for MRFs Hammersley-Clifford theorem Markov property for ayesian networks I-map, P-map, and chordal graphs Markov Chain X Y Z X = Z Y µ(x, Y, Z) = f(x,

More information

2.3 Scheduling jobs on identical parallel machines

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

More information

Lecture 6: Approximation via LP Rounding

Lecture 6: Approximation via LP Rounding Lecture 6: Approximation via LP Rounding Let G = (V, E) be an (undirected) graph. A subset C V is called a vertex cover for G if for every edge (v i, v j ) E we have v i C or v j C (or both). In other

More information

(Refer Slide Time 1.50)

(Refer Slide Time 1.50) Discrete Mathematical Structures Dr. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Module -2 Lecture #11 Induction Today we shall consider proof

More information

1. Relevant standard graph theory

1. Relevant standard graph theory Color identical pairs in 4-chromatic graphs Asbjørn Brændeland I argue that, given a 4-chromatic graph G and a pair of vertices {u, v} in G, if the color of u equals the color of v in every 4-coloring

More information

The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

More information

Solving Geometric Problems with the Rotating Calipers *

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

More information

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010 CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison Gomory-Hu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected

More information

The Orthogonal Art Gallery Theorem with Constrained Guards

The Orthogonal Art Gallery Theorem with Constrained Guards The Orthogonal Art Gallery Theorem with Constrained Guards T. S. Michael 1 Mathematics Department United States Naval Academy Annapolis, MD, U.S.A. Val Pinciu 2 Department of Mathematics Southern Connecticut

More information

Selected practice exam solutions (part 5, item 2) (MAT 360)

Selected practice exam solutions (part 5, item 2) (MAT 360) Selected practice exam solutions (part 5, item ) (MAT 360) Harder 8,91,9,94(smaller should be replaced by greater )95,103,109,140,160,(178,179,180,181 this is really one problem),188,193,194,195 8. On

More information

Reflex Vertices A 2. A 1 Figure 2a

Reflex Vertices A 2. A 1 Figure 2a Reflex Vertices For any integer n 3, the polygon determined by the n points 1,..., n (1) in the plane consists of the n segments 1 2, 2 3,..., n-1 n, n 1, (2) provided that we never pass through a point

More information

Survey of Terrain Guarding and Art Gallery Problems

Survey of Terrain Guarding and Art Gallery Problems Survey of Terrain Guarding and Art Gallery Problems Erik Krohn Abstract The terrain guarding problem and art gallery problem are two areas in computational geometry. Different versions of terrain guarding

More information

Conflict-free Chromatic Art Gallery Coverage

Conflict-free Chromatic Art Gallery Coverage Conflict-free Chromatic Art Gallery Coverage Andreas Bärtschi 1 and Subhash Suri 1 Institute of Theoretical Computer Science, ETH Zürich 809 Zürich, Switzerland (andrbaer@student.ethz.ch) Department of

More information

COT5405 Analysis of Algorithms Homework 3 Solutions

COT5405 Analysis of Algorithms Homework 3 Solutions COT0 Analysis of Algorithms Homework 3 Solutions. Prove or give a counter example: (a) In the textbook, we have two routines for graph traversal - DFS(G) and BFS(G,s) - where G is a graph and s is any

More information

Graph Theory Notes. Vadim Lozin. Institute of Mathematics University of Warwick

Graph Theory Notes. Vadim Lozin. Institute of Mathematics University of Warwick Graph Theory Notes Vadim Lozin Institute of Mathematics University of Warwick 1 Introduction A graph G = (V, E) consists of two sets V and E. The elements of V are called the vertices and the elements

More information

Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

More information

Discrete Mathematics (2009 Spring) Induction and Recursion (Chapter 4, 3 hours)

Discrete Mathematics (2009 Spring) Induction and Recursion (Chapter 4, 3 hours) Discrete Mathematics (2009 Spring) Induction and Recursion (Chapter 4, 3 hours) Chih-Wei Yi Dept. of Computer Science National Chiao Tung University April 17, 2009 4.1 Mathematical Induction 4.1 Mathematical

More information

Chapter 4. Trees. 4.1 Basics

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.

More information

Characterizations of Arboricity of Graphs

Characterizations of Arboricity of Graphs Characterizations of Arboricity of Graphs Ruth Haas Smith College Northampton, MA USA Abstract The aim of this paper is to give several characterizations for the following two classes of graphs: (i) graphs

More information

Math 497C Sep 17, Curves and Surfaces Fall 2004, PSU

Math 497C Sep 17, Curves and Surfaces Fall 2004, PSU Math 497C Sep 17, 2004 1 Curves and Surfaces Fall 2004, PSU Lecture Notes 4 1.9 Curves of Constant Curvature Here we show that the only curves in the plane with constant curvature are lines and circles.

More information

Approximation Algorithms for Art Gallery Problems

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

More information

ORTHOGONAL POLYGONS 2.1. INTRODUCTION

ORTHOGONAL POLYGONS 2.1. INTRODUCTION ORTHOGONAL POLYGONS 2.1. INTRODUCTION In this chapter we consider orthogonal polygons, an important subclass of polygons that yield many interesting partitioning and art gallery theorems. An orthogonal

More information

Steven Skiena. skiena

Steven Skiena.  skiena Lecture 3: Recurrence Relations (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Argue the solution to T(n) =

More information

Disjoint Compatible Geometric Matchings

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,

More information

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it Seminar Path planning using Voronoi diagrams and B-Splines Stefano Martina stefano.martina@stud.unifi.it 23 may 2016 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

Partitioning edge-coloured complete graphs into monochromatic cycles and paths

Partitioning edge-coloured complete graphs into monochromatic cycles and paths arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edge-coloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political

More information

Lecture Notes on Spanning Trees

Lecture Notes on Spanning Trees Lecture Notes on Spanning Trees 15-122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 26, 2011 1 Introduction In this lecture we introduce graphs. Graphs provide a uniform model

More information

Solutions to Exercises 8

Solutions to Exercises 8 Discrete Mathematics Lent 2009 MA210 Solutions to Exercises 8 (1) Suppose that G is a graph in which every vertex has degree at least k, where k 1, and in which every cycle contains at least 4 vertices.

More information

Induction. Mayya Golitsyna School of Mathematics and Statistics University College Dublin

Induction. Mayya Golitsyna School of Mathematics and Statistics University College Dublin Induction Mayya Golitsyna School of Mathematics and Statistics University College Dublin Simple example: Suppose you see a queue, and 1) the first person in the queue is woman; 2) behind each woman there

More information

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

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

More information

POLYGON PARTITIONS 1.1. INTRODUCTION

POLYGON PARTITIONS 1.1. INTRODUCTION POLYGON PARTITIONS 1.1. INTRODUCTION In 1973, Victor Klee posed the problem of determining the minimum number of guards sufficient to cover the interior of an n-wall art gallery room (Honsberger 1976).

More information

Lecture notes from Foundations of Markov chain Monte Carlo methods University of Chicago, Spring 2002 Lecture 1, March 29, 2002

Lecture notes from Foundations of Markov chain Monte Carlo methods University of Chicago, Spring 2002 Lecture 1, March 29, 2002 Lecture notes from Foundations of Markov chain Monte Carlo methods University of Chicago, Spring 2002 Lecture 1, March 29, 2002 Eric Vigoda Scribe: Varsha Dani & Tom Hayes 1.1 Introduction The aim of this

More information

Full and Complete Binary Trees

Full and Complete Binary Trees Full and Complete Binary Trees Binary Tree Theorems 1 Here are two important types of binary trees. Note that the definitions, while similar, are logically independent. Definition: a binary tree T is full

More information

CSL851: Algorithmic Graph Theory Semester I Lecture 1: July 24

CSL851: Algorithmic Graph Theory Semester I Lecture 1: July 24 CSL851: Algorithmic Graph Theory Semester I 2013-2014 Lecture 1: July 24 Lecturer: Naveen Garg Scribes: Suyash Roongta Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have

More information

Induction Problems. Tom Davis November 7, 2005

Induction Problems. Tom Davis  November 7, 2005 Induction Problems Tom Davis tomrdavis@earthlin.net http://www.geometer.org/mathcircles November 7, 2005 All of the following problems should be proved by mathematical induction. The problems are not necessarily

More information

SCISSORS CONGRUENCE EFTON PARK

SCISSORS CONGRUENCE EFTON PARK SCISSORS CONGRUENCE EFTON PARK 1. Scissors Congruence in the Plane Definition 1.1. A polygonal decomposition of a polygon P in the plane is a finite set {P 1, P,..., P k } of polygons whose union is P

More information

Planar Graph and Trees

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

More information

(a) (b) (c) Figure 1 : Graphs, multigraphs and digraphs. If the vertices of the leftmost figure are labelled {1, 2, 3, 4} in clockwise order from

(a) (b) (c) Figure 1 : Graphs, multigraphs and digraphs. If the vertices of the leftmost figure are labelled {1, 2, 3, 4} in clockwise order from 4 Graph Theory Throughout these notes, a graph G is a pair (V, E) where V is a set and E is a set of unordered pairs of elements of V. The elements of V are called vertices and the elements of E are called

More information

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE Professor Kindred Math 04 Graph Theory Homework 7 Solutions April 3, 03 Introduction to Graph Theory, West Section 5. 0, variation of 5, 39 Section 5. 9 Section 5.3 3, 8, 3 Section 7. Problems you should

More information

Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path. Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

More information

Math 330A Class Drills All content copyright October 2010 by Mark Barsamian

Math 330A Class Drills All content copyright October 2010 by Mark Barsamian Math 330A Class Drills All content copyright October 2010 by Mark Barsamian When viewing the PDF version of this document, click on a title to go to the Class Drill. Drill for Section 1.3.1: Theorems about

More information

39 Symmetry of Plane Figures

39 Symmetry of Plane Figures 39 Symmetry of Plane Figures In this section, we are interested in the symmetric properties of plane figures. By a symmetry of a plane figure we mean a motion of the plane that moves the figure so that

More information

1 Polyhedra and Linear Programming

1 Polyhedra and Linear Programming CS 598CSC: Combinatorial Optimization Lecture date: January 21, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im 1 Polyhedra and Linear Programming In this lecture, we will cover some basic material

More information

6.042/18.062J Mathematics for Computer Science October 3, 2006 Tom Leighton and Ronitt Rubinfeld. Graph Theory III

6.042/18.062J Mathematics for Computer Science October 3, 2006 Tom Leighton and Ronitt Rubinfeld. Graph Theory III 6.04/8.06J Mathematics for Computer Science October 3, 006 Tom Leighton and Ronitt Rubinfeld Lecture Notes Graph Theory III Draft: please check back in a couple of days for a modified version of these

More information

Two General Methods to Reduce Delay and Change of Enumeration Algorithms

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

More information

Analysis of Algorithms, I

Analysis of Algorithms, I Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

More information

Combinatorics: The Fine Art of Counting

Combinatorics: The Fine Art of Counting Combinatorics: The Fine Art of Counting Week 9 Lecture Notes Graph Theory For completeness I have included the definitions from last week s lecture which we will be using in today s lecture along with

More information

Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS

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

More information

Math 443/543 Graph Theory Notes 4: Connector Problems

Math 443/543 Graph Theory Notes 4: Connector Problems Math 443/543 Graph Theory Notes 4: Connector Problems David Glickenstein September 19, 2012 1 Trees and the Minimal Connector Problem Here is the problem: Suppose we have a collection of cities which we

More information

Basic Notions on Graphs. Planar Graphs and Vertex Colourings. Joe Ryan. Presented by

Basic Notions on Graphs. Planar Graphs and Vertex Colourings. Joe Ryan. Presented by Basic Notions on Graphs Planar Graphs and Vertex Colourings Presented by Joe Ryan School of Electrical Engineering and Computer Science University of Newcastle, Australia Planar graphs Graphs may be drawn

More information

SOLVED PROBLEMS REVIEW COORDINATE GEOMETRY. 2.1 Use the slopes, distances, line equations to verify your guesses

SOLVED PROBLEMS REVIEW COORDINATE GEOMETRY. 2.1 Use the slopes, distances, line equations to verify your guesses CHAPTER SOLVED PROBLEMS REVIEW COORDINATE GEOMETRY For the review sessions, I will try to post some of the solved homework since I find that at this age both taking notes and proofs are still a burgeoning

More information

Voronoi Diagrams. (Slides mostly by Allen Miu)

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

More information

Approximating the Minimum Weight Triangulation

Approximating the Minimum Weight Triangulation Approximating the Minimum Weight Triangulation David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 91-55 July 2, 1991 Abstract We show

More information

A simple proof for the number of tilings of quartered Aztec diamonds

A simple proof for the number of tilings of quartered Aztec diamonds A simple proof for the number of tilings of quartered Aztec diamonds arxiv:1309.6720v1 [math.co] 26 Sep 2013 Tri Lai Department of Mathematics Indiana University Bloomington, IN 47405 tmlai@indiana.edu

More information

A counterexample to a result on the tree graph of a graph

A counterexample to a result on the tree graph of a graph AUSTRALASIAN JOURNAL OF COMBINATORICS Volume 63(3) (2015), Pages 368 373 A counterexample to a result on the tree graph of a graph Ana Paulina Figueroa Departamento de Matemáticas Instituto Tecnológico

More information

Mathematical Induction. Mary Barnes Sue Gordon

Mathematical Induction. Mary Barnes Sue Gordon Mathematics Learning Centre Mathematical Induction Mary Barnes Sue Gordon c 1987 University of Sydney Contents 1 Mathematical Induction 1 1.1 Why do we need proof by induction?.... 1 1. What is proof by

More information