# Closest Pair Problem

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Closest Pair Problem Given n points in d-dimensions, find two whose mutual distance is smallest. Fundamental problem in many applications as well as a key step in many algorithms. p q A naive algorithm takes O(dn 2 ) time. Element uniqueness reduces to Closest Pair, so Ω(n log n) lower bound. We will develop a divide-and-conquer based O(n log n) algorithm; dimension d assumed constant.

2 1-Dimension Problem 1D problem can be solved in O(n log n) via sorting. Sorting, however, does not generalize to higher dimensions. So, let s develop a divide-and-conquer for 1D. Divide the points S into two sets S 1, S 2 by some x-coordinate so that p < q for all p S 1 and q S 2. Recursively compute closest pair (p 1, p 2 ) in S 1 and (q 1, q 2 ) in S 2. S1 S2 p1 p2 p3 q3 q1 q2 median m Let be the smallest separation found so far: = min( p 2 p 1, q 2 q 1 )

3 1D Divide & Conquer S1 S2 p1 p2 p3 q3 q1 q2 median m The closest pair is {p 1, p 2 }, or {q 1, q 2 }, or some {p 3, q 3 } where p 3 S 1 and q 3 S 2. Key Observation: If m is the dividing coordinate, then p 3, q 3 must be within of m. In 1D, p 3 must be the rightmost point of S 1 and q 3 the leftmost point of S 2, but these notions do not generalize to higher dimensions. How many points of S 1 can lie in the interval (m, m]? By definition of, at most one. Same holds for S 2.

4 1D Divide & Conquer S1 S2 p1 p2 p3 q3 q1 q2 Closest-Pair (S). median m If S = 1, output =. If S = 2, output = p 2 p 1. Otherwise, do the following steps: 1. Let m = median(s). 2. Divide S into S 1, S 2 at m = Closest-Pair(S 1 ) = Closest-Pair(S 2 ) is minimum distance across the cut. 6. Return = min( 1, 2, 12 ). Recurrence is T (n) = 2T (n/2) + O(n), which solves to T (n) = O(n log n).

5 2-D Closest Pair We partition S into S 1, S 2 by vertical line l defined by median x-coordinate in S. Recursively compute closest pair distances 1 and 2. Set = min( 1, 2 ). Now compute the closest pair with one point each in S 1 and S 2. S1 S2 p1 1 q1 2 q2 p2 P1 P2 In each candidate pair (p, q), where p S 1 and q S 2, the points p, q must both lie within of l.

6 2-D Closest Pair At this point, complications arise, which weren t present in 1D. It s entirely possible that all n/2 points of S 1 (and S 2 ) lie within of l. S1 S2 p1 1 q1 2 q2 p2 P1 P2 Naively, this would require n 2 /4 calculations. We show that points in P 1, P 2 ( strip around l) have a special structure, and solve the conquer step faster.

7 Conquer Step Consider a point p S 1. All points of S 2 within distance of p must lie in a 2 rectangle R. p R R P1 P2 How many points can be inside R if each pair is at least apart? In 2D, this number is at most 6! So, we only need to perform 6 n/2 distance comparisons! We don t have an O(n log n) time algorithm yet. Why?

8 Conquer Step Pairs In order to determine at most 6 potential mates of p, project p and all points of P 2 onto line l. p R R P1 P2 Pick out points whose projection is within of p; at most six. We can do this for all p, by walking sorted lists of P 1 and P 2, in total O(n) time. The sorted lists for P 1, P 2 can be obtained from pre-sorting of S 1, S 2. Final recurrence is T (n) = 2T (n/2) + O(n), which solves to T (n) = O(n log n).

9 d-dimensional Closest Pair Two key features of the divide and conquer strategy are these: 1. The step where subproblems are combined takes place in one lower dimension. 2. The subproblems in the combine step satisfy a sparsity condition. 3. Sparsity Condition: Any cube with side length 2 contains O(1) points of S. 4. Note that the original problem does not necessarily have this condition. Dividing Plane H

10 The Sparse Problem Given n points with -sparsity condition, find all pairs within distance. Divide the set into S 1, S 2 by a median place H. Recursively solve the problem in two halves. Project all points lying within thick slab around H onto H. Call this set S. S inherits the -sparsity condition. Why?. Recursively solve the problem for S in d 1 space. The algorithms satisfies the recurrence U(n, d) = 2U(n/2, d) + U(n, d 1) + O(n). which solves to U(n, d) = O(n(log n) d 1 ).

11 Getting Sparsity Recall that divide and conquer algorithm solves the left and right half problems recursively. The sparsity holds for the merge problem, which concerns points within thick slab around H. Dividing Plane H Set P2 If S is a set where inter-point distance is at least, then the -cube centered at p contains at most a constant number of points of S, depending on d.

12 Proof of Sparsity Let C be the -cube centered at p. Let L be the set of points in C. Imagine placing a ball of radius /2 around each point of L. No two balls can intersect. Why? The volume of cube C is (2) d. The volume of each ball is 1 c d (/2) d, for a constant c d. Thus, the maximum number of balls, or points, is at most c d 4 d, which is O(1). ball a b /2ball

13 Closest Pair Algorithm Divide the input S into S 1, S 2 by the median hyperplane normal to some axis. Recursively compute 1, 2 for S 1, S 2. Set = min( 1, 2 ). Let S be the set of points that are within of H, projected onto H. Use the -sparsity condition to recursively examine all pairs in S there are only O(n) pairs. The recurrence for the final algorithm is: T (n, d) = 2T (n/2, d) + U(n, d 1) + O(n) = 2T (n/2, d) + O(n(log n) d 2 ) + O(n) = O(n(log n) d 1 ).

14 Improving the Algorithm If we could show that the problem size in the conquer step is m n/(log n) d 2, then U(m, d 1) = O(m(log m) d 2 ) = O(n). This would give final recurrence T (n, d) = 2T (n/2, d) + O(n) + O(n), which solves to O(n log n). Theorem: Given a set S with -sparsity, there exists a hyperplane H normal to some axis such that 1. S 1, S 2 n/4d. 2. Number of points within of H is O( n (log n) d 2 ). 3. H can be found in O(n) time.

15 Sparse Hyperplane We prove the theorem for 2D. Show there is a line with α n points within of it, for some constant α. For contradiction, assume no such line exists. Partition the plane by placing vertical lines at distance 2 from each other, where to the left of leftmost line, and right of rightmost line. > n/2 points 2 l lines 2 k lines

16 Sparse Hyperplane If there are k slabs, we have kα n 3n/4, which gives k 3 4α n. > n/2 points 2 l lines 2 k lines Similarly, if there is no horizontal line with desired properties, we get l 3 4α n. By sparsity, number of points in any 2 cell is some constant c.

17 Sparse Hyperplane > n/2 points 2 l lines 2 k lines This gives that the num. of points inside all the slabs is at most ckl, which is at most ( 3 4α) 2 cn. Since there are n/2 points inside the slabs, this is a contradiction if we choose α 18c 4. So, one of these k vertical of l horizontal lines must satisfy the desired properties. Since we know, we can check these k + l lines and choose the correct one in O(n) time.

18 Optimal Algorithm Actually we can start the algorithm with such a hyperplane. The divide and conquer algorithm now satisfies the recurrence T (n, d) = 2T (n/2, d) + U(m, d 1) + O(n). By new sparsity claim, m n/(log n) d 2, and so U(m, d 1) = O(m(log m) d 2 ) = O(n). Thus, T (n, d) = 2T (n/2, d) + O(n) + O(n), which solves to O(n log n). Solves the Closest Pair problem in fixed d in optimal O(n log n) time.

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

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

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

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

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

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

### 5.4 Closest Pair of Points

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

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

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

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

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

### Closest Pair of Points. Kleinberg and Tardos Section 5.4

Closest Pair of Points Kleinberg and Tardos Section 5.4 Closest Pair of Points Closest pair. Given n points in the plane, find a pair with smallest Euclidean distance between them. Fundamental geometric

### Quicksort is a divide-and-conquer sorting algorithm in which division is dynamically carried out (as opposed to static division in Mergesort).

Chapter 7: Quicksort Quicksort is a divide-and-conquer sorting algorithm in which division is dynamically carried out (as opposed to static division in Mergesort). The three steps of Quicksort are as follows:

### The Selection Problem

The Selection Problem The selection problem: given an integer k and a list x 1,..., x n of n elements find the k-th smallest element in the list Example: the 3rd smallest element of the following list

### Computational Geometry

Smallest enclosing circles and more 1 Facility location Introduction Facility location Properties of the smallest enclosing circle Given a set of houses and farms in an isolated area. Can we place a helicopter

### Divide and Conquer: Counting Inversions

Divide and Conquer: Counting Inversions Rank Analysis Collaborative filtering matches your preference (books, music, movies, restaurants) with that of others finds people with similar tastes recommends

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

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

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

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

### EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

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

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

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

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

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

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

### Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 5311 Lecture 3 Divide-and-Conquer Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 Reviewing: Θ-notation

### CS 102: SOLUTIONS TO DIVIDE AND CONQUER ALGORITHMS (ASSGN 4)

CS 10: SOLUTIONS TO DIVIDE AND CONQUER ALGORITHMS (ASSGN 4) Problem 1. a. Consider the modified binary search algorithm so that it splits the input not into two sets of almost-equal sizes, but into three

### Recurrences (CLRS )

Recurrences (CLRS 4.1-4.2) Last time we discussed divide-and-conquer algorithms Divide and Conquer To Solve P: 1. Divide P into smaller problems P 1,P 2,P 3...P k. 2. Conquer by solving the (smaller) subproblems

### Algorithms for Computing Convex Hulls Using Linear Programming

Algorithms for Computing Convex Hulls Using Linear Programming Bo Mortensen, 20073241 Master s Thesis, Computer Science February 2015 Advisor: Peyman Afshani Advisor: Gerth Stølting Brodal AARHUS AU UNIVERSITY

### CS2223 Algorithms B Term 2013 Exam 2 Solutions

CS2223 Algorithms B Term 2013 Exam 2 Solutions Dec. 3, 2013 By Prof. Carolina Ruiz Dept. of Computer Science WPI PROBLEM 1: Solving Recurrences (15 points) Solve the recurrence T (n) = 2T (n/3) + n using

### Near Optimal Solutions

Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

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

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

### Algorithms Analysis Chapter 7 Quicksort. Quicksort

Algorithms Analysis Chapter 7 Quicksort 1 Quicksort Quicksort pros: Sorts in place Sorts O(n lg n) in the average case Very efficient in practice Quicksort cons: Sorts O(n 2 ) in the worst case not stable

### CS 4310 HOMEWORK SET 1

CS 4310 HOMEWORK SET 1 PAUL MILLER Section 2.1 Exercises Exercise 2.1-1. Using Figure 2.2 as a model, illustrate the operation of INSERTION-SORT on the array A = 31, 41, 59, 26, 41, 58. Solution: Assume

### Steven Skiena. skiena

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

### Format of Divide-and-Conquer algorithms:

CS 360: Data Structures and Algorithms Divide-and-Conquer (part 1) Format of Divide-and-Conquer algorithms: Divide: Split the array or list into smaller pieces Conquer: Solve the same problem recursively

### Engineering Drawing. Anup Ghosh. September 12, Department of Aerospace Engineering Indian Institute of Technology Kharagpur

Department of Aerospace Engineering Indian Institute of Technology Kharagpur September 12, 2011 Example -1 1 A vertical square prism (50mm side) 2 A horizontal square prism (35mm side) with axis to VP

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

### COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 3 Recurrences and Divide and Conquer Thanks to people who contributed to these slides including the text authors and Piyush Kumar,

### Data Structures and Algorithms Week 3

Data Structures and Algorithms Week 3 1. Divide and conquer 2. Merge sort, repeated substitutions 3. Tiling 4. Recurrences Recurrences Running times of algorithms with recursive calls can be described

### Divide-and-Conquer Algorithms Part Four

Divide-and-Conquer Algorithms Part Four Announcements Problem Set 2 due right now. Can submit by Monday at 2:15PM using one late period. Problem Set 3 out, due July 22. Play around with divide-and-conquer

### Computational Geometry

and range trees Lecture 6: and range trees Lecture 7: and range trees Database queries 1D range trees Databases Databases store records or objects Personnel database: Each employee has a name, id code,

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

### Divide and Conquer. Textbook Reading Chapters 4, 7 & 33.4

Divide d Conquer Textook Reading Chapters 4, 7 & 33.4 Overview Design principle Divide d conquer Proof technique Induction, induction, induction Analysis technique Recurrence relations Prolems Sorting

### Recurrence Relations

Recurrence Relations Introduction Determining the running time of a recursive algorithm often requires one to determine the big-o growth of a function T (n) that is defined in terms of a recurrence relation.

### Boolean Operations on Intervals and Axis-Aligned Rectangles

Boolean Operations on Intervals and Axis-Aligned Rectangles David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: July 28, 2008 Contents

### Merge Sort and Recurrences. COSC 581, Algorithms January 14, 2014

Merge Sort and Recurrences COSC 581, Algorithms January 14, 2014 Reading Assignments Today s class: Chapter 2, 4.0, 4.4 Reading assignment for next class: Chapter 4.2, 4.5 3 Common Algorithmic Techniques

### Practice with Proofs

Practice with Proofs October 6, 2014 Recall the following Definition 0.1. A function f is increasing if for every x, y in the domain of f, x < y = f(x) < f(y) 1. Prove that h(x) = x 3 is increasing, using

### Section 1.8 Coordinate Geometry

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

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

### Computer Algorithms. Merge Sort. Analysis of Merge Sort. Recurrences. Recurrence Relations. Iteration Method. Lecture 6

Computer Algorithms Lecture 6 Merge Sort Sorting Problem: Sort a sequence of n elements into non-decreasing order. Divide: Divide the n-element sequence to be sorted into two subsequences of n/ elements

### Optimal Binary Space Partitions in the Plane

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

### Divide And Conquer Algorithms

CSE341T/CSE549T 09/10/2014 Lecture 5 Divide And Conquer Algorithms Recall in last lecture, we looked at one way of parallelizing matrix multiplication. At the end of the lecture, we saw the reduce SUM

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

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

### Merge Sort. 2004 Goodrich, Tamassia. Merge Sort 1

Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Merge Sort 1 Divide-and-Conquer Divide-and conquer is a general algorithm design paradigm: Divide: divide the input data S in two disjoint subsets

### CS335 Program2: ConvexHulls A Divide-and-Conquer Algorithm 15 points Due: Tues, October 6

CS335 Program2: ConvexHulls A Divide-and-Conquer Algorithm 15 points Due: Tues, October 6 Convex Hulls There is a complex mathematical definition of a convex hull, but the informal definition is sufficient

### Planar Curve Intersection

Chapter 7 Planar Curve Intersection Curve intersection involves finding the points at which two planar curves intersect. If the two curves are parametric, the solution also identifies the parameter values

### Divide and Conquer My T. UF

Introduction to Algorithms Divide and Conquer @ UF General Approach Divide the problem into a number of subproblems that are smaller instances of the same problem Conquer the subproblems by solving them

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

### CSE 421 Algorithms: Divide and Conquer

CSE 421 Algorithms: Divide and Conquer Summer 2011 Larry Ruzzo Thanks to Paul Beame, James Lee, Kevin Wayne for some slides hw2 empirical run times e n Plot Time vs n Fit curve to it (e.g., with Excel)

### Example Degree Clip Impl. Int Sub. 1 3 2.5 1 10 15 2 3 1.8 1 5 6 3 5 1 1.7 3 5 4 10 1 na 2 4. Table 7.1: Relative computation times

Chapter 7 Curve Intersection Several algorithms address the problem of computing the points at which two curves intersect. Predominant approaches are the Bézier subdivision algorithm [LR80], the interval

### Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4

Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4 I. Algorithm Design and Divide-and-Conquer There are various strategies we

### Lecture 8 : Coordinate Geometry. The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 20

Lecture 8 : Coordinate Geometry The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 0 distance on the axis and give each point an identity on the corresponding

### 1.3. DOT PRODUCT 19. 6. If θ is the angle (between 0 and π) between two non-zero vectors u and v,

1.3. DOT PRODUCT 19 1.3 Dot Product 1.3.1 Definitions and Properties The dot product is the first way to multiply two vectors. The definition we will give below may appear arbitrary. But it is not. It

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

### 24: Polygon Partition - Faster Triangulations

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

### Divide and Conquer Examples. Top-down recursive mergesort. Gravitational N-body problem.

Divide and Conquer Divide the problem into several subproblems of equal size. Recursively solve each subproblem in parallel. Merge the solutions to the various subproblems into a solution for the original

### Divide-and-Conquer Algorithms Part One

Divide-and-Conquer Algorithms Part One Announcements Problem Set One completely due right now. Solutions distributed at the end of lecture. Programming section today in Gates B08 from from 3:45PM 5:00PM.

### Chapter 5 Polar Coordinates; Vectors 5.1 Polar coordinates 1. Pole and polar axis

Chapter 5 Polar Coordinates; Vectors 5.1 Polar coordinates 1. Pole and polar axis 2. Polar coordinates A point P in a polar coordinate system is represented by an ordered pair of numbers (r, θ). If r >

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

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

### Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction

Lecture 11 Dynamic Programming 11.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach

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

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

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

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

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

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

### Coordinate Plane Project

Coordinate Plane Project C. Sormani, MTTI, Lehman College, CUNY MAT631, Fall 2009, Project XI BACKGROUND: Euclidean Axioms, Half Planes, Unique Perpendicular Lines, Congruent and Similar Triangle Theorems,

### Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Chapter 1 Vocabulary identity - A statement that equates two equivalent expressions. verbal model- A word equation that represents a real-life problem. algebraic expression - An expression with variables.

### 1. Prove that the empty set is a subset of every set.

1. Prove that the empty set is a subset of every set. Basic Topology Written by Men-Gen Tsai email: b89902089@ntu.edu.tw Proof: For any element x of the empty set, x is also an element of every set since

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

### Algorithm Design and Analysis Homework #1 Due: 5pm, Friday, October 4, 2013 TA email: ada@csie.ntu.edu.tw. === Homework submission instructions ===

Algorithm Design and Analysis Homework #1 Due: 5pm, Friday, October 4, 2013 TA email: ada@csie.ntu.edu.tw === Homework submission instructions === For Problem 1, commit your source code and a brief documentation

### PROBLEM SET 7: PIGEON HOLE PRINCIPLE

PROBLEM SET 7: PIGEON HOLE PRINCIPLE The pigeonhole principle is the following observation: Theorem. Suppose that > kn marbles are distributed over n jars, then one jar will contain at least k + marbles.

### 3. How many winning lines are there in 5x5 Tic-Tac-Toe? 4. How many winning lines are there in n x n Tic-Tac-Toe?

Winning Lines in Tic-Tac-Toe 1. The standard Tic-Tac-Toe is played on a 3 x 3 board, where there are vertical winning lines, horizontal winning lines, diagonal winning lines. This is a grand total of winning

### The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!

The Tower of Hanoi Recursion Solution recursion recursion recursion Recursive Thinking: ignore everything but the bottom disk. 1 2 Recursive Function Time Complexity Hanoi (n, src, dest, temp): If (n >

### Section 1.1. Introduction to R n

The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to

### Approximation Algorithms. Scheduling. Approximation algorithms. Scheduling jobs on a single machine

Approximation algorithms Approximation Algorithms Fast. Cheap. Reliable. Choose two. NP-hard problems: choose 2 of optimal polynomial time all instances Approximation algorithms. Trade-off between time

### ABSTRACT. For example, circle orders are the containment orders of circles (actually disks) in the plane (see [8,9]).

Degrees of Freedom Versus Dimension for Containment Orders Noga Alon 1 Department of Mathematics Tel Aviv University Ramat Aviv 69978, Israel Edward R. Scheinerman 2 Department of Mathematical Sciences

### Brief Review of Median

Session 36 Five-Number Summary and Box Plots Interpret the information given in the following box-and-whisker plot. The results from a pre-test for students for the year 2000 and the year 2010 are illustrated

### 1 Recursion and the divide-and-conquer approach

CS 7B - Spring 2014 - Assignment 4. 4/17/14 Write responses on paper and submit programs by email. 1 Recursion and the divide-and-conquer approach Many useful algorithms are recursive in structure: to

### Recurrences. David Kauchak. Recurrence: a function that is defined with respect to itself on smaller inputs.

Recurrences David Kauchak Recurrence: a function that is defined with respect to itself on smaller inputs. Why are we concerned with recurrences? The computational costs of divide and conquer algorithms

### Linear Time Selection

Chapter 2 Linear Time Selection Definition 1 Given a sequence x 1, x 2,..., x n of numbers, the ith order statistic is the ith smallest element. Maximum or Minimum When i = 1, it is the minimum element

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

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

### Lecture 4 Online and streaming algorithms for clustering

CSE 291: Geometric algorithms Spring 2013 Lecture 4 Online and streaming algorithms for clustering 4.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line

### Higher-dimensional Orthogonal Range Reporting and Rectangle Stabbing in the Pointer Machine Model

Higher-dimensional Orthogonal Range Reporting and Rectangle Stabbing in the Pointer Machine Model Peyman Afshani peyman@cs.au.dk Lars Arge large@cs.au.dk MADALGO Department of Computer Science Aarhus University

### A Scalable Algorithm for Maximizing Range Sum in Spatial Databases

A Scalable Algorithm for Maximizing Range Sum in Spatial Databases Dong-Wan Choi Chin-Wan Chung, Yufei Tao,3 Department of Computer Science, KAIST, Daejeon, Korea Division of Web Science and Technology,

### Definition 11.1. Given a graph G on n vertices, we define the following quantities:

Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define

### CMPS 102 Solutions to Homework 1

CMPS 0 Solutions to Homework Lindsay Brown, lbrown@soe.ucsc.edu September 9, 005 Problem..- p. 3 For inputs of size n insertion sort runs in 8n steps, while merge sort runs in 64n lg n steps. For which

### Homework Exam 1, Geometric Algorithms, 2016

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

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

### Stochastic Inventory Control

Chapter 3 Stochastic Inventory Control 1 In this chapter, we consider in much greater details certain dynamic inventory control problems of the type already encountered in section 1.3. In addition to the

### The divide and conquer strategy has three basic parts. For a given problem of size n,

1 Divide & Conquer One strategy for designing efficient algorithms is the divide and conquer approach, which is also called, more simply, a recursive approach. The analysis of recursive algorithms often

### Equations Involving Lines and Planes Standard equations for lines in space

Equations Involving Lines and Planes In this section we will collect various important formulas regarding equations of lines and planes in three dimensional space Reminder regarding notation: any quantity

### Lecture 12: Chain Matrix Multiplication

Lecture 12: Chain Matrix Multiplication CLRS Section 15.2 Outline of this Lecture Recalling matrix multiplication. The chain matrix multiplication problem. A dynamic programming algorithm for chain matrix

### Pseudocode Analysis. COMP3600/6466 Algorithms Lecture 5. Recursive Algorithms. Asymptotic Bounds for Recursions

COMP600/6466 Algorithms Lecture 5 Pseudocode Analysis Iterative Recursive S 0 Dr. Hassan Hijazi Prof. Weifa Liang Recursive Algorithms Asymptotic Bounds for Recursions Total running time = Sum of times

### PSS 27.2 The Electric Field of a Continuous Distribution of Charge

Chapter 27 Solutions PSS 27.2 The Electric Field of a Continuous Distribution of Charge Description: Knight Problem-Solving Strategy 27.2 The Electric Field of a Continuous Distribution of Charge is illustrated.

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