-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Motivation
Core NP-hard problem in VLSI chip design, parallel computing, and scientific simulation. Standard tools (METIS, KaHIP, Scotch) are used across the semiconductor and HPC industries. Has natural reductions to ILP, QUBO, MaxCut, and SpinGlass.
Definition
Name: GraphPartitioning (Minimum Bisection)
Reference: Garey, Johnson & Stockmeyer, 1976; Bui & Jones, 1992
Given an undirected graph
Variables
-
Count:
$n$ (one variable per vertex) -
Per-variable domain: binary
${0, 1}$ -
Meaning:
$x_i = 0$ if vertex$i \in A$ ,$x_i = 1$ if vertex$i \in B$
Schema (data type)
Type name: GraphPartitioning
Variants: balanced bisection (equal halves),
| Field | Type | Description |
|---|---|---|
| graph | SimpleGraph |
The undirected graph |
Problem Size
| Metric | Expression | Description |
|---|---|---|
| num_vertices | Number of vertices | |
| num_edges | Number of edges |
Complexity
- Decision complexity: NP-complete (Garey, Johnson & Stockmeyer, 1976)
-
Best known exact algorithm:
$O(2^n)$ brute-force; practical solvers use branch-and-bound with spectral lower bounds -
Approximation:
$O(\sqrt{\log n})$ -approximation (Arora, Rao & Vazirani, 2009) - References: Garey et al. 1976; Arora, Rao & Vazirani 2009
Extra Remark
METIS and its variants are the industry standard for graph partitioning in VLSI layout, finite element mesh decomposition, and distributed computing. The problem is closely related to MaxCut (which maximizes rather than minimizes the cut) and SpinGlass (via the Ising model).
How to solve
- It can be solved by (existing) bruteforce.
- It can be solved by reducing to integer programming, through a new GraphPartitioning → ILP rule issue (to be filed).
Bruteforce: enumerate all
Example Instance
0 --- 1
|\ /|
| X |
|/ \|
2 --- 3
| |
4 --- 5
Edges:
Optimal partition:
The 3 crossing edges are