A polynomial-time partitioning algorithm for weighted cactus graphs - - PowerPoint PPT Presentation

a polynomial time partitioning algorithm for weighted
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Leonie Selbach 17.3.2020

A polynomial-time partitioning algorithm for weighted cactus graphs

Maike Buchin, Leonie Selbach

Ruhr University Bochum

EuroCG 2020

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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.

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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)

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Leonie Selbach 17.3.2020

Motivation & Problem

p-(l, u)-partition problem Find a (l, u)-partition with exactly p clusters.

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

Leonie Selbach 17.3.2020

(Related) Results

Related results

  • series-parallel graphs

NP-hard

slide-13
SLIDE 13

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)

slide-14
SLIDE 14

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)

slide-15
SLIDE 15

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)

slide-16
SLIDE 16

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)

slide-17
SLIDE 17

Leonie Selbach 17.3.2020

Preprocessing

DFS on some vertex r ∈ G and store cycles

slide-18
SLIDE 18

Leonie Selbach 17.3.2020

Preprocessing

DFS on some vertex r ∈ G and store cycles r

slide-19
SLIDE 19

Leonie Selbach 17.3.2020

Preprocessing

DFS on some vertex r ∈ G and store cycles r

slide-20
SLIDE 20

Leonie Selbach 17.3.2020

Preprocessing

DFS on some vertex r ∈ G and store cycles r

slide-21
SLIDE 21

Leonie Selbach 17.3.2020

Preprocessing

DFS on some vertex r ∈ G and store cycles r

slide-22
SLIDE 22

Leonie Selbach 17.3.2020

Preprocessing

DFS on some vertex r ∈ G and store cycles r x y z r x y z

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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}

slide-28
SLIDE 28

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)

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

Leonie Selbach 17.3.2020

Method

Compute partition P of T i

v by

combining partitions of T i−1

v

and Tvi

slide-41
SLIDE 41

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)

slide-42
SLIDE 42

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)

slide-43
SLIDE 43

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

slide-44
SLIDE 44

Leonie Selbach 17.3.2020

Method

What about cycles? consider different configurations

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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

slide-47
SLIDE 47

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

slide-48
SLIDE 48

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

slide-49
SLIDE 49

Leonie Selbach 17.3.2020

Method

What about cycles in the graph? consider different configurations

slide-50
SLIDE 50

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

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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).

slide-56
SLIDE 56

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)

slide-57
SLIDE 57

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)
slide-58
SLIDE 58

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

slide-59
SLIDE 59

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)

slide-60
SLIDE 60

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

slide-61
SLIDE 61

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).

slide-62
SLIDE 62

Leonie Selbach 17.3.2020

Results

Open problems

  • NP-hard
  • Polynomial-time algorithms

for other graph classes?