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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 The Line vs Point Test

1 The Line vs Point Test 6.875 PCP and Hardness of Approximation MIT, Fall 2010 Lecture 5: Low Degree Testing Lecturer: Dana Moshkovitz Scribe: Gregory Minton and Dana Moshkovitz Having seen a probabilistic verifier for linearity

More information

Lecture 22: November 10

Lecture 22: November 10 CS271 Randomness & Computation Fall 2011 Lecture 22: November 10 Lecturer: Alistair Sinclair Based on scribe notes by Rafael Frongillo Disclaimer: These notes have not been subjected to the usual scrutiny

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 if 1 x 0 1 if 0 x 1

1 if 1 x 0 1 if 0 x 1 Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

More information

Topological Treatment of Platonic, Archimedean, and Related Polyhedra

Topological Treatment of Platonic, Archimedean, and Related Polyhedra Forum Geometricorum Volume 15 (015) 43 51. FORUM GEOM ISSN 1534-1178 Topological Treatment of Platonic, Archimedean, and Related Polyhedra Tom M. Apostol and Mamikon A. Mnatsakanian Abstract. Platonic

More information

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, 2010. Chapter 7: Digraphs

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, 2010. Chapter 7: Digraphs MCS-236: Graph Theory Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, 2010 Chapter 7: Digraphs Strong Digraphs Definitions. A digraph is an ordered pair (V, E), where V is the set

More information

The minimum number of distinct areas of triangles determined by a set of n points in the plane

The minimum number of distinct areas of triangles determined by a set of n points in the plane The minimum number of distinct areas of triangles determined by a set of n points in the plane Rom Pinchasi Israel Institute of Technology, Technion 1 August 6, 007 Abstract We prove a conjecture of Erdős,

More information

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

More information

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures Part 2: Data Structures PD Dr. rer. nat. habil. Ralf-Peter Mundani Computation in Engineering (CiE) Summer Term 2016 Overview general linked lists stacks queues trees 2 2

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

Connectivity and cuts

Connectivity and cuts Math 104, Graph Theory February 19, 2013 Measure of connectivity How connected are each of these graphs? > increasing connectivity > I G 1 is a tree, so it is a connected graph w/minimum # of edges. Every

More information

Lecture 17 : Equivalence and Order Relations DRAFT

Lecture 17 : Equivalence and Order Relations DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

More information

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

A Note on Maximum Independent Sets in Rectangle Intersection Graphs A Note on Maximum Independent Sets in Rectangle Intersection Graphs Timothy M. Chan School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1, Canada tmchan@uwaterloo.ca September 12,

More information

Diffuse Reflection Radius in a Simple Polygon

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

More information

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

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

More information

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

More information

Lecture 16 : Relations and Functions DRAFT

Lecture 16 : Relations and Functions DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/29/2011 Lecture 16 : Relations and Functions Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT In Lecture 3, we described a correspondence

More information

Graphs without proper subgraphs of minimum degree 3 and short cycles

Graphs without proper subgraphs of minimum degree 3 and short cycles Graphs without proper subgraphs of minimum degree 3 and short cycles Lothar Narins, Alexey Pokrovskiy, Tibor Szabó Department of Mathematics, Freie Universität, Berlin, Germany. August 22, 2014 Abstract

More information

Binary Search Trees CMPSC 122

Binary Search Trees CMPSC 122 Binary Search Trees CMPSC 122 Note: This notes packet has significant overlap with the first set of trees notes I do in CMPSC 360, but goes into much greater depth on turning BSTs into pseudocode than

More information

HOLES 5.1. INTRODUCTION

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

More information

E XPLORING QUADRILATERALS

E XPLORING QUADRILATERALS E XPLORING QUADRILATERALS E 1 Geometry State Goal 9: Use geometric methods to analyze, categorize and draw conclusions about points, lines, planes and space. Statement of Purpose: The activities in this

More information

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle Page 1 of?? ENG rectangle Rectangle Spoiler Solution of SQUARE For start, let s solve a similar looking easier task: find the area of the largest square. All we have to do is pick two points A and B and

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

Line Segment Intersection

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

More information

arxiv:1203.1525v1 [math.co] 7 Mar 2012

arxiv:1203.1525v1 [math.co] 7 Mar 2012 Constructing subset partition graphs with strong adjacency and end-point count properties Nicolai Hähnle haehnle@math.tu-berlin.de arxiv:1203.1525v1 [math.co] 7 Mar 2012 March 8, 2012 Abstract Kim defined

More information

Tree-representation of set families and applications to combinatorial decompositions

Tree-representation of set families and applications to combinatorial decompositions Tree-representation of set families and applications to combinatorial decompositions Binh-Minh Bui-Xuan a, Michel Habib b Michaël Rao c a Department of Informatics, University of Bergen, Norway. buixuan@ii.uib.no

More information

Graph Theory Problems and Solutions

Graph Theory Problems and Solutions raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

More information

INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS

INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS STEVEN P. LALLEY AND ANDREW NOBEL Abstract. It is shown that there are no consistent decision rules for the hypothesis testing problem

More information

THE DIMENSION OF A VECTOR SPACE

THE DIMENSION OF A VECTOR SPACE THE DIMENSION OF A VECTOR SPACE KEITH CONRAD This handout is a supplementary discussion leading up to the definition of dimension and some of its basic properties. Let V be a vector space over a field

More information

Mathematical Induction. Lecture 10-11

Mathematical Induction. Lecture 10-11 Mathematical Induction Lecture 10-11 Menu Mathematical Induction Strong Induction Recursive Definitions Structural Induction Climbing an Infinite Ladder Suppose we have an infinite ladder: 1. We can reach

More information

Binary Search Trees. Data in each node. Larger than the data in its left child Smaller than the data in its right child

Binary Search Trees. Data in each node. Larger than the data in its left child Smaller than the data in its right child Binary Search Trees Data in each node Larger than the data in its left child Smaller than the data in its right child FIGURE 11-6 Arbitrary binary tree FIGURE 11-7 Binary search tree Data Structures Using

More information

MODERN APPLICATIONS OF PYTHAGORAS S THEOREM

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

More information

Shortcut sets for plane Euclidean networks (Extended abstract) 1

Shortcut sets for plane Euclidean networks (Extended abstract) 1 Shortcut sets for plane Euclidean networks (Extended abstract) 1 J. Cáceres a D. Garijo b A. González b A. Márquez b M. L. Puertas a P. Ribeiro c a Departamento de Matemáticas, Universidad de Almería,

More information

A Turán Type Problem Concerning the Powers of the Degrees of a Graph

A Turán Type Problem Concerning the Powers of the Degrees of a Graph A Turán Type Problem Concerning the Powers of the Degrees of a Graph Yair Caro and Raphael Yuster Department of Mathematics University of Haifa-ORANIM, Tivon 36006, Israel. AMS Subject Classification:

More information

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

More information

Many algorithms, particularly divide and conquer algorithms, have time complexities which are naturally

Many algorithms, particularly divide and conquer algorithms, have time complexities which are naturally Recurrence Relations Many algorithms, particularly divide and conquer algorithms, have time complexities which are naturally modeled by recurrence relations. A recurrence relation is an equation which

More information

Geometric Transformations

Geometric Transformations Geometric Transformations Definitions Def: f is a mapping (function) of a set A into a set B if for every element a of A there exists a unique element b of B that is paired with a; this pairing is denoted

More information

6.3 Conditional Probability and Independence

6.3 Conditional Probability and Independence 222 CHAPTER 6. PROBABILITY 6.3 Conditional Probability and Independence Conditional Probability Two cubical dice each have a triangle painted on one side, a circle painted on two sides and a square painted

More information

5.3 The Cross Product in R 3

5.3 The Cross Product in R 3 53 The Cross Product in R 3 Definition 531 Let u = [u 1, u 2, u 3 ] and v = [v 1, v 2, v 3 ] Then the vector given by [u 2 v 3 u 3 v 2, u 3 v 1 u 1 v 3, u 1 v 2 u 2 v 1 ] is called the cross product (or

More information

The number of generalized balanced lines

The number of generalized balanced lines The number of generalized balanced lines David Orden Pedro Ramos Gelasio Salazar Abstract Let S be a set of r red points and b = r + 2δ blue points in general position in the plane, with δ 0. A line l

More information

8.1 Min Degree Spanning Tree

8.1 Min Degree Spanning Tree CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

More information

Triangle deletion. Ernie Croot. February 3, 2010

Triangle deletion. Ernie Croot. February 3, 2010 Triangle deletion Ernie Croot February 3, 2010 1 Introduction The purpose of this note is to give an intuitive outline of the triangle deletion theorem of Ruzsa and Szemerédi, which says that if G = (V,

More information

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH 31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

More information

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

More information

MATH10040 Chapter 2: Prime and relatively prime numbers

MATH10040 Chapter 2: Prime and relatively prime numbers MATH10040 Chapter 2: Prime and relatively prime numbers Recall the basic definition: 1. Prime numbers Definition 1.1. Recall that a positive integer is said to be prime if it has precisely two positive

More information

arxiv:1409.4299v1 [cs.cg] 15 Sep 2014

arxiv:1409.4299v1 [cs.cg] 15 Sep 2014 Planar Embeddings with Small and Uniform Faces Giordano Da Lozzo, Vít Jelínek, Jan Kratochvíl 3, and Ignaz Rutter 3,4 arxiv:409.499v [cs.cg] 5 Sep 04 Department of Engineering, Roma Tre University, Italy

More information

Maximum Hitting Time for Random Walks on Graphs. Graham Brightwell, Cambridge University Peter Winkler*, Emory University

Maximum Hitting Time for Random Walks on Graphs. Graham Brightwell, Cambridge University Peter Winkler*, Emory University Maximum Hitting Time for Random Walks on Graphs Graham Brightwell, Cambridge University Peter Winkler*, Emory University Abstract. For x and y vertices of a connected graph G, let T G (x, y denote the

More information

Figure 1.1 Vector A and Vector F

Figure 1.1 Vector A and Vector F CHAPTER I VECTOR QUANTITIES Quantities are anything which can be measured, and stated with number. Quantities in physics are divided into two types; scalar and vector quantities. Scalar quantities have

More information

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows:

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: Chapter 12: Binary Search Trees A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: For all nodes x and y, if y belongs to the left subtree

More information

Markov random fields and Gibbs measures

Markov random fields and Gibbs measures Chapter Markov random fields and Gibbs measures 1. Conditional independence Suppose X i is a random element of (X i, B i ), for i = 1, 2, 3, with all X i defined on the same probability space (.F, P).

More information

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92. Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

More information

Synthetic Projective Treatment of Cevian Nests and Graves Triangles

Synthetic Projective Treatment of Cevian Nests and Graves Triangles Synthetic Projective Treatment of Cevian Nests and Graves Triangles Igor Minevich 1 Introduction Several proofs of the cevian nest theorem (given below) are known, including one using ratios along sides

More information

5.1 Bipartite Matching

5.1 Bipartite Matching CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

More information

Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902

Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902 Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902 http://www.ms.uky.edu/~mschreffler Different Graphs, Similar Properties

More information

CS473 - Algorithms I

CS473 - Algorithms I CS473 - Algorithms I Lecture 4 The Divide-and-Conquer Design Paradigm View in slide-show mode 1 Reminder: Merge Sort Input array A sort this half sort this half Divide Conquer merge two sorted halves Combine

More information

Chapter 6. Cuboids. and. vol(conv(p ))

Chapter 6. Cuboids. and. vol(conv(p )) Chapter 6 Cuboids We have already seen that we can efficiently find the bounding box Q(P ) and an arbitrarily good approximation to the smallest enclosing ball B(P ) of a set P R d. Unfortunately, both

More information

Largest Fixed-Aspect, Axis-Aligned Rectangle

Largest Fixed-Aspect, Axis-Aligned Rectangle Largest Fixed-Aspect, Axis-Aligned Rectangle David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: February 21, 2004 Last Modified: February

More information

CHAPTER 9. Integer Programming

CHAPTER 9. Integer Programming CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

More information

Fast nondeterministic recognition of context-free languages using two queues

Fast nondeterministic recognition of context-free languages using two queues Fast nondeterministic recognition of context-free languages using two queues Burton Rosenberg University of Miami Abstract We show how to accept a context-free language nondeterministically in O( n log

More information

Solutions to Homework 6

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

More information

Tiers, Preference Similarity, and the Limits on Stable Partners

Tiers, Preference Similarity, and the Limits on Stable Partners Tiers, Preference Similarity, and the Limits on Stable Partners KANDORI, Michihiro, KOJIMA, Fuhito, and YASUDA, Yosuke February 7, 2010 Preliminary and incomplete. Do not circulate. Abstract We consider

More information

Approximation Algorithms

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

More information

On the k-path cover problem for cacti

On the k-path cover problem for cacti On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we

More information

Mathematical Induction

Mathematical Induction Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

More information

Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb

Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb Binary Search Trees Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 27 1 Properties of Binary Search Trees 2 Basic BST operations The worst-case time complexity of BST operations

More information

Odd induced subgraphs in graphs of maximum degree three

Odd induced subgraphs in graphs of maximum degree three Odd induced subgraphs in graphs of maximum degree three David M. Berman, Hong Wang, and Larry Wargo Department of Mathematics University of New Orleans New Orleans, Louisiana, USA 70148 Abstract A long-standing

More information

1/1 7/4 2/2 12/7 10/30 12/25

1/1 7/4 2/2 12/7 10/30 12/25 Binary Heaps A binary heap is dened to be a binary tree with a key in each node such that: 1. All leaves are on, at most, two adjacent levels. 2. All leaves on the lowest level occur to the left, and all

More information

Distributed Computing over Communication Networks: Maximal Independent Set

Distributed Computing over Communication Networks: Maximal Independent Set Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.

More information

Incenter Circumcenter

Incenter Circumcenter TRIANGLE: Centers: Incenter Incenter is the center of the inscribed circle (incircle) of the triangle, it is the point of intersection of the angle bisectors of the triangle. The radius of incircle is

More information

INTERSECTION OF LINE-SEGMENTS

INTERSECTION OF LINE-SEGMENTS INTERSECTION OF LINE-SEGMENTS Vera Sacristán Discrete and Algorithmic Geometry Facultat de Matemàtiques i Estadística Universitat Politècnica de Catalunya Problem Input: n line-segments in the plane,

More information

Quadrilaterals GETTING READY FOR INSTRUCTION

Quadrilaterals GETTING READY FOR INSTRUCTION Quadrilaterals / Mathematics Unit: 11 Lesson: 01 Duration: 7 days Lesson Synopsis: In this lesson students explore properties of quadrilaterals in a variety of ways including concrete modeling, patty paper

More information

Lecture 10 Union-Find The union-nd data structure is motivated by Kruskal's minimum spanning tree algorithm (Algorithm 2.6), in which we needed two operations on disjoint sets of vertices: determine whether

More information

CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

More information

Math 181 Handout 16. Rich Schwartz. March 9, 2010

Math 181 Handout 16. Rich Schwartz. March 9, 2010 Math 8 Handout 6 Rich Schwartz March 9, 200 The purpose of this handout is to describe continued fractions and their connection to hyperbolic geometry. The Gauss Map Given any x (0, ) we define γ(x) =

More information

PYTHAGOREAN TRIPLES KEITH CONRAD

PYTHAGOREAN TRIPLES KEITH CONRAD PYTHAGOREAN TRIPLES KEITH CONRAD 1. Introduction A Pythagorean triple is a triple of positive integers (a, b, c) where a + b = c. Examples include (3, 4, 5), (5, 1, 13), and (8, 15, 17). Below is an ancient

More information

1 Review of Newton Polynomials

1 Review of Newton Polynomials cs: introduction to numerical analysis 0/0/0 Lecture 8: Polynomial Interpolation: Using Newton Polynomials and Error Analysis Instructor: Professor Amos Ron Scribes: Giordano Fusco, Mark Cowlishaw, Nathanael

More information

Analysis of Algorithms I: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

More information

alternate interior angles

alternate interior angles alternate interior angles two non-adjacent angles that lie on the opposite sides of a transversal between two lines that the transversal intersects (a description of the location of the angles); alternate

More information

Comments on Quotient Spaces and Quotient Maps

Comments on Quotient Spaces and Quotient Maps 22M:132 Fall 07 J. Simon Comments on Quotient Spaces and Quotient Maps There are many situations in topology where we build a topological space by starting with some (often simpler) space[s] and doing

More information

Data Structure [Question Bank]

Data Structure [Question Bank] Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

More information

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

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

More information