Algorithm design (computational geometry)

Slides:



Advertisements
Similar presentations
Introduction to Algorithms
Advertisements

Spatial Database Systems. Spatial Database Applications GIS applications (maps): Urban planning, route optimization, fire or pollution monitoring, utility.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Searching on Multi-Dimensional Data
Cse 521: design and analysis of algorithms Time & place T, Th pm in CSE 203 People Prof: James Lee TA: Thach Nguyen Book.
Very Natural Computing Piotr Chrząstowski. Mimicking the nature Man always tried to learn from nature some fresh ideas. The nature rewarded man with many.
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
Introduction to Spatial Database System Presented by Xiaozhi Yu.
The Divide-and-Conquer Strategy
1st Meeting Industrial Geometry Computational Geometry ---- Some Basic Structures 1st IG-Meeting.
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
2-dimensional indexing structure
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/4/01.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
6/11/2015 © Bud Mishra, 2001 L7-1 Lecture #7: Local Alignment Computational Biology Lecture #7: Local Alignment Bud Mishra Professor of Computer Science.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2005 Lecture 1 (Part 1) Introduction/Overview Tuesday, 1/25/05.
Instance Based Learning
Lection 1: Introduction Computational Geometry Prof.Dr.Th.Ottmann 1 History: Proof-based, algorithmic, axiomatic geometry, computational geometry today.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/3/02.
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone: Course Web site:
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Review Lecture Tuesday, 12/10/02.
CS3381 Des & Anal of Alg ( SemA) City Univ of HK / Dept of CS / Helena Wong 1. Introduction - 1 Introduction.
1 Geometric index structures April 15, 2004 Based on GUW Chapter , [Arge01] Sections 1, 2.1 (persistent B- trees), 3-4 (static versions.
Lecture outline Support vector machines. Support Vector Machines Find a linear hyperplane (decision boundary) that will separate the data.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 1 (Part 1) Introduction/Overview Wednesday, 9/8/04.
A Study of the Relationship between SVM and Gabriel Graph ZHANG Wan and Irwin King, Multimedia Information Processing Laboratory, Department of Computer.
R-Trees 2-dimensional indexing structure. R-trees 2-dimensional version of the B-tree: B-tree of maximum degree 8; degree between 3 and 8 Internal nodes.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2002 Lecture 1 (Part 1) Introduction/Overview Tuesday, 1/29/02.
The Design and Analysis of Algorithms
Lection 1: Introduction Computational Geometry Prof.Dr.Th.Ottmann 1 History: Proof-based, algorithmic, axiomatic geometry, computational geometry today.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Computational Geometry Course Summary (First Half) Spring 2008 Pay special attention to: algorithm details (able to explain correctness and carry out a.
1 SUPPORT VECTOR MACHINES İsmail GÜNEŞ. 2 What is SVM? A new generation learning system. A new generation learning system. Based on recent advances in.
How to reform a terrain into a pyramid Takeshi Tokuyama (Tohoku U) Joint work with Jinhee Chun (Tohoku U) Naoki Katoh (Kyoto U) Danny Chen (U. Notre Dame)
Geometric Matching on Sequential Data Veli Mäkinen AG Genominformatik Technical Fakultät Bielefeld Universität.
Stabbing balls and simplifying proteins Ovidiu Daescu and Jun Luo Department of Computer Science University of Texas at Dallas Richardson, TX
7.2 Areas in the Plane.
Levels of Image Data Representation 4.2. Traditional Image Data Structures 4.3. Hierarchical Data Structures Chapter 4 – Data structures for.
Segment Trees Basic data structure in computational geometry. Computational geometry.  Computations with geometric objects.  Points in 1-, 2-, 3-, d-space.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Computational Geometry Piyush Kumar (Lecture 1: Introduction) Welcome to CIS5930.
Course Code #IDCGRF001-A 5.1: Searching and sorting concepts Programming Techniques.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Review Lecture Tuesday, 12/11/01.
Support Vector Machines Reading: Ben-Hur and Weston, “A User’s Guide to Support Vector Machines” (linked from class web page)
Linear Functions Section 1-1 Points Lines Objective: To find the intersection of two lines and to find the length and the coordinates of the midpoint of.
1 Kernel Machines A relatively new learning methodology (1992) derived from statistical learning theory. Became famous when it gave accuracy comparable.
Computational Geometry Piyush Kumar (Lecture 1: Introduction) Welcome to CIS5930.
Spatial Data Management
COMP261 Lecture 23 B Trees.
Course Developer/Writer: A. J. Ikuomola
Indexing Goals: Store large files Support multiple search keys
The Design and Analysis of Algorithms
Instance Based Learning
Spatial Database Systems
Spatial Indexing I Point Access Methods.
9.1 Lines and Angles.
Query Processing in Databases Dr. M. Gavrilova
Orthogonal Range Searching and Kd-Trees
Computer Application AutoCAD Program
Intersection problem.
cse 521: design and analysis of algorithms
Kinetic Collision Detection for Convex Fat Objects
Lecture 19 Linear Program
Segment Tree and Its Usage for geometric Computations
Topological Signatures For Fast Mobility Analysis
Multidimensional Search Structures
Algorithms and Data Structures Lecture XIV
Convex Hull - most ubiquitous structure in computational geometry
Presentation transcript:

Algorithm design (computational geometry) Lecture 1 Overview

Geometry and information processing Data is a bit string “0110110110111110111” Data may be a sequence “ My Name is Takeshi.” “AGCCAGTCG” Data may be pictures, sounds Data may be a set of vectors Structure of data is important for information processing Strings with language structure (e.g. WORD file) Graph structure (showing relations between data items) Grid structure ( e.g. digital picture ) Table structure (e.g. EXCEL file) Geometric structure (Nature is in 3D or 4D space, and more) Introduce geometry to data , then we can use tools in geometry: polygons, distances, angles, linear algebra, differential analysis, topology, etc. For example, major tools in machine learning are designed based on geometry and linear algebra . Support vector machine, kernel design, convolutional neural network (CNN) , sparse modeling, latent semantics

The lecture outline Computational geometry and its use Very classical (starting from Ancient Greece), but new Mainly deal with 2-dimensional geometry We start with 1-dimensional case Consider extension to higher dimensions Enclosing, Intersection, Search, Network, Classification A lot of tools of algorithms and data structures The power of introduction of geometry

One dimensional geometry One dimensional space = real number line = x-axis = set of real values Geometric objects: points and intervals (including half-lines) Given a set S of n points x(1),…,x(n) on the real number line, (Minimum Enclosing Interval) find the smallest interval containing S. (Nearest Neighbor Finding) For every point, find its nearest point(s) (Nearest Neighbor Search) Construct a data structure D(S) such that given a new point y, find its nearest point in S (Dynamic Nearest Neighbor Search) Modify D(S) such that we can insert the new point y These are basic problems in algorithms

You should know it! Minimum Enclosing Interval: Find the smallest interval containing S. I hope most of students can solve it at a glance. What is the time complexity?

Two (or higher) dimensional extension of the minimum enclosing interval Given a set S of points in a plane (or space), find the smallest XXXX containing all of S XXXX may be Disk Triangle Rectangle (x-aligned or not) Convex region Cone (called “nonnegative rank problem” in machine learning)

Nearest Neighbor Finding Nearest Neighbor Finding: For every point, find its nearest point(s). Solution 1. For each x(k), for each j ≠ k, compute |x(j)-x(k)|, and find the minimum of them : argmin(j) |x(j)-x(k)| gives the index of the nearest point Time complexity: O(n 2) Solution 2. Any better idea? (Dynamic) Nearest Neighbor Search: What kind of data structure? Its two (or higher) dimensional version is naturally considered Very important function in data analysis What is the “nearest” picture to this in your database?

 “Sorting” in geometry Nearest neighbor search in 1D is basically sorting and binary search In one dimensional space, sorting is powerful Given a point set S in an interval I, cut the interval by them, and report all the pieces Given a point set S, connect all the points by using bonds with minimum total length Given a point set S, for a given interval I, report the number of points in I Given red points and blue points on the line, separate them into minimum number of uni-colored intervals In two or higher dimensional space, you can imagine how these problems are extended.

Problems on Intervals Given a set X of n (closed) intervals I(1), I(2),..,I(n) on the real number line, where I(j) = [a(j), b(j)], a(1)<a(2)<..<a(n) Detect whether there is any pair of intersecting intervals Compute the union of intervals of X Compute the largest number of mutually intersecting intervals Make a data structure so that given a point p, find all intervals in X containing p. Make a data structure so that given a new interval I, find all intervals in X intersecting I.

Bentley’s interval tree Given a set X of intervals in [1,n] ( interval I in X is in a form [ i, j ] of integral subintervals of [1,n] Give a data structure D(X) on X to support Find : given a new interval I, report all intervals intersecting I Insert: Insert a new interval I to D(X) Delete: Delete an interval I of X from D(X)

Two dimensional intersecting problems Intersection of line segments Intersection of half-planes Intersection of rectangles Intersection of polygons Intersection of disks Higher dimensional versions are also considered