-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Motivation
Fundamental graph partitioning problem that generalizes the minimum s-t cut (k=2, polynomial) to
Definition
Name: MinimumMultiwayCut
Reference: Dahlhaus, Johnson, Papadimitriou, Seymour & Yannakakis (1994), SIAM J. Comput.
Given an undirected weighted graph
Equivalently,
Variables
-
Count:
$m = |E|$ (one binary variable per edge) -
Per-variable domain: binary
${0, 1}$ -
Meaning:
$x_e = 1$ if edge$e \in E$ is in the cut (removed);$x_e = 0$ otherwise. A configuration is feasible if removing the cut edges${e \mid x_e = 1}$ disconnects every pair of terminals.
Schema (data type)
Type name: MinimumMultiwayCut
Variants: graph topology (SimpleGraph, weighted or unweighted)
| Field | Type | Description |
|---|---|---|
| graph | SimpleGraph | the graph |
| terminals | Vec<usize> | terminal vertex indices |
| weights | Vec<W> | edge weights |
Complexity
-
Best known exact algorithm:
$O^*(1.84^k)$ (suppressing polynomial factors in$n = |V|$ ) by Cao, Chen & Fan (2013), where$k = |T|$ is the number of terminals; with explicit polynomial factors$O(1.84^k \cdot n^3)$ - References: Cao, Chen & Fan (2013), FCT 2013; arXiv:1711.06397; IPL journal version
Extra Remark
The case
How to solve
- It can be solved by (existing) bruteforce.
- It can be solved by reducing the integer programming, through #issue-number (please file a new issue it is not exist).
- Other, refer to ...
Example Instance
| Edge | Weight |
|---|---|
| (0, 1) | 2 |
| (1, 2) | 3 |
| (2, 3) | 1 |
| (3, 4) | 2 |
| (0, 4) | 4 |
| (1, 3) | 5 |
Optimal multiway cut: remove edges
After removal, the connected components are