Minimum Cut and Minimum k-Cut in Hypergraphs via Branching Contractions
Kyle Fox
joint with
Debmalya Panigrahi and Fred Zhang Duke University
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
Kyle Fox
joint with
Debmalya Panigrahi and Fred Zhang Duke University
contractions [Karger, Stein ’96]
contractions [Karger, Stein ’96]
contractions [Ghaffari et al. ’17; Chandrasekharan et al. ’18]
contractions [Karger, Stein ’96]
contractions [Ghaffari et al. ’17; Chandrasekharan et al. ’18]
contractions [FPZ]
connected components; a k-cut creates at least k components
connected components; a k-cut creates at least k components
connected components; a k-cut creates at least k components
connected components; a k-cut creates at least k components
cuts)
cuts)
cuts)
cuts)
random) and contract…
cut
C with probability ≤ 2 / n
C with probability ≤ 2 / n
C with probability ≤ 2 / n
probability ≤ 2 / n
probability ≤ 2 / n
induction…
probability ≤ 2 / n
induction…
probability Ω(1 / n2)
minimum cut with probability Ω(1 / n2)
(probability ≥ 1 - 1 / n)
total
the smaller cut
the smaller cut
the smaller cut
the smaller cut
T(n) = 2T(n/ 2) + O(n2)
in C before recursion is ≤ 1 / 2
in C before recursion is ≤ 1 / 2
nasty induction…
in C before recursion is ≤ 1 / 2
nasty induction…
minimum cut with probability Ω(1 / log n)
minimum cut with probability Ω(1 / log n)
minimum cut with probability Ω(1 / log n)
minimum cut with probability Ω(1 / log n)
graph is dense
minimum cut with probability Ω(1 / log n)
graph is dense
O(n2k - 2 log2 n) time (best known algorithm)
subsets of vertices called hyperedges
subsets of vertices called hyperedges
hyperedges whose removal creates at least k components
subsets of vertices called hyperedges
hyperedges whose removal creates at least k components
subsets of vertices called hyperedges
hyperedges whose removal creates at least k components
total hyperedge size p
total hyperedge size p
contract…?
v
v
v
v
v
v
v
1/3 probability of contracting a hyperedge each round
v
exponentially low in maximum hyperedge size [Kogan, Krauthgamer ’15]
(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]
(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]
Ω(1 / n2)!
(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]
Ω(1 / n2)!
Karger, Panigrahi ’17]
(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]
Ω(1 / n2)!
Karger, Panigrahi ’17]
O(p n2 log2 n) = O(mn3 log2 n) time
(1 - |e| / n) [Chandrasekaran, Xu, Yu ’18]
Ω(1 / n2)!
Karger, Panigrahi ’17]
O(p n2 log2 n) = O(mn3 log2 n) time
O(p n2k-1 log n) = O(mn2k log n) time
subproblems becomes too large
subproblems becomes too large
too small
subproblems becomes too large
too small
same time they do
hyperedges containing every vertex except v
v
hyperedges containing every vertex except v
v
hyperedges containing every vertex except v
contraction preserves cut with probability ≤ 2 / (n + 1)
v
hyperedges containing every vertex except v
contraction preserves cut with probability ≤ 2 / (n + 1)
v
how many?
how many?
how many?
probability dependent on the size of present hyperedges
branch
large hyperedges; meanwhile, we want large hyperedges to induce more branching
large hyperedges; meanwhile, we want large hyperedges to induce more branching
into deciding whether or not to branch
large hyperedges; meanwhile, we want large hyperedges to induce more branching
into deciding whether or not to branch
commit to contracting it
large hyperedges; meanwhile, we want large hyperedges to induce more branching
into deciding whether or not to branch
commit to contracting it
probability based on the selected hyperedge’s size
contracting a minimum cut’s hyperedge with the probability of branching
contracting a minimum cut’s hyperedge with the probability of branching
minimum cut in either the contracted hypergraph or the copy we create before contraction
uniformly at random is in C with probability ≤
1 m ∑
e
|e| n
uniformly at random is in C with probability ≤
|e| / n
1 m ∑
e
|e| n
would have selected hyperedge e with probability proportional to (1 - |e| / n)
would have selected hyperedge e with probability proportional to (1 - |e| / n)
uniformly at random, and then redoing the selection with probability |e| / n
minimum cut in hypergraph H
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)
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
is deterministic
H / e1 H / e1 / e2 H H / e1 / e3
G / e1 / … G
Karger-Stein
vertices
⌈n/ 2⌉
is deterministic
H / e1 H / e1 / e2 H H / e1 / e3
G / e1 / … G
Karger-Stein
vertices
⌈n/ 2⌉
probabilistically
probabilistically
tedious induction…
probabilistically
tedious induction…
where Hn = 1 + 1/2 + … + 1 / n = Θ(log n)
tree contains expected O((n / n0)2) hypergraphs of order n0
tree contains expected O((n / n0)2) hypergraphs of order n0
O(m(n - |e| + 1)) time
tree contains expected O((n / n0)2) hypergraphs of order n0
O(m(n - |e| + 1)) time
for BranchingContract
tree contains expected O((n / n0)2) hypergraphs of order n0
O(m(n - |e| + 1)) time
for BranchingContract
O(mn2 log3 n) time, a nearly Ω(n) improvement
O(nr-1) time when r is a constant
O(nr-1) time when r is a constant
O(nr log2 n) time when r ≥ 3
O(nr-1) time when r is a constant
O(nr log2 n) time when r ≥ 3
Karger-Stein when r = 2)
time for any k ≥ 3
time for any k ≥ 3
if r = 2k - 2 and O(nmax{r,2k-2} log2 n) time otherwise for any constant k, r ≥ 2