On k-Enclosing Objects in a Coloured Point Set Luis Barba Stephane Durocher Robert Fraser Ferran Hurtado Saeed Mehrabi Debajyoti Mondal Jason Morrison.

Slides:



Advertisements
Similar presentations
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
Advertisements

Bob Fraser University of Manitoba Ljubljana, Slovenia Oct. 29, 2013 COMPUTATIONAL GEOMETRY WITH IMPRECISE DATA.
Section 7.1 – Area of a Region Between Two Curves
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
Chapter 3 Brute Force Brute force is a straightforward approach to solving a problem, usually directly based on the problem’s statement and definitions.
Recursively Defined Functions
CPSC 335 Dynamic Programming Dr. Marina Gavrilova Computer Science University of Calgary Canada.
Playing Fair at Sudoku Joshua Cooper USC Department of Mathematics.
Use of Venn Diagrams to find the GCF and LCM
Sorted list matching & Experimental run-Time COP 3502.
Rank Rank of an element is its position in ascending key order. [2,6,7,8,10,15,18,20,25,30,35,40] rank(2) = 0 rank(15) = 5 rank(20) = 7.
Bichromatic Separating Circles. Problem Given two sets of points, R and B ∈ R ² where | R | = n and | B | = m: – Find the smallest circle containing all.
Bar Ilan University And Georgia Tech Artistic Consultant: Aviya Amir.
The Design and Analysis of Algorithms
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
Dynamic Programming Carrie Williams. What is Dynamic Programming? Method of breaking the problem into smaller, simpler sub-problems Method of breaking.
Parameterized Approximation Scheme for the Multiple Knapsack Problem by Klaus Jansen (SODA’09) Speaker: Yue Wang 04/14/2009.
10/2/20061 Algorithms on grids Natasha Gelfand Geometry Seminar Fall 2006.
Design and Analysis of Algorithms - Chapter 31 Brute Force A straightforward approach usually based on problem statement and definitions Examples: 1. Computing.
Exact and Approximate Pattern in the Streaming Model Presented by - Tanushree Mitra Benny Porat and Ely Porat 2009 FOCS.
Precalculus January 17, Solving equations algebraically Solve.
Survey: String Matching with k Mismatches Moshe Lewenstein Bar Ilan University.
When you add the age of the ship and the age of its boiler, it totals 42 years. So S + B = 42. Now pay attention! The ship is twice as old as the boiler.
Area Between Two Curves
Finding Regulatory Motifs in DNA Sequences. Motifs and Transcriptional Start Sites gene ATCCCG gene TTCCGG gene ATCCCG gene ATGCCG gene ATGCCC.
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
Area Between Two Curves
Solving Scalar Linear Systems Iterative approach Lecture 15 MA/CS 471 Fall 2003.
Chapter The Basics of Counting 5.2 The Pigeonhole Principle
More partial products Recall that we can use a drawing of a rectangle to help us with calculating products. The rectangle is divided into regions and we.
Finding a Hausdorff Core of a Polygon: On Convex Polygon Containment with Bounded Hausdorff Distance Reza Dorrigiv, Stephane Durocher, Arash Farzan, Robert.
Space Efficient Data Structures for Dynamic Orthogonal Range Counting Meng He and J. Ian Munro University of Waterloo.
13.2 Recursive Definitions Objective 1) Provide the recursive definition for sequences; 2) Identify the type of a sequence from a recursive definition.
Section 7.2a Area between curves.
1 Closest Pair of Points (from “Algorithm Design” by J.Kleinberg and E.Tardos) Closest pair. Given n points in the plane, find a pair with smallest Euclidean.
Chapter Do you remember? The definition of: prime number? factor? prime factor? common factor? greatest common factor? multiple? common multiple?
Real time pattern matching Porat Benny Porat Ely Bar-Ilan University.
Divide and Conquer Applications Sanghyun Park Fall 2002 CSE, POSTECH.
Matrices Matrices A matrix (say MAY-trix) is a rectan- gular array of objects (usually numbers). An m  n (“m by n”) matrix has exactly m horizontal.
Module #9: Matrices Rosen 5 th ed., §2.7 Now we are moving on to matrices, section 7.
CS139 – Algorithm Development Aug 23, 2004 WELCOME!
Efficient heuristic algorithms for the maximum subarray problem Rung-Ren Lin and Kun-Mao Chao.
MAT 1235 Calculus II Section 5.1 Area Between Curves
© Janice Regan, CMPT 128, February CMPT 128: Introduction to Computing Science for Engineering Students Recursion.
Computer Science Background for Biologists CSC 487/687 Computing for Bioinformatics Fall 2005.
1 UNIT-I BRUTE FORCE ANALYSIS AND DESIGN OF ALGORITHMS CHAPTER 3:
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
The Addition & Multiplication Principles. The Addition Principle If {S 1, S 2,..., S n } is a partition of S, then |S| = |S 1 | + |S 2 | |S n |.
What is the volume if the grey area is revolved about the x-axis?
Sorting and Runtime Complexity CS255. Sorting Different ways to sort: –Bubble –Exchange –Insertion –Merge –Quick –more…
In this chapter, we explore some of the applications of the definite integral by using it to compute areas between curves, volumes of solids, and the work.
6.6 Area Between Two Curves
Rank Rank of an element is its position in ascending key order.
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Mathematics.
JinJu Lee & Beatrice Seifert CSE 5311 Fall 2005 Week 10 (Nov 1 & 3)
Rank Rank of an element is its position in ascending key order.
Chapter 5 Divide and Conquer
How to Factor (No Clicking Please).
Chapter 8 Section 8.2 Applications of Definite Integral
To recall the doubles of all numbers to at least 10
3. Brute Force Selection sort Brute-Force string matching
13.9 Day 2 Least Squares Regression
CHAPTER 6: Control Flow Tools (for and while loops)
3. Brute Force Selection sort Brute-Force string matching
SPLITTING OF COMBINED SHAPES
Dynamic Programming II DP over Intervals
Donghui Zhang, Tian Xia Northeastern University
(Finding area using integration)
3. Brute Force Selection sort Brute-Force string matching
Presentation transcript:

On k-Enclosing Objects in a Coloured Point Set Luis Barba Stephane Durocher Robert Fraser Ferran Hurtado Saeed Mehrabi Debajyoti Mondal Jason Morrison Matthew Skala Mohammad Abdul Wahid Aug 9, 2013 CCCG

Problem Definition

Motivation Inspired by problems in string processing (jumbled pattern matching).

Motivation Inspired by problems in string processing (jumbled pattern matching). Given a string of characters from some set {1,…,t} and a query c=(c 1,…,c t ), does there exist any contiguous substring that is a permutation of the query? String: Query: (1,6)

Let’s generalize this to 2D! Most natural (CG) generalization may be to have coloured points enclosed by a rectangle. Wait, wait, wait! Surely this has been done! What has been done?

Related Problems Jumbled Pattern Matching - Find a permutation of a query in a string (the 1D version of our problem). k-Enclosing Objects - Find the smallest k- enclosing rectangle/square/disc. – Points are uncoloured. Smallest Colour-Spanning Object - Smallest object containing at least one point of each colour. Subarray Sum - Given a 2D array and a value v, find a subarray whose sum is v.

Results

The Rectangle Problem ……

1 st Insight: Break into Strips! Rather than looking at every combination brute force, bound the top and bottom and look at the 1D problem in the strip!

Strips are good

How to do this quickly?

Improvements

k-Enclosing Discs Compute the kth order Voronoi diagram. Recall that a cell in the diagram corresponds to the set of points with the same k closest points

kth Order Voronoi Diagram ntations/egert-kth_order_voronoi.pdf ntations/egert-kth_order_voronoi.pdf

k-Enclosing Discs

Results Thanks!

k-Enclosing Objects

Smallest Colour-Spanning Object

Subarray Sum

Tweaking the running time

Counting the m’s ≤5? ≥5?

k-Enclosing Squares

Two-Sided Dominating Regions

Smallest Exact Solution For rectangles, no extra time is required. Simply compute the area of the rectangle for any solution found. Discs and squares may be solved with an at most O(k) increase in running time.