Download presentation
Presentation is loading. Please wait.
1
An Efficient and Scalable Approach to CNN Queries in a Road Network Hyung-Ju Cho and Chin-Wan Chung Dept. of EECS, KAIST VLDB 2005
2
2 Contents Introduction Related Work Nearest Neighbor Search (NN Search) Continuous Nearest Neighbor Search (CNN Search) Performance Study Conclusions
3
3 Introduction CNN searches in a road network Emerging location-based services and real-life GIS applications. Interesting and intuitive problems from the practical as well as theoretical point of view. The following two conditions are assumed for the CNN searches I.Moving objects (e.g., cars) run on a road network and static objects (e.g., gas stations) are located on the road network. II.The distance measure is defined as the shortest path length (network distance).
4
4 Fig 1. Example continuous search (a,b,c,d,e : gas stations) Introduction (cont’d) Example Queries on Figure 1 NN Query : Retrieve the 3 closest gas stations from a query point n 1. CNN Query : Find the 2 closest gas stations from all points on the path P from n 1 to n 6 (i.e., P = {n 1, n 2, n 3, n 4, n 5, n 6 }).
5
5 NN Queries in a Road Network INE (Incremental Network Expansion) Based on Dijkstra’s algorithm INE suffers from highly computational cost when objects of interest are sparsely distributed. VN 3 (Voronoi-based Network NN Search) VN 3 evaluates k NN queries using the Voronoi diagram If the density of objects increases, VN 3 suffers from computational overhead of precalculating network Voronoi polygons Unfortunately, the performance of existing approaches depends largely on the densities of the objects. Figure 2: Sample network Voronoi diagram Related Work
6
6 CNN Queries in a Road Network UBA (Upper Bound Algorithm) for CNN queries The intuition is that when a query object is moved slightly, it is likely that its k NNs remain the same during the threshold. (k+1) NN queries are used to determine the threshold values and these NN queries are executed using VN 3. However, depending on the data density and the number of NNs requested, it leads to requiring many NN queries for determining these threshold values. Related Work (cont’d)
7
7 UNICONS (UNIque CONtinuous Search algorithms) for NN queries It incorporates the precomputed NN lists in using Dijkstra’s algorithm for NN queries A node where three or more edges meet is called an intersection point and an intersection point which maintains precomputed NNs is called a condensing point. n1n1 n2n2 {(a, 26), (b, 49)} {(c, 53), (d, 74)} q 6 4 Fig 3. Example NN query processing (n 1,n 2 : condensing points) Q : Which objects are the two NNs of q? A : The two NNs of q are a (4+26) and b (4+49). Nearest Neighbor Search
8
8 The 1st basic idea To perform a continuous search along a path P ={n i, n i+1, …, n j }, it is sufficient to retrieve objects on the query path and to run a static query at each node n k (i k j). The 2nd basic idea The change in the network distance between a moving query point and a static object of interest can be expressed as a piecewise linear equation. Two Basic Ideas of CNN Search a q d(q,a) = |q–a|
9
9 Example of the two Basic Ideas Fig 4. d(q,a), d(q,b), and d(q,c) q
10
10 Our CNN search algorithm based on the divide and conquer method proceeds with the following three steps: [Step 1] Divide a query path into subpaths based on intersection points [Step 2] Determine valid intervals for each subpath [Step 3] Merge valid intervals of adjacent subpaths Sketch of CNN Search Algorithm
11
11 [Step 2] consists of the four sub-steps as follows: [Step 2.1] Retrieve objects on the subpath [Step 2.2] Issue two NN queries from the start and end points of the subpath [Step 2.3] Remove some tuples obtained from Steps 2.1 and 2.2 using the cover relationship [Step 2.4] Divide the subpath into valid intervals Sketch of CNN Search Algorithm (cont’d)
12
12 The result R of Steps 2.1 and 2.2 is the set of (obj, x, y) tuples If obj (e.g, a) is located on the subpath, x = d(s SP, obj) and y = 0. If obj (e.g, b) is an object satisfying the query predicate at s SP, x = 0 and y = d(s SP, obj ). If obj (e.g, c) is an object satisfying the query predicate at e SP, x = L SP and y = d(e SP, obj) CNN Search Algorithm for the subpath s SP e SP a b c d(s SP, b) d(e SP, c) L SP d(q,obj) (0,0)L SP d(s SP, a) d(s SP, b) d(e SP, c) a b c q Fig 5. Plotting tuples on the chart ( q : location of the query point)
13
13 The cover relationship It is applied to tuples with the same object A tuple (obj, x, y) on the chart gives the network distance from q to obj as follows: d(q, obj) = |q − x| + y The Cover Relationship Fig 6. t 1 covers t 2 iff y 2 ≥ |x 2 - x 1 |+y 1 q
14
14 For static objects a to e on the road network of Figure 7, continuously display the two closest objects from any position on the query path P = {n 3, n 5, n 7, n 8 }. Fig 7. Example Road Network [Step1] Divide a query path into subpaths : SP 1 = {n 3,n 5,n 7 } and SP 2 = {n 7,n 8 } [Step 2] Determine valid intervals for each subpath : Detailed explanation is provided in the next slide [Step 3] Merge valid intervals of adjacent subpaths Example of CNN Query Processing
15
15 [Step 2.1] Retrieve the objects on SP 1 = {n 3,n 5,n 7 } [Step 2.2] Retrieve the qualifying objects on two end points and [Step 2.3] Remove redundant tuples using the cover relationship Fig 8. Plotting 5 tuples in R on the chart q Fig 9. Filtering redundant tuples c q
16
16 [Step 2.4] Divide the subpath into valid intervals with a set of the same NNs Fig 10. Dividing the query path into valid intervals (a) Initial Result(b) Final Result Fig 11. CNN Search result for SP 1 ={n 3, n 5, n 7 } Example of CNN Query Processing (cont’d) q
17
17 In the same way, if we compute the CNN result for SP 2 ={n 7, n 8 }, we can obtain [Step 3] Merge and for SP 1 and SP 2, respectively, in order to obtain the final query result R P IntervalResults {a,b} {a,c} [2,4]{c,e} [4,7]{d,e} Fig 12. CNN Search result for P={n 3, n 5, n 7, n 8 } Example of CNN Query Processing (cont’d)
18
18 Experimental Environment LRU buffer of 16 MB (about 10% of the road data) Map data - Tiger/Line data for the state of Wisconsin Road data : # of nodes = 1,469,468, # of edges = 1,594,867 Object data : shopping centers (178), campgrounds (423), parks (1,154), schools (2,979), lakes or ponds (5,177), and composite data (9,911) # of intersection points : 223,569, # of condensing points : 64,748 The size of precomputed NN list is fixed to 10 Performance Study
19
19 UNICONS outperforms VN 3 by up to 3.5 times in a realistic experimental environment. Fig 13. Performance comparison for NN queries Experimental Results for NN queries
20
20 UNICONS outperforms UBA by up to 5 times in a realistic experimental environment. Fig 14. Execution time for CNN queries Experimental Results for CNN queries
21
21 We developed new continuous search algorithms which answer NN queries at any point of a given path Our continuous search algorithms require a small number of static queries in producing the continuous search result Experimental results with TIGER/Line data demonstrated that UNICONS outperforms its competitors for various number of NNs required and data sets. Conclusions
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.