Presentation is loading. Please wait.

Presentation is loading. Please wait.

Zaiben Chen et al. Presented by Lian Liu. You’re traveling from s to t. Which gas station would you choose?

Similar presentations


Presentation on theme: "Zaiben Chen et al. Presented by Lian Liu. You’re traveling from s to t. Which gas station would you choose?"— Presentation transcript:

1 Zaiben Chen et al. Presented by Lian Liu

2 You’re traveling from s to t. Which gas station would you choose?

3 Problem modeling Road networks  a weighted undirected graph G(V, E) Sites  a subset of nodes V’ ∈ V, called objects

4 k -Path Nearest Neighbor ( k -PNN) Input : s(starting node) and t (destination node) Output : k objects that nearest to the shortest path between s and t

5 Dijkstra’s Shortest Path (bi-directional)

6 k -NN queries in Euclidean space Distances between data points are measured by Euclidean distance metric k -NN queries in road networks Distances between data points are measured by network distance metric

7 In-Route Nearest Neighbor (IRNN) Given shortest path (s, n 2, n 3, t), IRNN returns object B as 1 st -PNN What’s the difference with our problem?

8 Distance metrics used in this paper Euclidean distance: D e (n 1, n 2 ) Network distance: D n (n 1, n 2 ) Detour distance: D d (n, p)

9 Task 1 : Computing the shortest path between s and t, and find the k-PNN from the path (static) searching phase verification phase Task 2 : Monitoring k-PNN, no matter the user follows or deviates from the current shortest path (dynamic) monitoring phase

10 Searching phase Verification phase Monitoring phase

11 Searching phase : Find the current shortest path SP(s, t) Generate a set CS of candidate objects, which is a super set of the current k-PNN

12 A brute-force solution: Compute the shortest path SP(s, t) between s and t using Dijkstra’s algorithm For each object o, compute it’s detour distance from SP(s, t), select the k objects with the smallest detour distances Problem: It’s too expensive! Do we have to compute the accurate detour distance?

13 Upper bound of detour distance UB(o, SP(s, t)) = min{c 1, c 2 }

14 Lower bound of detour distance LB(o, SP(s, t))= (c 1 +c 2 -L)/2

15 Alternately expand network in both directions. Once the two expansion trees meet, SP(s, t) is found Whenever an expansion tree reach an object, update its detour distance upper/lower bound

16 Keep on expanding, adding scanned objects into CS, until we can find an object o and an object set O={o 1, o 2, … o k } in CS, such that LB(o, SP(s, t))≥ max{UB(o i, SP(s, t))} Return CS

17 Searching phase Verification phase Monitoring phase

18 Verification phase : Compute accurate detour distance from SP(s, t) to all candidates in CS Find the current k-PNN

19 Start Dijkstra’s network expansion from each candidate o i in CS Once the expansion tree reaches SP(s, t), the detour distance D d (o i, SP(s, t)) is found

20 Heuristic expansion: nodes with smaller detour distance lower bound are expanded with priority

21 Searching phase Verification phase Monitoring phase

22 Monitoring phase : Dynamically refresh the current k-PNN when the user is traveling around Case 1: the user follows the current shortest path Case 2: the user deviates from the current shortest path

23 Following the shortest path Key point : first we need to figure out some “important points”, at which we need to re-compute the k-PNN

24 Will the current k-PNN change before s’ passes through n 2 ? When will it change? d(o 2 )=|SP(o 5, n 5 )|-|SP(o 2, n 2 )| Update location of o 2

25 Generally, o i ’s update location can be computed by d(o i )=|SP(o i+1, n i+1 )|-|SP(o i, n i )| However, sometimes we need to modify it, for example:

26 We actually maintain (k+1)-PNN in our algorithm Always, we compute and store update points for all current k-PNN

27 When the user arrives at the update point of o i : Re-compute detour distance of oi Refresh the order of the current (k+1)-PNN If the k th -PNN is not valid any longer Re-compute the whole current (k+1)-PNN

28 Deviating from the shortest path Key points: When will the shortest path change? Where are the update points? Who will be the new candidates?

29 Split point : |(s, f)|= ½(|SP(s t, t)-|SP(s, t)|+|(s, s t )|) We only focus on this interval

30 Two types of data:

31 For data object o i of type 1 : If o i is in the i th k-PNN o i.updateLoc=pos(s’)+|(s’, o i )|-D d ((i-1) th PNN) Otherwise o i.updateLoc=pos(s’)+|(s’, o i )|-D d (k th PNN)

32 For data object o i of type 2 : If o i is in the i th k-PNN o i.updateLoc=pos(s’)+|(s’, s t )|-D d ((i-1) th PNN) Otherwise o i.updateLoc=pos(s’)+|(s’, s t )|-D d (k th PNN)

33 Each time when we encounter an update point, we refresh the k-PNN

34 Testing platform Java Windows Intel Core2 CPU (2.13GHZ) 2GB memory

35 Data set

36 California road network

37

38 City of Oldenburg road network

39

40 Performance of verification

41 Problem : k-PNN Find the static k-PNN Dynamically refresh current k-PNN Algorithm : Searching phase Verification phase Monitoring phase Experiments

42 Thanks!


Download ppt "Zaiben Chen et al. Presented by Lian Liu. You’re traveling from s to t. Which gas station would you choose?"

Similar presentations


Ads by Google