1.05k likes | 1.18k Vues
R99945020 林澤豪 F98942047 許芷榕 R00922113 謝宗潛 R 98922144 駱家淮. Outline. 1. What is tree partition problem 2. Tree partition history 3. some tool will be used here FTEST0 M(P) and MSEARCH 4. Path partitioning 5. Tree partitioning. Tree partition(1/2). + = ??. Tree partition(2/2 ).
E N D
R99945020 林澤豪 F98942047 許芷榕 R00922113 謝宗潛 R98922144 駱家淮
Outline • 1. What is tree partition problem • 2. Tree partition history • 3. some tool will be used here • FTEST0 • M(P) and MSEARCH • 4. Path partitioning • 5. Tree partitioning
Tree partition(1/2) +=??
Tree partition(2/2) Min-max problem Max-min problem
History △ is the max degree in the tree rd(T) is the radius of the tree
FTEST0 3 5 3 2 1 3 4 2 3 4
FTEST0 30 • λ=5 • k=4 27 5 8 9 6 8 2 3 4
FTEST0 30 • λ=5 • k=4 27 5 8 9 6 8 2 3 4
FTEST0 4 11 • λ=5 • k=4 8 1 3 2 1 5 6 2 8 2 3 4 K=4 and return “yes”
FTEST0(reverse) 3 • λ=9 • k=4 5 3 2 1 3 4 2 3 4
FTEST0(reverse) 30 • λ=9 • k=4 27 5 8 9 6 8 2 3 4
FTEST0(reverse) 4 8 • λ=9 • k=4 5 3 1 8 5 9 2 6 8 2 3 K=4 and return “yes” 4
M(P) 6 11 9 2 1 15 7 8
MSEARCH 6 • {59,3,31,0,28,0,0,0} • K=3 • Median: (3+0)/2=1.5 • FTEST0: ok • Set λ1=1.5 • Discard matrix 11 9 2 1 15 7 8
MSEARCH 6 • {59,3,31,0,28,0} • K=3 • Median: (28+3)/2=15.5 • FTEST0: no • Set λ2=15.5 • No discard matirx 11 9 2 1 15 7 8
MSEARCH 6 • {59,45,42,25,31,22,15,0,44,23,27,3,16,0,0,028,20,11,0,17,0,0,0} • K=3 • Median: 16.5 • Discard matrixes 11 9 2 1 15 7 8
MSEARCH 6 • {15,0,16,0,27,3,11,0,17,0} • K=3 • Median: (11+3)/2=7 • Set λ1=7 • No discard matrixes 11 9 2 1 15 7 8
MSEARCH 6 • {15,8,7,0,16,15,1,0,27,18,12,3,11,2,9,0,17,11,6,0} • K=3 • Median: (8+9)/2=8.5 • Set λ1=8.5 • Discard half matrixes • And finally get median=12 11 9 2 1 15 7 8
MSEARCH • bij = ith iteration, the j th matrix • Bi = ΣNj=1 bij • ncells(i) = after cutting, remain cells • ncells’(i) = after deleting, remain cells • Ki = the matrixes be added in this iteration
MSEARCH • Proof: • Let ncells’(i) ≦2Bi+2 be the result • 4*(ncells’(i-1)+ki) = ncells(i) • By induction: ncells’(i-1) ≦2Bi-1+2 • ncells(i) ≦4*(2Bi-1+2+ ki) ≦4*(2Bi-1+2ki +2) ≦4*(2Bi+2) ≦8Bi+8
MSEARCH • For the second part of MSEARCH, each iteration will discard d1+d2+d3: • First time: d1 >= ncells(i) – Bi /2 • Second time: d2 >= ncells(i) – d1 - Bi /2 • Third time: d3 >= ncells(i) – d1 – d2 - Bi /2 • ncells’(i) = ncells(i) – d1 – d2 - d3 ≦(15/8)(Bi+1) < 2Bi+2
MSEARCH • In cross-splitting:bij = 2(njmj/c)^0.5 -1 = O(2(njmj/c)^0.5) c start from njmj/4 down to 1. 4 * (2^logmj -1) / 2-1 = O(mj) • In quatering-splittingbij = O(log(nj/mj)) • The total splitting time complexity = O(mjlog(nj/mj))
Partitioning a path • Given k, partition a path of vertices for max-min. • The proposed three algorithm overview
Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
Form an f(n)-partition of path • r-partition of a path • A partition of the vertices of into subpaths, where each subpath contains vertices, and the last subpath contains at most vertices. • f(n) • The largest power of 2 which no larger than . • Total subpaths.
Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
Form a set of sorted matrices • Each subpathforms a sorted matrix . • Each with dimension . • Last one might have smaller dimension size. • All form a set of sorted matrices.
Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
𝑀𝑆𝐸𝐴𝑅𝐶𝐻 using feasibility test 𝐹𝑇𝐸𝑆𝑇0 • Call with algorithm input: • The set of matrices • Stopping count • Using feasibility test • Output search boundary • At most active values remains. • Active value is any candidate value from a subpath and .
Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
Compute functions using 𝐷𝐼𝐺𝐸𝑆𝑇1 • For subpaths with no active values in their matrices, compute • Maximum number of cuts from to , that each connected component except the last, has weight . • Maximum possible weight of the last component given number of cut in subpath from to is . 20
A dynamic programming to compute and for all vertices in subpath. • Range from back to . • If , • Otherwise, , • is the smallest index such that .
Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
Example (1/6) • Stopping count 13 13 Medeian (O) -> Medeian (X) -> Medeian0 (O) -> 0 The number of value remains stopping value 2 -> stops
Example (2/6) 13 Subpaths with no active value:
Example (3/6) • Phase 2 of algorithm PATH1: • Only test a value which • Test feasibility of using 13 17
Example (4/6) • Phase 2 of algorithm PATH1: • Only consider a value which • Test feasibility of using 13 0 7
Example (5/6) • Phase 2 of algorithm PATH1: • Only consider a value which • Test feasibility of using 13 13 11 -> (O)
Example (6/6) • Phase 2 of algorithm PATH1: • Only consider a value which • Test feasibility of using 13 13 13 12 -> (O) All values are discarded, terminates. Return
Complexity of Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
𝑀𝑆𝐸𝐴𝑅𝐶𝐻 using feasibility test 𝐹𝑇𝐸𝑆𝑇0. • By Theorem 2.1, the number of test values is . • -> number of test values • The test values are produced in . • Each feasibility test using takes • The total time is
Complexity of Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test .
Compute functions using 𝐷𝐼𝐺𝐸𝑆𝑇1 • Lemma 3.1. Let be a subpath with no active values. Then computes and for all vertices in in linear time. For each of values of , a constant time amount of work is done. The remaining work can be apportioned as constant for each of values of . • For each , takes . • There are total paths and thus takes time to complete all.
Complexity of Algorithm PATH1 • Phase 1 – collect information • Set . • Form an f(n)-partition of path . • Form a set of sorted matrices. • using feasibility test . • Compute functions using . • Phase 2 – complete parametric search • using feasibility test . )