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


 Hester Oliver
 2 years ago
 Views:
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 nonadjacent 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 onetoone 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 nvertex 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 nvertex polygons; the maximum value is achieved for convex polygons. Let F(n) denote the number of distinct triangulations of an nvertex 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 onetoone 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 nonadjacent 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 nonadjacent 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 degreeone 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 xaxis) 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 xmonotone. Assume a nonmonotone 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 xmonotone. Now, assume that we have such an xmonotone 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 lefttoright 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 halfopen 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
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 informationComputational 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 information24: 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 informationTriangulation. Is this always possible for any simple polygon? If not, which polygons are triangulable.
Triangulation Partition polygon P into nonoverlapping triangles using diagonals only. Is this always possible for any simple polygon? If not, which polygons are triangulable. Does the number of triangles
More informationComputational 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 informationHomework Exam 1, Geometric Algorithms, 2016
Homework Exam 1, Geometric Algorithms, 2016 1. (3 points) Let P be a convex polyhedron in 3dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the
More informationMonotone 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 informationIntroduction 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 information1 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 informationWeek 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 informationPolygon 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 informationTufts 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 informationLattice 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 informationPolygon 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 selfintersection.
More informationPolygon 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 informationPlanar 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 informationCatalan 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 informationPrinciple 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 informationDEGREE 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 informationDivideandConquer. Three main steps : 1. divide; 2. conquer; 3. merge.
DivideandConquer Three main steps : 1. divide; 2. conquer; 3. merge. 1 Let I denote the (sub)problem instance and S be its solution. The divideandconquer strategy can be described as follows. Procedure
More informationChapter 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 informationTriangulation by Ear Clipping
Triangulation by Ear Clipping David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 19982016. All Rights Reserved. Created: November 18, 2002 Last Modified: August 16, 2015 Contents
More informationPlanarity 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 informationMasters 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 informationShortest Path Algorithms
Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Halfplanes Notes on Binary/Ternary Search Cross
More information12. Visibility Graphs and 3Sum Lecture on Monday 9 th
12. Visibility Graphs and 3Sum 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 informationComputational Geometry. Lecture 1: Introduction and Convex Hulls
Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (twodimensional), R 2 Space (threedimensional), R 3 Space (higherdimensional), R d A point in the plane, 3dimensional space,
More informationHomework 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 information4 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 informationOptimal 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 information10.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 informationArrangements 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 informationComputational 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 informationarxiv: v2 [math.mg] 8 Jan 2008
On the maximum size of an antichain of linearly separable sets and convex pseudodiscs 1 Rom Pinchasi Günter Rote arxiv:0707.0311v [math.mg] 8 Jan 008 February 13, 013 Abstract We answer a question raised
More information8.1 Makespan Scheduling
600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programing: MinMakespan and Bin Packing Date: 2/19/15 Scribe: Gabriel Kaptchuk 8.1 Makespan Scheduling Consider an instance
More informationLecture 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 informationPOWER 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 informationGRAPH 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 informationShortest InspectionPath. Queries in Simple Polygons
Shortest InspectionPath Queries in Simple Polygons Christian Knauer, Günter Rote B 0505 April 2005 Shortest InspectionPath Queries in Simple Polygons Christian Knauer, Günter Rote Institut für Informatik,
More informationCOLORED 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 information7.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 informationStrong 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 informationBinary Space Partitions for AxisParallel Line Segments: SizeHeight Tradeoffs
Binary Space Partitions for AxisParallel Line Segments: SizeHeight Tradeoffs Sunil Arya Department of Computer Science The Hong Kong University of Science and Technology Clear Water Bay, Kowloon, Hong
More informationINCIDENCEBETWEENNESS GEOMETRY
INCIDENCEBETWEENNESS 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 information3. Markov property. Markov property for MRFs. HammersleyClifford theorem. Markov property for Bayesian networks. Imap, Pmap, and chordal graphs
Markov property 33. Markov property Markov property for MRFs HammersleyClifford theorem Markov property for ayesian networks Imap, Pmap, and chordal graphs Markov Chain X Y Z X = Z Y µ(x, Y, Z) = f(x,
More information2.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 informationLecture 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)
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 information1. Relevant standard graph theory
Color identical pairs in 4chromatic graphs Asbjørn Brændeland I argue that, given a 4chromatic graph G and a pair of vertices {u, v} in G, if the color of u equals the color of v in every 4coloring
More informationThe 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 informationSolving 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 informationCS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010
CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison GomoryHu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected
More informationThe 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 informationSelected 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 informationReflex 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,..., n1 n, n 1, (2) provided that we never pass through a point
More informationSurvey 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 informationConflictfree Chromatic Art Gallery Coverage
Conflictfree 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 informationCOT5405 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 informationGraph 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 informationLecture 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 informationDiscrete Mathematics (2009 Spring) Induction and Recursion (Chapter 4, 3 hours)
Discrete Mathematics (2009 Spring) Induction and Recursion (Chapter 4, 3 hours) ChihWei Yi Dept. of Computer Science National Chiao Tung University April 17, 2009 4.1 Mathematical Induction 4.1 Mathematical
More informationChapter 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 informationCharacterizations 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 informationMath 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 informationApproximation 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 informationORTHOGONAL 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 informationSteven 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 informationDisjoint 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 informationSeminar. Path planning using Voronoi diagrams and BSplines. Stefano Martina stefano.martina@stud.unifi.it
Seminar Path planning using Voronoi diagrams and BSplines Stefano Martina stefano.martina@stud.unifi.it 23 may 2016 This work is licensed under a Creative Commons AttributionShareAlike 4.0 International
More informationPartitioning edgecoloured complete graphs into monochromatic cycles and paths
arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edgecoloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political
More informationLecture Notes on Spanning Trees
Lecture Notes on Spanning Trees 15122: 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 informationSolutions 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 informationInduction. 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 informationAxiom 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 informationPOLYGON 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 nwall art gallery room (Honsberger 1976).
More informationLecture 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 informationFull 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 informationCSL851: Algorithmic Graph Theory Semester I Lecture 1: July 24
CSL851: Algorithmic Graph Theory Semester I 20132014 Lecture 1: July 24 Lecturer: Naveen Garg Scribes: Suyash Roongta Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have
More informationInduction 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 informationSCISSORS 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 informationPlanar 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
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 informationDO NOT REDISTRIBUTE 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 informationTheorem 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 informationMath 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 information39 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 information1 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 information6.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 informationTwo General Methods to Reduce Delay and Change of Enumeration Algorithms
ISSN 13465597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII2003004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration
More informationAnalysis 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 Breadthfirst search (BFS) 4 Applications
More informationCombinatorics: 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 informationHomework 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 informationMath 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 informationBasic 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 informationSOLVED 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 informationVoronoi 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 informationApproximating 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 9155 July 2, 1991 Abstract We show
More informationA 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 informationA 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 informationMathematical 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