Download presentation
Presentation is loading. Please wait.
Published byMae Jennings Modified over 6 years ago
1
Paweล Gawrychowski, Nadav Krasnopolsky, Shay Mozes, Oren Weimann
Dispersion on Trees Paweล Gawrychowski, Nadav Krasnopolsky, Shay Mozes, Oren Weimann
2
๐-dispersion on trees The Dispersion Optimization Problem: Choose ๐ nodes, s.t. the shortest pairwise distance is maximized. The Feasibility Test: Choose ๐ nodes s.t. any pairwise distance is at least ๐. 12 71 ๐ 8 7 21 11 Can solve opt. problem using f.t. Possible values of ๐ are the pairwise distances Weighted case
3
Previous results Weighted Dispersion Unweighted Dispersion ๐ ๐
[Bhattacharya and Houle 1997] Feasibility Test Optimization problem ๐(๐ log ๐ ) ๐(๐ log 3 ๐) [Bhattacharya and Houle 1999] ๐(๐ log 2 ๐) using [Frederickson and Johnson 1983] ๐(๐ log 4 ๐) ๐(๐) ๐(๐ log ๐ ) using [Frederickson and Johnson 1983] K-partitioning โ delete k edges so as to maximize the weight of the lightest resulting subtree P-center โ place p supply centers in a graph
4
Linear time feasibility test [Bhattacharya and Houle 1997]
Bottom up computation - for a subtree rooted at node ๐, compute a subset of nodes ๐ s.t.: The minimal pairwise distance in ๐ is โฅ๐. |๐| is maximized In case of a tie, min ๐ขโ๐ ๐ ๐,๐ข is also maximized. โฅ๐
5
Linear time feasibility test [Bhattacharya and Houle 1997]
Bottom up computation - for a subtree rooted at node ๐, compute a subset of nodes ๐ s.t.: The minimal pairwise distance in ๐ is โฅ๐. |๐| is maximized In case of a tie, min ๐ขโ๐ ๐ ๐,๐ข is also maximized. โฅ๐
6
Linear time feasibility test [Bhattacharya and Houle 1997]
Certain node โ the closest chosen node at distance โฅ ๐ 2 from the root < ๐ 2 ๐ 2 โฅ Candidate node โ a chosen node at distance < ๐ 2 from the root At most one candidate in a subtree. At most one candidate
7
Linear time feasibility test [Bhattacharya and Houle 1997]
Certain node โ the closest chosen node at distance โฅ ๐ 2 from the root Candidate node โ a chosen node at distance < ๐ 2 from the root At most one candidate in a subtree. At most one candidate
8
Linear time feasibility test [Bhattacharya and Houle 1997]
๐ฃ โฅ ๐ 2 < ๐ 2 Check which candidates are certain w.r.t r.
9
Linear time feasibility test [Bhattacharya and Houle 1997]
๐ฃ Find the closest certain node to r. Check if we can take a candidate w.r.t r. We want to use this linear f.t. to search over the pairwise dist.
10
Solving the optimization problem
๐(๐ log ๐ ) possible by binary searching over an implicitly constructed array containing all pairwise distances [Bhattacharya and Houle 1997]. To achieve better running time we build a sublinear feasibility test, and use a more complex search methods [Frederickson 1990].
11
Our sublinear feasibility test
Partition the tree in linear time into ๐( ๐ ๐ ) fragments of size ๐. Preprocess s.t. during a feasibility test a fragment of size ๐ is handled in ๐( log ๐) time. This gives us an ๐( ๐ ๐ log ๐) time feasibility test. root spine hole
12
Preprocessing fragments
root Run linear f.t. for the subtrees hanging off the spine, reduce each of them to at most two nodes. Obtain a caterpillar. hole
13
Preprocessing fragments
root Run linear f.t. for the subtrees hanging off the spine, reduce each of them to at most two nodes. Obtain a caterpillar. hole
14
Preprocessing fragments
root Remove collisions. Ignore certain nodes. Prune the candidates s.t. their distances from the root and hole are monotone. hole
15
Preprocessing fragments
root Remove collisions. Ignore certain nodes. Prune the candidates s.t. their distances from the root and hole are monotone. hole
16
Preprocessing fragments
root Compute the solution for any possible closest chosen node. ๐ง ๐ฅ+๐ฆ+๐งโฅ๐ ๐ฆ ๐ฅ hole
17
Solving the optimization problem in ๐(๐) time
Using the sublinear feasibility test in a search framework due to Frederickson, we solve the optimization problem in ๐(๐ log log ๐) time. Can do ๐(๐ log โ ๐ ) time, by using the same approach iteratively. Partition the tree into larger fragments each time. For linear time we cannot partition the tree independently each iteration. Many technical details (glue small fragments together, and tailor the precomputed data).
18
Part 2 โ the weighted dispersion problem
Now the input tree has both edge lengths and node weights, and we want to find a subset of weight โฅ๐ (instead of choosing ๐ nodes). We can no longer reduce entire subtrees to at most two nodes, since we might have many candidates.
19
Weighted feasibility test
Again, perform a bottom-up computation. Generate a representation of the solution for the subtree rooted at some node given the solutions for its children. The representation accounts for any option of choosing candidates in the subtree. Weight of optimal solution Distance of closest node to the root
20
The representation - monotone polylines
We only store the breakpoints. The polyline is monotonically decreasing. Weight of optimal solution Distance of closest node to the root
21
Constructing a polyline by merging the children
๐ฃ ๐ข 1 ๐ข 2 Easy if v has one child. ๐ 1 ๐ 2
22
Constructing a polyline by merging the children
๐ฃ ๐ข 1 ๐ข 2 Describe the construction of a polyline. Interface and data structure later.
23
The required polyline interface
Split the polyline. Merge two polylines. Query value for some key. Get a sorted list of the breakpoints. Batched interval increase. Batched value predecessor. Batched interval insertions. Batched interval deletions.
24
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time.
25
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time. ๐ 2 BST ๐ 2
26
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time. ๐ 2 2 ๐ 2 2
27
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time. ๐ 2 4 ๐ 2 4 ๐ 2 4 ๐ 2 4
28
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time. ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 |
29
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time. | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 |
30
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time. Each node in BST stores the max and min in its subtree. ๐ ๐ ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 | ๐ 2 | ๐ 1 |
31
Batched interval increase
Given polylines ๐ 1 and ๐ 2 (where ๐ 2 โฅ| ๐ 1 |), increase the value of ๐ 2 in some intervals defined by breakpoints of ๐ 1 . ๐(| ๐ 1 |โ
log | ๐ 2 | | ๐ 1 | ) time. Each node only stores the difference between its parentโs key and its own. ๐ ๐ ๐(| ๐ 1 |) for scanning the roots + 2โ
๐( log ( | ๐ 2 | | ๐ 1 | )) for each interval increase. ๐ ๐
32
Conclusion Unweighted dispersion: Weighted dispersion:
Feasibility test Optimization problem Weighted dispersion: ๐(๐) ๐(๐) ๐(๐ log ๐ ) log ๐ gap
33
Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.