Leonie Selbach 17.3.2020
A polynomial-time partitioning algorithm for weighted cactus graphs - - PowerPoint PPT Presentation
A polynomial-time partitioning algorithm for weighted cactus graphs - - PowerPoint PPT Presentation
A polynomial-time partitioning algorithm for weighted cactus graphs Maike Buchin, Leonie Selbach Ruhr University Bochum EuroCG 2020 Leonie Selbach 17.3.2020 Motivation & Problem p - ( l, u ) -partition problem Given: Vertex-weighted graph
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Given: Vertex-weighted graph G = (V, E, w), non-negative integers l and u with l ≤ u, positive integer p
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Given: Vertex-weighted graph G = (V, E, w), non-negative integers l and u with l ≤ u, positive integer p Find a vertex partition into p clusters V1, V2, . . . , Vp such that l ≤ w(Vi) ≤ u for all 1 ≤ i ≤ p.
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Given: Vertex-weighted graph G = (V, E, w), non-negative integers l and u with l ≤ u, positive integer p Find a vertex partition into p clusters V1, V2, . . . , Vp such that l ≤ w(Vi) ≤ u for all 1 ≤ i ≤ p.
connected and pairwise disjoint
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Given: Vertex-weighted graph G = (V, E, w), non-negative integers l and u with l ≤ u, positive integer p Find a vertex partition into p clusters V1, V2, . . . , Vp such that l ≤ w(Vi) ≤ u for all 1 ≤ i ≤ p.
connected and pairwise disjoint =
- v∈Vi
w(v)
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Given: Vertex-weighted graph G = (V, E, w), non-negative integers l and u with l ≤ u, positive integer p Find a vertex partition into p clusters V1, V2, . . . , Vp such that l ≤ w(Vi) ≤ u for all 1 ≤ i ≤ p.
connected and pairwise disjoint =
- v∈Vi
w(v)
Motivation Fragmentation of biomedical structures
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Find a (l, u)-partition with exactly p clusters.
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Find a (l, u)-partition with exactly p clusters.
2 5 4 3 7 8 2 1 4 3 2
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Find a (l, u)-partition with exactly p clusters.
2 5 4 3 7 8 2 1 4 3 2
6-(3, 12)-partition
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Find a (l, u)-partition with exactly p clusters. Minimum/maximum-(l, u)-partition problem Find a (l, u)-partition with the minimal resp. maximal number of clusters.
2 5 4 3 7 8 2 1 4 3 2
6-(3, 12)-partition
Leonie Selbach 17.3.2020
Motivation & Problem
p-(l, u)-partition problem Find a (l, u)-partition with exactly p clusters. Minimum/maximum-(l, u)-partition problem Find a (l, u)-partition with the minimal resp. maximal number of clusters.
2 5 4 3 7 8 2 1 4 3 2 2 5 4 3 7 8 2 1 4 3 2
minimum (3,12)-partition 6-(3, 12)-partition
Leonie Selbach 17.3.2020
(Related) Results
Related results
- series-parallel graphs
NP-hard
Leonie Selbach 17.3.2020
(Related) Results
p-(l, u)-partition problem min/max-(l, u)-partition problem
Related results
- series-parallel graphs
NP-hard O(u4p2n) O(u4n)
- partitial k-trees
O(u2(k+1)p2n) O(u2(k+1)n)
Leonie Selbach 17.3.2020
(Related) Results
Related results
- series-parallel graphs
NP-hard O(u4p2n) O(u4n)
- partitial k-trees
O(u2(k+1)p2n) O(u2(k+1)n)
- trees
polynomial O(p4n) O(n5)
p-(l, u)-partition problem min/max-(l, u)-partition problem (Decision)
Leonie Selbach 17.3.2020
(Related) Results
Related results
- series-parallel graphs
NP-hard O(u4p2n) O(u4n)
- partitial k-trees
O(u2(k+1)p2n) O(u2(k+1)n)
- trees
polynomial O(p4n) O(n5)
p-(l, u)-partition problem min/max-(l, u)-partition problem
Our results
- cactus graphs
polynomial O(p4n2) O(n6)
(Decision)
Leonie Selbach 17.3.2020
(Related) Results
Related results
- series-parallel graphs
NP-hard O(u4p2n) O(u4n)
- partitial k-trees
O(u2(k+1)p2n) O(u2(k+1)n)
- trees
polynomial O(p4n) O(n5)
p-(l, u)-partition problem min/max-(l, u)-partition problem
Our results
- cactus graphs
polynomial O(p4n2) O(n6)
(Decision & computation) (Decision & Computation)
Leonie Selbach 17.3.2020
Preprocessing
DFS on some vertex r ∈ G and store cycles
Leonie Selbach 17.3.2020
Preprocessing
DFS on some vertex r ∈ G and store cycles r
Leonie Selbach 17.3.2020
Preprocessing
DFS on some vertex r ∈ G and store cycles r
Leonie Selbach 17.3.2020
Preprocessing
DFS on some vertex r ∈ G and store cycles r
Leonie Selbach 17.3.2020
Preprocessing
DFS on some vertex r ∈ G and store cycles r
Leonie Selbach 17.3.2020
Preprocessing
DFS on some vertex r ∈ G and store cycles r x y z r x y z
Leonie Selbach 17.3.2020
Preprocessing
DFS on some vertex r ∈ G and store cycles r x y z r x y z
start node end node
C(r, z) = r, x, y, z
Leonie Selbach 17.3.2020
Some Definitions
For a partition P of Tv: |P| = number of clusters in P Cv = cluster containing the node v
Leonie Selbach 17.3.2020
Some Definitions
For a partition P of Tv: |P| = number of clusters in P Cv = cluster containing the node v subtree rooted in node v
Leonie Selbach 17.3.2020
Some Definitions
For a partition P of Tv: |P| = number of clusters in P Cv = cluster containing the node v Extendable (l, u)-partition of Tv:
- w(Cv) ≤ u
- l ≤ w(C′) ≤ u for every cluster C′ = Cv
subtree rooted in node v
Leonie Selbach 17.3.2020
Some Definitions
Partition Sets S(Tv) = {(x, k) | ∃ extendable (l, u)-partition P of Tv such that |P| = k ∧ w(Cv) = x}
Leonie Selbach 17.3.2020
Some Definitions
Partition Sets S(Tv) = {(x, k) | ∃ extendable (l, u)-partition P of Tv such that |P| = k ∧ w(Cv) = x} |S(Tv)| = O(up)
Leonie Selbach 17.3.2020
Some Definitions
Partition Sets S(Tv) = {(x, k) | ∃ extendable (l, u)-partition P of Tv such that |P| = k ∧ w(Cv) = x} Lemma Tv has p-(l, u)-partition ⇔ ∃ (x, p) ∈ S(Tv) such that l ≤ x ≤ u
Leonie Selbach 17.3.2020
Some Definitions
Partition Sets S(Tv) = {(x, k) | ∃ extendable (l, u)-partition P of Tv such that |P| = k ∧ w(Cv) = x} Lemma Tv has p-(l, u)-partition ⇔ ∃ (x, p) ∈ S(Tv) such that l ≤ x ≤ u Idea Compute S(Tr) for r being the root of the DFS-Tree
Leonie Selbach 17.3.2020
Some Definitions
Partition Sets S(Tv) = {(x, k) | ∃ extendable (l, u)-partition P of Tv such that |P| = k ∧ w(Cv) = x} Lemma Tv has p-(l, u)-partition ⇔ ∃ (x, p) ∈ S(Tv) such that l ≤ x ≤ u Idea Compute S(Tr) for r being the root of the DFS-Tree include an efficient procedure for the cycles
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi v vi v1 vi−1 v vi v1 vi−1 T i
v
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi v vi v1 vi−1 v vi v1 vi−1 T i−1
v
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi v vi T i−1
v
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi v vi T i−1
v
Tvi
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi Given partitions P ′ of T i−1
v
and P ′′ of Tvi.
C′
v
C
′′
vi
v vi
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi Given partitions P ′ of T i−1
v
and P ′′ of Tvi. as (x1, k1) ∈ S(T i−1
v
) and (x2, k2) ∈ S(Tvi)
C′
v
C
′′
vi
v vi
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi Option 1: merge w(Cv) = w(C′
v) + w(C′′ vi)
|P| = |P ′| + |P ′′| − 1 (x1 + x2, k1 + k2 − 1) ∈ S(T i
v)
if x1 + x2 ≤ u and k1 + k2 − 1 ≤ p
Cv
v vi
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi Option 2: don’t merge w(Cv) = w(C′
v)
|P| = |P ′| + |P ′′| (x1, k1 + k2) ∈ S(T i
v)
if x2 ≥ l and k1 + k2 ≤ p
Cv
v vi
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi Compute set S(T i
v)
by combining sets S(T i−1
v
) and S(Tvi)
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi Compute set S(T i
v)
by combining sets S(T i−1
v
) and S(Tvi)
S(T i
v) =S(T i−1 v
) ⊕ S(Tvi) ={(x1 + x2, k1 + k2 − 1)|x1 + x2 ≤ u, k1 + k2 − 1 ≤ p} ∪ {(x1, k1 + k2)|l ≤ x2, k1 + k2 ≤ p}
⊕-operation O(u2p2)
Leonie Selbach 17.3.2020
Method
Compute partition P of T i
v by
combining partitions of T i−1
v
and Tvi Compute set S(T i
v)
by combining sets S(T i−1
v
) and S(Tvi) ⊕-operation Dynamic approach S(T 0
v ) = {(w(v), 1)}
S(T i
v) = S(T i−1 v
) ⊕ S(Tvi) for all edges (v, vi) bottom-up
Leonie Selbach 17.3.2020
Method
What about cycles? consider different configurations
Leonie Selbach 17.3.2020
Method
What about cycles? consider different configurations
w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2
Leonie Selbach 17.3.2020
Method
What about cycles? consider different configurations
w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2
Leonie Selbach 17.3.2020
Method
What about cycles? consider different configurations
w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2
Leonie Selbach 17.3.2020
Method
What about cycles? consider different configurations
w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2 w0 w3 w1 w2
Leonie Selbach 17.3.2020
Method
What about cycles in the graph? consider different configurations
Leonie Selbach 17.3.2020
Method
w1 w0 w2 w3 T c1−1
w1
T c2−1
w2
Tw3 T k−1
w0
What about cycles in the graph? consider different configurations
Leonie Selbach 17.3.2020
Method
w1 w0 w2 w3 w1 w0 w2 w3 T c1−1
w1
T c2−1
w2
Tw3 T k−1
w0
What about cycles in the graph? consider different configurations
Leonie Selbach 17.3.2020
Method
w1 w0 w2 w3 w1 w0 w2 w3 w1 w0 w2 w3 T c1−1
w1
T c2−1
w2
Tw3 T k−1
w0
What about cycles in the graph? consider different configurations
Leonie Selbach 17.3.2020
Method
Computation of the partition sets
Sj(Twm−1) =
- S(Twm−1)
j = 1, 2 S(Twm−1) ⊕ Sj(Twm−2)
- therwise
Sj(Twi) = S(T ci−1
wi
) ⊕ Sj(Twi+1) j < m − i S(T ci−1
wi
) ⊕ Sj(Twi−1) j > m − i + 1 S(T ci−1
wi
)
- therwise
Sj(Tw0) =
- S(T k−1
w0 ) ⊕ Sj(Tw1)
j = 1
- S(T k−1
w0 ) ⊕ Sj(Tw1)
- ⊕ Sj(Twm−1)
- therwise
for nodes in some cycle C(w0, wm−1) = w0, w1, . . . , wm−1 in different configurations j
Leonie Selbach 17.3.2020
Method
Computation of the partition sets
Sj(Twm−1) =
- S(Twm−1)
j = 1, 2 S(Twm−1) ⊕ Sj(Twm−2)
- therwise
Sj(Twi) = S(T ci−1
wi
) ⊕ Sj(Twi+1) j < m − i S(T ci−1
wi
) ⊕ Sj(Twi−1) j > m − i + 1 S(T ci−1
wi
)
- therwise
Sj(Tw0) =
- S(T k−1
w0 ) ⊕ Sj(Tw1)
j = 1
- S(T k−1
w0 ) ⊕ Sj(Tw1)
- ⊕ Sj(Twm−1)
- therwise
S(T k
w0) = m−1 j=1 Sj(T k w0)
for nodes in some cycle C(w0, wm−1) = w0, w1, . . . , wm−1 in different configurations j
Leonie Selbach 17.3.2020
Results
Theorem Given a weighted cactus graph G, a positive integer p and two non-negative integers l and u (with l ≤ u). The p-(l, u)-partition problem can be decided in time O(u2p2n2).
Leonie Selbach 17.3.2020
Results
Theorem Given a weighted cactus graph G, a positive integer p and two non-negative integers l and u (with l ≤ u). The p-(l, u)-partition problem can be decided in time O(u2p2n2). reduce size of partition sets from O(up) to O(p2) O(p4n2)
Leonie Selbach 17.3.2020
Results
Theorem Given a weighted cactus graph G, a positive integer p and two non-negative integers l and u (with l ≤ u). The p-(l, u)-partition problem can be decided in time O(u2p2n2). reduce size of partition sets from O(up) to O(p2) O(p4n2)
before: x1 x2 x3 xm m ≤ u for each k (≤ p)
- verall O(up)
Leonie Selbach 17.3.2020
Results
Theorem Given a weighted cactus graph G, a positive integer p and two non-negative integers l and u (with l ≤ u). The p-(l, u)-partition problem can be decided in time O(u2p2n2). reduce size of partition sets from O(up) to O(p2) O(p4n2)
before: x1 x2 x3 xm m ≤ u for each k (≤ p)
- verall O(up)
before: x1 x2 x3 xm d = u − l > d ≤ d
Leonie Selbach 17.3.2020
Results
Theorem Given a weighted cactus graph G, a positive integer p and two non-negative integers l and u (with l ≤ u). The p-(l, u)-partition problem can be decided in time O(u2p2n2). reduce size of partition sets from O(up) to O(p2) O(p4n2)
before: x1 x2 x3 xm m ≤ u for each k (≤ p)
- verall O(up)
before: x1 x2 x3 xm d = u − l > d ≤ d now: [a1, a2] [a2, a3] [al, al+1] l ≤ k
- verall O(p2)
for each k (≤ p)
Leonie Selbach 17.3.2020
Results
by storing additional information and using backtracking Theorem Given a weighted cactus graph G, a positive integer p and two non-negative integers l and u (with l ≤ u). The p-(l, u)-partition problem can be decided in time O(p4n2)and space O(p5n2). solved
Leonie Selbach 17.3.2020
Results
Theorem Given a weighted cactus graph G and two non-negative integers l and u (with l ≤ u). The minimum and maximum (l, u)-partition problem can solved in time O(n6) and space O(n7).
Leonie Selbach 17.3.2020
Results
Open problems
- NP-hard
- Polynomial-time algorithms