Presentation is loading. Please wait.

Presentation is loading. Please wait.

Covering Uncertain Points in a Tree

Similar presentations


Presentation on theme: "Covering Uncertain Points in a Tree"β€” Presentation transcript:

1 Covering Uncertain Points in a Tree
Haitao Wang and Jingru Zhang Utah State University WADS 2017, St. John’s, Canada

2 An uncertain point in a tree T
An uncertain point 𝑷 π’Š has multiple possible locations on T with probabilities 𝑝 𝑖2 0.2 𝑝 𝑖1 0.4 0.3 𝑝 𝑖5 𝑝 𝑖4 0.1 𝑝 𝑖3 0.1

3 An uncertain point The expected distance from 𝑷 π’Š to a point x is 𝐸𝑑 𝑃 𝑖 ,π‘₯ = πœ” 𝑖 βˆ™ 𝑗=1 π‘š 𝑓 𝑖𝑗 βˆ™π‘‘(π‘₯, 𝑝 𝑖𝑗 ) 𝑓 𝑖3 𝑝 𝑖3 𝑓 𝑖2 x 𝑓 𝑖5 𝑓 𝑖1 𝑝 𝑖2 𝑝 𝑖5 𝑝 𝑖1 𝑓 𝑖4 𝑝 𝑖4

4 Problem definition T 𝑄= π‘ž 1 , π‘ž 2 π‘ž 1 π‘ž 2
Input: a tree T a set 𝑷 of n uncertain points and each 𝑷 π’Š has π’Ž π’Š locations a covering range 𝝀 Goal: Find a set 𝑄 of a minimum number of centers on T such that max 1≀𝑖≀𝑛 𝐸𝑑( 𝑃 𝑖 ,𝑄)≀𝝀 where 𝐸𝑑 𝑃 𝑖 ,𝑄 = min π‘žβˆˆπ‘„ 𝐸𝑑( 𝑃 𝑖 ,π‘ž) T 𝑄= π‘ž 1 , π‘ž 2 π‘ž 1 π‘ž 2 𝑃 𝑃 𝑃

5 An application The k-center of uncertain points on a tree
Input: a tree T and a set 𝑷 of uncertain points Goal: Find a set 𝑄 of at most k centers to minimize max 1≀𝑖≀𝑛 𝐸𝑑( 𝑃 𝑖 ,𝑄)

6 Related works Covering certain points in a tree: Time: 𝑂 𝑛 --- O. Kariv and S. Hakimi (1979) The k-center problem of uncertain points on a line: Time: 𝑂 π‘šπ‘› log π‘šπ‘› +𝑛 log π‘˜ log 𝑛 --- Wang and Zhang (2014) The one-center problem of uncertain points in a tree: Time: 𝑂 π‘šπ‘› --- Wang and Zhang (2015)

7 Our result The problem has not been studied before Our result: 𝑂( 𝑇 +𝑀 log 𝑀 2 ) where 𝑀 is the number of locations of all uncertain points The k-center problem: O(|T|+n2 log n log M + M log3 M)

8 Problem definition T 𝑄= π‘ž 1 , π‘ž 2 π‘ž 1 π‘ž 2
Input: a tree T a set 𝑷 of n uncertain points and each 𝑷 π’Š with π’Ž π’Š locations a covering range 𝝀 Goal: Find a set 𝑄 of a minimum number of centers on T such that max 1≀𝑖≀𝑛 𝐸𝑑( 𝑃 𝑖 ,𝑄)≀𝝀 T 𝑄= π‘ž 1 , π‘ž 2 π‘ž 1 π‘ž 2 𝑃 𝑃 𝑃

9 𝐸𝑑 𝑝 𝑖 , 𝑃 𝑖 ≀𝐸𝑑 π‘₯, 𝑃 𝑖 for all π‘₯βˆˆπ‘‡
The Median 𝑝 𝑖 of 𝑃 𝑖 The median 𝑝 𝑖 of an uncertain point 𝑃 𝑖 is a vertex of T such that 𝐸𝑑 π‘₯, 𝑃 𝑖 is minimized for all π‘₯βˆˆπ‘‡. 𝑇 𝑝 𝑖1 𝑝 𝑖2 𝑝 𝑖 𝑝 𝑖3 𝑝 𝑖4 𝑝 𝑖5 𝐸𝑑 𝑝 𝑖 , 𝑃 𝑖 ≀𝐸𝑑 π‘₯, 𝑃 𝑖 for all π‘₯βˆˆπ‘‡ Observation: 𝐸𝑑 π‘₯, 𝑃 𝑖 is monotonically increasing if x is moving away from pi

10 The medians-spanning tree
The Medians-Spanning Tree 𝑇 π‘š is the minimum connected subtree of T that spans all medians. 𝑇 π‘š 𝑝 6 𝑇 𝑝 3 𝑝 1 𝑝 2 𝑝 4 𝑝 5

11 An observation 𝑇 𝑇 π‘š All centers are in the medians-spanning tree of T
π‘ž 1 π‘ž 2 𝑝 3 𝑝 1 𝑝 2 𝑝 4 𝑝 5

12 A greedy algorithm 𝑇 π‘š 𝑝 6 π‘ž 𝑝 7 𝑝 3 𝑝 1 𝑝 2 𝑝 8 𝑝 4 𝑝 5 𝑝 9 𝑝 10
Place centers on 𝑇 π‘š from bottom to top in the post-order traversal 𝑇 π‘š π‘Ÿ --- root of 𝑇 π‘š 𝑝 6 Initially, all medians are active. π‘ž 𝑝 7 𝑝 3 𝑝 1 𝑝 2 𝑝 8 𝑝 4 𝑝 5 𝑝 9 𝑝 10 Deactivation: make medians whose uncertain points are covered by π‘ž inactive

13 Processing a leaf 𝑇 π‘š βˆ™βˆ™βˆ™βˆ™βˆ™βˆ™ π‘Ÿ 𝑐 𝑐 𝑝 𝑗 e 𝑝 𝑖 𝑝 𝑖+1
Test whether a center is necessary on e for active 𝑃 𝑖 Compute c on πœ‹( 𝑝 𝑖 ,r) with 𝐸𝑑 𝑐, 𝑃 i =πœ† π‘Ÿ 𝑇 π‘š πœ‹( 𝑝 𝑖 ,r) c is on e? Y N 𝐸𝑑 𝑐, 𝑃 i =πœ† 𝑐 βˆ™βˆ™βˆ™βˆ™βˆ™βˆ™ Put a center at c for 𝑃 𝑖 𝑃 𝑖 served by a center not on e 𝑐 e 𝑝 𝑗 Report all uncertain points covered by 𝑐 𝑝 𝑖 𝑝 𝑖+1 c --- a candidate center Deactivation

14 Processing an internal node
Test whether a center is necessary on e for active 𝑃 𝑖1 , 𝑃 𝑖2 , βˆ™βˆ™βˆ™, 𝑃 𝑖π‘₯ Data Structure 𝐴 1 Range-status-query π‘Ÿ Check whether 𝑻 v has active medians 𝑇 π‘š πœ‹(v,r) Y Data Structure 𝐴 2 Compute c on πœ‹(v,r) with max 𝑖1≀𝑖≀𝑖π‘₯ 𝐸𝑑 𝑐, 𝑃 i =πœ† Candidate center 𝑐 Candidate-center-query 𝑐 e v c is on e? Data Structure 𝐴 3 N Y 𝑻 v Coverage-report-query Severed by a center not on e Active medians 𝑝 𝑖1 , 𝑝 𝑖2 , βˆ™βˆ™βˆ™, 𝑝 𝑖π‘₯ Report all uncertain points covered by 𝑐 Deactivation

15 Designing data structures---Major challenge
Preprocessing time Range-status query Deletion 𝑂(𝑀) 𝑂( log 𝑛 ) Data Structure 𝐴 1 Preprocessing time Candidate-center-query Deletion 𝑂(𝑀 log 𝑀 +𝑛 log 2 𝑀) 𝑂( log 𝑛 ) Data Structure 𝐴 2 Preprocessing time Coverage-report-query Deletion 𝑂(𝑀 log 2 𝑀) 𝑂(π‘˜ log 𝑛 + log 𝑀 log 𝑛 ) 𝑂( π‘š 𝑖 log 𝑀 log 2 𝑛) Data Structure 𝐴 3 amortized

16 A connector-bounded centroid decomposition
𝑇 2 (𝑐) 𝑇 1 (𝑐) 𝒄 c---the centroid of T max⁑{ 𝑇 1 𝑐 , | 𝑇 2 (𝑐)|}≀ 2 𝑇 3 Decomposition Tree 𝛀 T c --- connector of 𝑇 1 𝑐 and 𝑇 2 𝑐 𝑇 1 (𝑐) 𝑇 2 (𝑐)

17 A connector-bounded centroid decomposition
𝑇 2 ( 𝑐 1 ) 𝑇 1 (𝑐) 𝒄 c 𝑇 2 (𝑐) 𝑇 1 ( 𝑐 1 ) Decomposition Tree 𝛀 T 𝑇 1 (𝑐) 𝑇 2 (𝑐) c, 𝑐 connectors of 𝑇 1 ( 𝑐 1 ) 𝑐 connectors of 𝑇 2 ( 𝑐 1 ) 𝑇 1 ( 𝑐 1 ) 𝑇 2 ( 𝑐 1 )

18 A connector-bounded centroid decomposition
𝑇 1 ( 𝑐 1 ) 𝑇 13 ( 𝑐 4 ) Every subtree of 𝛀 has at most two connectors. 𝑇 1 ( 𝑐 3 ) 𝒄 𝟏 c 𝒄 πŸ’ Decomposition Tree 𝛀 𝑇 11 ( 𝑐 4 ) 𝒄 c c 𝒄 πŸ‘ T c 𝑇 12 ( 𝑐 4 ) 𝑇 1 (𝑐) 𝑇 2 (𝑐) 𝑇 2 ( 𝑐 3 ) 𝑐 4 is the vertex such that 𝑇 1 ( 𝑐 3 ) can be decomposed to three subtrees that contain c, 𝑐 1 , 𝑐 3 , respectively. 𝑇 1 ( 𝑐 1 ) 𝑇 2 ( 𝑐 1 ) Decompose 𝑇 1 ( 𝑐 3 ) at 𝑐 4 𝑇 11 ( 𝑐 4 ) 𝑇 12 ( 𝑐 4 ) 𝑇 13 ( 𝑐 4 ) 𝑇 2 ( 𝑐 3 )

19 The decomposition tree Ξ“ of T
Each node 𝑒 of Ξ“ has at most four children 𝑇 1 𝑇 2 Each node 𝑒 of Ξ“ --- A subtree 𝑇(𝑒) of 𝑇 Every 𝑇(𝑒) has at most two connectors 𝑇 3 𝑇 4 𝑇 5 𝑇 6 Height: 𝑂( log 𝑀 ) # of nodes: 𝑂(𝑀) 𝑒 𝑇(𝑒) βˆ™βˆ™βˆ™βˆ™βˆ™βˆ™ βˆ™βˆ™βˆ™βˆ™βˆ™βˆ™

20 Data structure 𝐴 3 for coverage-report-query
Decomposition Tree Ξ“ For every node 𝑒 of Ξ“ 𝐿 𝑒 --- List of all such 𝑃 𝑖 𝑒′ 𝑇(𝑒′) 𝐸𝑑(π‘₯,𝑃 𝑖 ) --- Expected distance functions of all 𝑃 𝑖 ∈𝐿(𝑒) with respect to xβˆˆπ‘‡(𝑒) 𝑒 𝑇(𝑒) 𝑑 𝑒 = |𝐿 𝑒 | βˆ™βˆ™βˆ™βˆ™βˆ™βˆ™ Coverage-report-query in 𝑇(𝑒) --- 𝑂(π‘˜ log 𝑑 𝑒 + log 𝑑 𝑒 ) time For any point xβˆˆπ‘‡(𝑒), Report all 𝑃 𝑖 ∈𝐿(𝑒) covered by π‘₯ --- all 𝑃 𝑖 ∈𝐿 𝑒 with 𝐸𝑑(π‘₯,𝑃 𝑖 )β‰€πœ† 𝑃 𝑖 --- no location in 𝑇(𝑒) but in 𝑇( 𝑒 β€² )

21 Coverage-report-query in 𝑇(𝑒)
𝑐 2 Observation: for each 𝑃 𝑖 ∈𝐿(𝑒) 𝐸𝑑 π‘₯, 𝑃 𝑖 = πœ” 𝑖 ( π‘Ž π‘₯ + 𝑑 𝑖 𝑏 π‘₯ + 𝐷 𝑖 ) a plane in ℝ 3 𝑇(𝑒) 𝑣 π‘₯ for each 𝑃 𝑖 ∈𝐿(𝑒), 𝐸𝑑 π‘₯, 𝑃 𝑖 ≀𝝀 defines a half-plane in the plane z = 𝝀 𝑐 1 𝑏 π‘₯ π‘Ž π‘₯ π‘₯= π‘Ž π‘₯ , 𝑏 π‘₯ Report all bounding lines above π‘₯ --- report all 𝑃 𝑖 ∈𝐿(𝑒) with 𝐸𝑑 π‘₯, 𝑃 𝑖 ≀λ π‘Ž π‘₯ --- the distance of π‘₯ to the closest vertex 𝑣 π‘₯ on πœ‹( 𝑐 1 , 𝑐 2 ) 𝑏 π‘₯ --- the distance of 𝑣 π‘₯ to 𝑐 1 𝐸𝑑 π‘₯, 𝑃 𝑖1 ≀𝝀 𝑏 π‘₯ 𝐸𝑑 π‘₯, 𝑃 𝑖2 ≀𝝀 L --- the set of 𝑑 𝑒 bounding lines π‘₯ 𝐸𝑑 π‘₯, 𝑃 𝑖3 ≀𝝀 π‘Ž π‘₯

22 Coverage-report-query in 𝑇(𝑒)
𝑐 2 𝑇(𝑒) Report bounding lines of 𝐿 above π‘₯ 𝑐 1 Build half-plane range reporting data structure on 𝐿 in 𝑂( 𝑇 𝑒 + 𝑑 𝑒 log 𝑑 𝑒 ) time π‘₯= π‘Ž π‘₯ , 𝑏 π‘₯ Half-plane range reporting query for π‘₯ πœ‘(𝑒) 1. Coverage-report-query in 𝑇(𝑒) 𝑂(π‘˜ log 𝑑 𝑒 + log 𝑑 𝑒 ) time Report all 𝑃 𝑖 ∈𝐿(𝑒) with 𝐸𝑑 π‘₯, 𝑃 𝑖 ≀λ for any π‘₯βˆˆπ‘‡ 𝑒 2. Removing any 𝑃 𝑖 from πœ‘(𝑒) 𝑂( log 𝑑 𝑒 ) time

23 Coverage-report-query on 𝐴 3
𝑇(𝑒), 𝐿(𝑒), πœ‘ 𝑒 𝝅 Any point 𝒙 on T A path 𝝅 in Ξ₯ 𝑒 𝑂 log 𝑀 nodes --- subtrees 𝑇(𝑒) βˆ™βˆ™βˆ™βˆ™βˆ™βˆ™ Coverage-report-query at 𝒙 in every 𝑇(𝑒) 𝒙 Report all indices i with 𝐸𝑑(π‘₯,𝑃 𝑖 )β‰€πœ† --- 𝑂(π‘˜ log 𝑛 + log 𝑀 log 𝑛 ) time

24 Candidate-center-query Coverage-report-query
Data structures Preprocessing time Range-status query Deletion 𝑂(𝑀) 𝑂( log 𝑛 ) Data Structure 𝐴 1 Preprocessing time Candidate-center-query Deletion 𝑂(𝑀 log 𝑀 +𝑛 log 2 𝑀) 𝑂( log 𝑛 ) Data Structure 𝐴 2 Preprocessing time Coverage-report-query Deletion 𝑂(𝑀 log 2 𝑀) 𝑂(π‘˜ log 𝑛 + log 𝑀 log 𝑛 ) 𝑂( π‘š 𝑖 log 𝑀 log 𝑛 ) Data Structure 𝐴 3

25 Thank you! Q&A


Download ppt "Covering Uncertain Points in a Tree"

Similar presentations


Ads by Google