Minimum Cut and Minimum k -Cut in Hypergraphs via Branching - - PowerPoint PPT Presentation

minimum cut and minimum k cut in hypergraphs via
SMART_READER_LITE
LIVE PREVIEW

Minimum Cut and Minimum k -Cut in Hypergraphs via Branching - - PowerPoint PPT Presentation

Minimum Cut and Minimum k -Cut in Hypergraphs via Branching Contractions Kyle Fox joint with Debmalya Panigrahi and Fred Zhang Duke University Talk Outline A (short) lecture, some recent work, and a new result Talk Outline A


slide-1
SLIDE 1

Minimum Cut and Minimum k-Cut in Hypergraphs via Branching Contractions

Kyle Fox

joint with

Debmalya Panigrahi and Fred Zhang
 Duke University

slide-2
SLIDE 2

Talk Outline

  • A (short) lecture, some recent work, and a new result…
slide-3
SLIDE 3

Talk Outline

  • A (short) lecture, some recent work, and a new result…
  • 1. Minimum cuts in graphs via branching random


contractions [Karger, Stein ’96]

slide-4
SLIDE 4

Talk Outline

  • A (short) lecture, some recent work, and a new result…
  • 1. Minimum cuts in graphs via branching random


contractions [Karger, Stein ’96]

  • 2. Minimum cuts in hypergraphs via serial random


contractions
 [Ghaffari et al. ’17; Chandrasekharan et al. ’18]

slide-5
SLIDE 5

Talk Outline

  • A (short) lecture, some recent work, and a new result…
  • 1. Minimum cuts in graphs via branching random


contractions [Karger, Stein ’96]

  • 2. Minimum cuts in hypergraphs via serial random


contractions
 [Ghaffari et al. ’17; Chandrasekharan et al. ’18]

  • 3. Faster minimum cuts in hypergraphs via branching


contractions [FPZ]

slide-6
SLIDE 6

Minimum Cuts

  • A cut is a set of edges whose removal creates at least 2

connected components; a k-cut creates at least k components

slide-7
SLIDE 7

Minimum Cuts

  • A cut is a set of edges whose removal creates at least 2

connected components; a k-cut creates at least k components

  • A minimum (k-)cut has as few edges as possible
slide-8
SLIDE 8

Minimum Cuts

  • A cut is a set of edges whose removal creates at least 2

connected components; a k-cut creates at least k components

  • A minimum (k-)cut has as few edges as possible
slide-9
SLIDE 9

Minimum Cuts

  • A cut is a set of edges whose removal creates at least 2

connected components; a k-cut creates at least k components

  • A minimum (k-)cut has as few edges as possible
slide-10
SLIDE 10

Strategies

  • We’ll focus on finding minimum (2-)cuts (i.e., minimum

cuts)

slide-11
SLIDE 11

Strategies

  • We’ll focus on finding minimum (2-)cuts (i.e., minimum

cuts)

  • Given a graph with n vertices and m edges…
slide-12
SLIDE 12

Strategies

  • We’ll focus on finding minimum (2-)cuts (i.e., minimum

cuts)

  • Given a graph with n vertices and m edges…
  • Compute n - 1 minimum s,t-cuts in O(mn2) time
slide-13
SLIDE 13

Strategies

  • We’ll focus on finding minimum (2-)cuts (i.e., minimum

cuts)

  • Given a graph with n vertices and m edges…
  • Compute n - 1 minimum s,t-cuts in O(mn2) time
  • Guess an edge outside a minimum cut (uniformly at

random) and contract…

slide-14
SLIDE 14

Edge Contraction

  • Identify endpoints and remove loops
slide-15
SLIDE 15

Edge Contraction

  • Identify endpoints and remove loops
  • Like committing to not separating the endpoints with a

cut

slide-16
SLIDE 16

Contractions Preserve Cuts (Probably)

  • Lemma: For any minimum cut C, we contract an edge of

C with probability ≤ 2 / n

slide-17
SLIDE 17

Contractions Preserve Cuts (Probably)

  • Lemma: For any minimum cut C, we contract an edge of

C with probability ≤ 2 / n

  • Each vertex is incident to at least |C| edges
slide-18
SLIDE 18

Contractions Preserve Cuts (Probably)

  • Lemma: For any minimum cut C, we contract an edge of

C with probability ≤ 2 / n

  • Each vertex is incident to at least |C| edges
  • So there are at least |C| (n / 2) edges
slide-19
SLIDE 19

Repeating Contractions [Karger ’93]

  • Repeatedly contract until two vertices remain
slide-20
SLIDE 20

Repeating Contractions [Karger ’93]

  • Repeatedly contract until two vertices remain
slide-21
SLIDE 21

Repeating Contractions [Karger ’93]

  • Repeatedly contract until two vertices remain
slide-22
SLIDE 22

Repeating Contractions [Karger ’93]

  • Repeatedly contract until two vertices remain
slide-23
SLIDE 23

Repeating Contractions [Karger ’93]

  • Repeatedly contract until two vertices remain
slide-24
SLIDE 24

Repeating Contractions [Karger ’93]

  • Repeatedly contract until two vertices remain
  • Surviving edges form a cut
slide-25
SLIDE 25

It Works!

  • For any minimum cut C, we contract an edge of C with

probability ≤ 2 / n

slide-26
SLIDE 26

It Works!

  • For any minimum cut C, we contract an edge of C with

probability ≤ 2 / n

induction…

slide-27
SLIDE 27

It Works!

  • For any minimum cut C, we contract an edge of C with

probability ≤ 2 / n

induction…

  • Minimum cut C survives the entire process with

probability Ω(1 / n2)

slide-28
SLIDE 28

Try, Try Again

  • One run of the repeated contraction process finds a

minimum cut with probability Ω(1 / n2)

  • Run it O(n2) times to succeed with constant probability
  • Or O(n2 log n) times to succeed with high probability

(probability ≥ 1 - 1 / n)

  • Takes O(n2) time to fully contract once, so O(n4 log n) time

total

slide-29
SLIDE 29

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
slide-30
SLIDE 30

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain

⌈n/ 2⌉

slide-31
SLIDE 31

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain

⌈n/ 2⌉

slide-32
SLIDE 32

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain

⌈n/ 2⌉

slide-33
SLIDE 33

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain

⌈n/ 2⌉

slide-34
SLIDE 34

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain

⌈n/ 2⌉

slide-35
SLIDE 35

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain
  • Make two copies of contracted graph, recurse, and return

the smaller cut

⌈n/ 2⌉

slide-36
SLIDE 36

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain
  • Make two copies of contracted graph, recurse, and return

the smaller cut

⌈n/ 2⌉

slide-37
SLIDE 37

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain
  • Make two copies of contracted graph, recurse, and return

the smaller cut

⌈n/ 2⌉

slide-38
SLIDE 38

Branching Contractions [Karger, Stein ’96]

  • Probably for one run to succeed is too low!
  • To boost probability, contract until vertices remain
  • Make two copies of contracted graph, recurse, and return

the smaller cut

⌈n/ 2⌉

slide-39
SLIDE 39

Still Fast

  • A single try has the runtime recurrence
  • So O(n2 log n) time per run

T(n) = 2T(n/ 2) + O(n2)

slide-40
SLIDE 40

But More Accurate

  • For any minimum cut C, probability we contract any edge

in C before recursion is ≤ 1 / 2

slide-41
SLIDE 41

But More Accurate

  • For any minimum cut C, probability we contract any edge

in C before recursion is ≤ 1 / 2

nasty induction…

slide-42
SLIDE 42

But More Accurate

  • For any minimum cut C, probability we contract any edge

in C before recursion is ≤ 1 / 2

nasty induction…

  • We return a minimum cut with probability Ω(1 / log n)
slide-43
SLIDE 43

Final Result for Graphs

  • One run of the branching contraction process finds a

minimum cut with probability Ω(1 / log n)

slide-44
SLIDE 44

Final Result for Graphs

  • One run of the branching contraction process finds a

minimum cut with probability Ω(1 / log n)

  • Run it O(log2 n) times to succeed with high probability
slide-45
SLIDE 45

Final Result for Graphs

  • One run of the branching contraction process finds a

minimum cut with probability Ω(1 / log n)

  • Run it O(log2 n) times to succeed with high probability
  • O(n2 log3 n) time total!
slide-46
SLIDE 46

Final Result for Graphs

  • One run of the branching contraction process finds a

minimum cut with probability Ω(1 / log n)

  • Run it O(log2 n) times to succeed with high probability
  • O(n2 log3 n) time total!
  • Faster than known deterministic algorithms when the

graph is dense

slide-47
SLIDE 47

Final Result for Graphs

  • One run of the branching contraction process finds a

minimum cut with probability Ω(1 / log n)

  • Run it O(log2 n) times to succeed with high probability
  • O(n2 log3 n) time total!
  • Faster than known deterministic algorithms when the

graph is dense

  • Can easily modify algorithm to find minimum k-cuts in

O(n2k - 2 log2 n) time (best known algorithm)

slide-48
SLIDE 48

Today’s Real Topic: Hypergraphs

  • A hypergraph is a collection of vertices and arbitrary

subsets of vertices called hyperedges

slide-49
SLIDE 49

Today’s Real Topic: Hypergraphs

  • A hypergraph is a collection of vertices and arbitrary

subsets of vertices called hyperedges

  • A minimum (k-)cut is still a minimum cardinality set of

hyperedges whose removal creates at least k components

slide-50
SLIDE 50

Today’s Real Topic: Hypergraphs

  • A hypergraph is a collection of vertices and arbitrary

subsets of vertices called hyperedges

  • A minimum (k-)cut is still a minimum cardinality set of

hyperedges whose removal creates at least k components

slide-51
SLIDE 51

Today’s Real Topic: Hypergraphs

  • A hypergraph is a collection of vertices and arbitrary

subsets of vertices called hyperedges

  • A minimum (k-)cut is still a minimum cardinality set of

hyperedges whose removal creates at least k components

slide-52
SLIDE 52

Hyperstrategies

  • Again, focus on finding minimum (2-)cuts
slide-53
SLIDE 53

Hyperstrategies

  • Again, focus on finding minimum (2-)cuts
  • Given a hypergraph with n vertices, m hyperedges, and

total hyperedge size p

slide-54
SLIDE 54

Hyperstrategies

  • Again, focus on finding minimum (2-)cuts
  • Given a hypergraph with n vertices, m hyperedges, and

total hyperedge size p

  • Guess a hyperedge outside a minimum cut and

contract…?

slide-55
SLIDE 55

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v

v

slide-56
SLIDE 56

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v

v

slide-57
SLIDE 57

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v

v

slide-58
SLIDE 58

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v

v

slide-59
SLIDE 59

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v

v

slide-60
SLIDE 60

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v

v

slide-61
SLIDE 61

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v
  • Two copies of a path spanning over every vertex except v

v

slide-62
SLIDE 62

Uniform Contracts are Bad

  • n - 1 distinct edges of size n - 1, all containing vertex v
  • Two copies of a path spanning over every vertex except v
  • Minimum cut contains every hyperedge, but there is a ≥

1/3 probability of contracting a hyperedge each round

v

slide-63
SLIDE 63

Really Bad

  • Minimum cut survives all contractions with probability

exponentially low in maximum hyperedge size [Kogan, Krauthgamer ’15]

  • Need to bias selection away from large hyperedges
slide-64
SLIDE 64

Biased Selection

  • Should contract each hyperedge e with probability proportional to


(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]

slide-65
SLIDE 65

Biased Selection

  • Should contract each hyperedge e with probability proportional to


(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]

  • Minimum cut survives all contractions with probability


Ω(1 / n2)!

slide-66
SLIDE 66

Biased Selection

  • Should contract each hyperedge e with probability proportional to


(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]

  • Minimum cut survives all contractions with probability


Ω(1 / n2)!

  • Can perform all contractions in O(p log n) time total [Ghaffari,

Karger, Panigrahi ’17]

slide-67
SLIDE 67

Biased Selection

  • Should contract each hyperedge e with probability proportional to


(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]

  • Minimum cut survives all contractions with probability


Ω(1 / n2)!

  • Can perform all contractions in O(p log n) time total [Ghaffari,

Karger, Panigrahi ’17]

  • So compute a minimum cut with high probability in


O(p n2 log2 n) = O(mn3 log2 n) time

slide-68
SLIDE 68

Biased Selection

  • Should contract each hyperedge e with probability proportional to


(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]

  • Minimum cut survives all contractions with probability


Ω(1 / n2)!

  • Can perform all contractions in O(p log n) time total [Ghaffari,

Karger, Panigrahi ’17]

  • So compute a minimum cut with high probability in


O(p n2 log2 n) = O(mn3 log2 n) time

  • Minimum k-cut (k ≥ 3) with high probability in


O(p n2k-1 log n) = O(mn2k log n) time

slide-69
SLIDE 69

Branching Contractions?

  • Karger and Stein branch at carefully chosen graph orders
slide-70
SLIDE 70

Branching Contractions?

  • Karger and Stein branch at carefully chosen graph orders
  • Branch too early, and the number of recursive

subproblems becomes too large

slide-71
SLIDE 71

Branching Contractions?

  • Karger and Stein branch at carefully chosen graph orders
  • Branch too early, and the number of recursive

subproblems becomes too large

  • Branch too late, and the probability of success becomes

too small

slide-72
SLIDE 72

Branching Contractions?

  • Karger and Stein branch at carefully chosen graph orders
  • Branch too early, and the number of recursive

subproblems becomes too large

  • Branch too late, and the probability of success becomes

too small

  • Large hyperedges make it impossible to branch at the

same time they do

slide-73
SLIDE 73

Many Branches Needed

  • Same example as before, but replace the paths with two

hyperedges containing every vertex except v

v

slide-74
SLIDE 74

Many Branches Needed

  • Same example as before, but replace the paths with two

hyperedges containing every vertex except v

v

slide-75
SLIDE 75

Many Branches Needed

  • Same example as before, but replace the paths with two

hyperedges containing every vertex except v

  • Minimum cut contains every green hyperedge;

contraction preserves cut with probability ≤ 2 / (n + 1)

v

slide-76
SLIDE 76

Many Branches Needed

  • Same example as before, but replace the paths with two

hyperedges containing every vertex except v

  • Minimum cut contains every green hyperedge;

contraction preserves cut with probability ≤ 2 / (n + 1)

  • Need Ω(n) independent contractions

v

slide-77
SLIDE 77

A Smoother Procedure

  • Larger hyperedges means we need more branches, but

how many?

slide-78
SLIDE 78

A Smoother Procedure

  • Larger hyperedges means we need more branches, but

how many?

  • Math works out easiest if we could do a fractional number
  • f branches before each contraction
slide-79
SLIDE 79

A Smoother Procedure

  • Larger hyperedges means we need more branches, but

how many?

  • Math works out easiest if we could do a fractional number
  • f branches before each contraction
  • Can achieve this ideal in expectation by branching with a

probability dependent on the size of present hyperedges

slide-80
SLIDE 80

Probabilistic Branching [FPZ]

  • Before every contraction, we flip coins to decide whether
  • r not to copy the current hypergraph and recursively call
  • ur algorithm
slide-81
SLIDE 81

Probabilistic Branching [FPZ]

  • Before every contraction, we flip coins to decide whether
  • r not to copy the current hypergraph and recursively call
  • ur algorithm
  • The larger the hyperedges, the more likely we are to

branch

slide-82
SLIDE 82

Bias Against Large Hyperedges

  • Previous work biased hyperedge selection away from

large hyperedges; meanwhile, we want large hyperedges to induce more branching

slide-83
SLIDE 83

Bias Against Large Hyperedges

  • Previous work biased hyperedge selection away from

large hyperedges; meanwhile, we want large hyperedges to induce more branching

  • Our algorithm moves all bias against large hyperedges

into deciding whether or not to branch

slide-84
SLIDE 84

Bias Against Large Hyperedges

  • Previous work biased hyperedge selection away from

large hyperedges; meanwhile, we want large hyperedges to induce more branching

  • Our algorithm moves all bias against large hyperedges

into deciding whether or not to branch

  • First, we select a hyperedge uniformly at random and

commit to contracting it

slide-85
SLIDE 85

Bias Against Large Hyperedges

  • Previous work biased hyperedge selection away from

large hyperedges; meanwhile, we want large hyperedges to induce more branching

  • Our algorithm moves all bias against large hyperedges

into deciding whether or not to branch

  • First, we select a hyperedge uniformly at random and

commit to contracting it

  • But before contraction, we copy the hypergraph with

probability based on the selected hyperedge’s size

slide-86
SLIDE 86

Probability of Branching

  • Intuitively, we want to balance the probability of

contracting a minimum cut’s hyperedge with the probability of branching

slide-87
SLIDE 87

Probability of Branching

  • Intuitively, we want to balance the probability of

contracting a minimum cut’s hyperedge with the probability of branching

  • Then, in expectation, we preserve one copy of the

minimum cut in either the contracted hypergraph or the copy we create before contraction

slide-88
SLIDE 88

Probability of Branching

  • Lemma: For any minimum cut C, an edge chosen

uniformly at random is in C with probability ≤

1 m ∑

e

|e| n

slide-89
SLIDE 89

Probability of Branching

  • Lemma: For any minimum cut C, an edge chosen

uniformly at random is in C with probability ≤

  • So if we select hyperedge e, we branch with probability


|e| / n

1 m ∑

e

|e| n

slide-90
SLIDE 90

That Looks Familiar…

  • We branch with probability |e| / n; Chandrasekaran et al.

would have selected hyperedge e with probability proportional to (1 - |e| / n)

slide-91
SLIDE 91

That Looks Familiar…

  • We branch with probability |e| / n; Chandrasekaran et al.

would have selected hyperedge e with probability proportional to (1 - |e| / n)

  • Their algorithm is the same as selecting a hyperedge e

uniformly at random, and then redoing the selection with probability |e| / n

slide-92
SLIDE 92

The Algorithm

  • Maintain a set S of hyperedges we believe belong to the a

minimum cut in hypergraph H

slide-93
SLIDE 93

The Algorithm

  • Maintain a set S of hyperedges we believe belong to the a

minimum cut in hypergraph H BranchingContract(H, S): Add each spanning hyperedge to S and remove it from H If H has no edges, return S Select hyperedge e uniformly at random With probability |e| / n, return the smaller of the cuts BranchingContract(H / e, S) and BranchingContract(H, S) Otherwise, return BranchingContract(H / e, S)

slide-94
SLIDE 94

Computation Tree

  • Visualize the algorithm’s execution as a rooted tree over

hypergraphs; input hypergraph H is the root, each time we perform a contraction, that node gets a child

H / e1 H / e1 / e2 H H / e1 / e3

  • ur algorithm
slide-95
SLIDE 95

Computation Tree

  • Our computation tree is probabilistic while Karger-Stein’s

is deterministic

H / e1 H / e1 / e2 H H / e1 / e3

  • ur algorithm

G / e1 / … G

Karger-Stein

vertices

⌈n/ 2⌉

slide-96
SLIDE 96

Computation Tree

  • Our computation tree is probabilistic while Karger-Stein’s

is deterministic

  • They have more branches per level in exception

H / e1 H / e1 / e2 H H / e1 / e3

  • ur algorithm

G / e1 / … G

Karger-Stein

vertices

⌈n/ 2⌉

slide-97
SLIDE 97

Just As Accurate

  • We randomly select a hyperedge to contract and branch

probabilistically

slide-98
SLIDE 98

Just As Accurate

  • We randomly select a hyperedge to contract and branch

probabilistically

tedious induction…

slide-99
SLIDE 99

Just As Accurate

  • We randomly select a hyperedge to contract and branch

probabilistically

tedious induction…

  • We return a minimum cut with probability ≥ 1 / (2Hn - 2)

where Hn = 1 + 1/2 + … + 1 / n = Θ(log n)

slide-100
SLIDE 100

And Nearly as Fast

  • Lemma: Given a hypergraph of order n, the computation

tree contains expected O((n / n0)2) hypergraphs of order n0

slide-101
SLIDE 101

And Nearly as Fast

  • Lemma: Given a hypergraph of order n, the computation

tree contains expected O((n / n0)2) hypergraphs of order n0

  • We give a method to contract any hyperedge e in


O(m(n - |e| + 1)) time

slide-102
SLIDE 102

And Nearly as Fast

  • Lemma: Given a hypergraph of order n, the computation

tree contains expected O((n / n0)2) hypergraphs of order n0

  • We give a method to contract any hyperedge e in


O(m(n - |e| + 1)) time

  • Sum over all n0 to get a total running time of O(mn2 log n)

for BranchingContract

slide-103
SLIDE 103

And Nearly as Fast

  • Lemma: Given a hypergraph of order n, the computation

tree contains expected O((n / n0)2) hypergraphs of order n0

  • We give a method to contract any hyperedge e in


O(m(n - |e| + 1)) time

  • Sum over all n0 to get a total running time of O(mn2 log n)

for BranchingContract

  • Can compute a minimum cut with high probability in


O(mn2 log3 n) time, a nearly Ω(n) improvement

slide-104
SLIDE 104

Low Rank

  • Rank r of a hypergraph is the maximum hyperedge size
slide-105
SLIDE 105

Low Rank

  • Rank r of a hypergraph is the maximum hyperedge size
  • We give a method to contract any hyperedge in


O(nr-1) time when r is a constant

slide-106
SLIDE 106

Low Rank

  • Rank r of a hypergraph is the maximum hyperedge size
  • We give a method to contract any hyperedge in


O(nr-1) time when r is a constant

  • Can compute a minimum cut with high probability in


O(nr log2 n) time when r ≥ 3

slide-107
SLIDE 107

Low Rank

  • Rank r of a hypergraph is the maximum hyperedge size
  • We give a method to contract any hyperedge in


O(nr-1) time when r is a constant

  • Can compute a minimum cut with high probability in


O(nr log2 n) time when r ≥ 3

  • Nearly optimal for dense hypergraphs (and we match

Karger-Stein when r = 2)

slide-108
SLIDE 108

Minimum k-cut

  • Branch more often when k ≥ 3
slide-109
SLIDE 109

Minimum k-cut

  • Branch more often when k ≥ 3
  • Minimum k-cut with high probability in O(mn2k-2 log2 n)

time for any k ≥ 3

slide-110
SLIDE 110

Minimum k-cut

  • Branch more often when k ≥ 3
  • Minimum k-cut with high probability in O(mn2k-2 log2 n)

time for any k ≥ 3

  • Minimum k-cut with high probability in O(n2k-2 log3 n) time

if r = 2k - 2 and O(nmax{r,2k-2} log2 n) time otherwise for any constant k, r ≥ 2

slide-111
SLIDE 111

Thanks!