Top Banner
Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu
29

Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Jan 18, 2016

Download

Documents

Barnaby Clark
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Bin Yao, Feifei Li, Piyush KumarPresenter: Lian Liu

Page 2: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

IntroductionRelated WorkAlgorithms

- PFC (Progressive Furthest Cell)- CHFC (Convex Hull Furthest Cell)

ExperimentDiscussion

Page 3: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Assume you live at p1 (p2, p3), where would you prefer to build a chemical factory among q1~q3?

Page 4: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.
Page 5: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Let P={p1, p2, p3} Q={q1, q2, q3}

fn(p1, Q)=q3 fn(p2, Q)=q1 fn(p3, Q)=q1

BRFN(q1,Q,P)={p2, p3}

BRFN(q2,Q,P)={} BRFN(q3,Q,P)={p1}

Build the chemical factory here

Page 6: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Problem: Given query point q, data set P (and Q), Compute MRFN(q, P) and BRFN(q, Q, P).

Page 7: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

MBR MBR (Minimum

Bounding Rectangles) has 3 important distances to a point:

Min Distance Max Distance Minmax Distance

Page 8: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

R-tree R-tree is an index

data structure. In R-trees, points

are grouped into MBRs, which are recursively grouped into MBRs in higher levels of the tree.

Page 9: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Range query Range query:

retrieves all points that locates within the query window.

R-tree based algorithms proves to be efficient to deal with range queries.

Page 10: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

How to compute the MRFN of a given query point?

BFS (Brute-Force Search)PFC (Progressive Furthest Cell)Main Idea:

1. Find the cell (region) in which all reverse furthest neighbors of the query point located

2. Perform a range query with the cell

How to compute?

Page 11: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

FVC (Furthest Voronoi Cell)

Page 12: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

FVC Example: query point = q1

fvc(q1, P)

fvc(q1, P)

Page 13: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

PFC (Progressive Furthest Cell) Algorithm

Points and MBRs are stored in a priority queue L with their minmaxdist sorted in decreasing order.

Two vectors Vc and Vp are also maintained:

Vc: Furthest neighbor candidates Vp: Disqualifying points

Page 14: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

PFC – mechanism

e is a point

e is an MBR

fvc(q)={}

e∈fvc(q)

e∩ fvc(q)={}

e∩ fvc(q)≠{}

c∩ fvc(q)≠ {}

c∩ fvc(q)={}At last, we update fvc(q) using Vp and then filter points in Vc using fvc(q)

Page 15: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Example:

L={p1, R1}Vc={}Vp={}

L={R1}Vc={p1}Vp={}

fvc(q)

Page 16: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Example:

L={p3}Vc={p1}Vp={p2}

L={}Vc={p1, p3}Vp={p2}

fvc(q)

fvc(q)

Page 17: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Example:

MRFN(q)={p3}

fvc(q)

Finally, we use all points in Vp (i.e. p2) to update fvc(q).Then, we perform a range query using the updated fvc(q). The result is {p3}。

Page 18: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Efficiency of PFCPFC makes fvc(q) quickly shrink. If

the query point does not have any reverse furthest neighbors, Φ will quickly be reported.

However, it is still not efficient enough.

Improvement: CHFC algorithm.

Page 19: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Convex Hull

The Convex Hull of a set of points P is the smallest convex polygon that fully contains P.

Denoted as CP.

Page 20: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Lemma: Given a point set P and its convex hull Cp, for a point q, let p*=fn(q, P), then p*∈CP.

fvc(p, P)=fvc(p, CP)

Page 21: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

CHFC (Convex Hull Furthest Cell) Given a set of points P and a query

point p:

Page 22: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

BRFNBRFN (Bichromatic Reverse Furthest

Neighbor) can be found in the same way as MRFN.

The only one difference is, we compute fvc(q, Q, P) will Q, can perform range query in P.

Page 23: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Efficiency of CHFC:For most (but not all) cases, |CP| << |

P|. That is, the number of points considered are likely to be greatly reduced.

Difficulty: How to compute and update CP when |P| is very large and even |CP| cannot fit into memory.

Page 24: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Computing Convex HullConvex hulls can be found in either a

distance-first or a depth-first manner.Distance-first approach is optimal in

the number of page accesses, and the complexity is O(nlogn).

Depth-first algorithms can run in O(n) time for worst case, but not optimal in disk accessing.

Page 25: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Updating Convex Hull Inserting new

points: Lemma: P is a point

set. If point q is

contained by CP ,CP∪ {q} =CP

Otherwise, CP∪ {q} =CCp∪ {q}

Page 26: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Updating Convex Hull Deleting points: Points or MBRs with

the largest perpendicular distance to plpr are added into CP first, until there is no points outside the current convex hull.

Page 27: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

External Convex Hull ComputingExisting algorithms can found 2-

Dimensional convex hulls with I/Os.

However, when convex hulls are still too large to fit into memory, we use Dudley’s approximate convex hull.

( log )M

m mOB MB

Page 28: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

CPU time & number of IOs

Page 29: Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu.

Thank You!Questions?