# [Public Draft] Expander decomposition For more information, watch the [survey by Saranurak](https://youtu.be/4tTdU08_YBo). ## 1. Statements Below are the statements for the directed version. I only state the "edge version". For the "vertex version", see Fact 3.2 in [BGS20]. The undirected version is a special case of this, except that it can be computed deterministically in $m^{o(1)}$ time. **Definitions** * For any directed graph $G=(V, E)$ and $S\subseteq V$, $vol(S) := \sum_{u∈S} deg(u).$ * For any $S\subseteq V$ s.t. $vol(S)\leq vol(V\setminus S)$, we say that the cut $(S, V\setminus S)$ is $\phi$-sparse if $\min(\delta^{in}(S), \delta^{out}(S)) < \phi \cdot vol(S)$ * $\delta^{in}(S):=$ number of edges from $u\notin S$ to $v\in S$. * $G$ is $\phi$-expander if it has no $\phi$-sparse cut. Note: A single vertex is an expander. ### 1.1 Existence **Theorem 1 (existence):** * INPUT: Given an $m$-edge, $n$-vertex directed unweighted graph $G = (V,E,w)$ and a parameter $\phi>0$, * EXIST: An edge set $E_{Rem}\subseteq E$ such that 1. each SCCs of $G\setminus E_{rem}$ is a $\phi$-expander, * i.e. for any SCC $G[V']$ of $G\setminus E_{rem}$ and any $S\subseteq V'$ s.t. $vol_{G[V']}(S)\leq vol_{G[V']}(V'\setminus S)$, we have $\min(\delta^{in}_{G[V']}(S), \delta^{out}_{G[V']}(S)) \geq \phi \cdot vol(S),$ 2. $|E_{rem}|=O(\phi m\log(m)).$ **Proof sketch:** * If there is a $\phi$-sparse cut $S$, say $\delta^{in}_{G}(S) < \phi \cdot vol(S),$ put $\delta^{in}_{G}(S)$ edges pointing from $V\setminus S$ to $S$ to $E_{rem}$. * Charge the "cost" of putting these edges to $E_{rem}$ to edges incident to $S$. * Each edge is charged $O(\phi)$ (since $\delta^{in}_{G}(S) < \phi \cdot vol(S)$). * Everytime an edge is charged, the volume of its strongly connected component is halved. * So, every edge is charged $O(\phi \log(m))$ cost, thus $|E_{rem}|=O(\phi m\log(m))$. **Examples for the argument for both undirected and directed cases:** ![](https://i.imgur.com/OlksjcA.png) *Remark: The same argument holds for weighted graphs by treating them as multigraphs.* ### 1.2 Algorithm The result below is implicit in [BGS20]. For the undirected version, see [CGL+19,SW19]. **Theorem 2 (fast algorithm):** There is a randomized algorithm $ExDec(G,\phi)$ with the following guarantees: * INPUT: Given an $m$-edge, $n$-vertex directed weighted graph $G = (V,E,w)$ and a parameter $\phi>0$, * OUTPUT: An edge set $E_{Rem}\subseteq E$ such that, w.h.p., 1. each SCCs of $G\setminus E_{rem}$ is a is a $\phi$-expander, 2. $|E_{rem}|<\phi mn^{o(1)}\log(m).$ * RUNTIME: $m^{1+o(1)}$. *Remark:* The runtime of the above algorithm is based on the runtime of maxflow, which is currently $m^{1+o(1)}$. ### 1.3 Examples From the [survey by Saranurak](https://youtu.be/4tTdU08_YBo): ![](https://i.imgur.com/vnLffq7.png) ## 2. Role in recent fast maxflow algorithm [CKL+22] **Outerloop:** Continuous optimization * Detail: Classic interior point method (but need to change the log-barrier to something similar). **Innerloop:** 2 dynamic data structures 1. **j-tree via Low-Diameter Decomposition** * Extend from, e.g., [CGH+20] but needs new tricks to work against an "adversary" created by the outer-loop * Roughly, this is a collection of "trees" where every cut is approximately preserved in one of the trees. But, in each trees, $j$ nodes can form a subgraph (thus not a tree). 2. **Dynamic spanner via expander decomposition** * Roughly, a spanner is a subgraph that approximately preserves distances * Use (undirected, static) expander decomposition so the spanner has some additional properties * For an idea how graph decomposition is related to spanner, see Question 3 [here](https://hackmd.io/4xFyeGkaQhiBr6j--RoDTQ). ## 3. Some other Applications ### 3.1 Undirected expander decomposition The pictures below are copied/modified from the [survey by Saranurak](https://youtu.be/4tTdU08_YBo): **Derandomizing static algorithms:** ![](https://i.imgur.com/zxAtzlH.png) * $\tilde O(m+n^{1.5})$-time bipartite matching and maxflow * Used to list edges with "large” flow in $\tilde O(𝑛)$ time. Key ingredients: Dynamic Expander Decomposition + $\tilde O(n)$-time algorithm on expanders. * Simple deterministic mincut on simple graphs **Dynamic problems:** (Undirected) expander decomposition can be maintained under edge deletions/insertions. It leads to many fast dynamic graph algorithms. ![](https://i.imgur.com/y90qKFS.png) **Distributed Algorithms:** Trianle and k-clique listing. ![](https://i.imgur.com/ZMPpqws.png) ### 3.2 Directed expander decomposition The only application of the directed version is dynamic problems related to shortest paths in [BGS20]. *Open:* Other applications of directed expander decomposition? ## References [BGS20] Aaron Bernstein, Maximilian Probst Gutenberg, Thatchaphol Saranurak: Deterministic Decremental Reachability, SCC, and Shortest Paths via Directed Expanders and Congestion Balancing. FOCS 2020: 1123-1134 [CGH+20] Li Chen, Gramoz Goranci, Monika Henzinger, Richard Peng, Thatchaphol Saranurak: Fast Dynamic Cuts, Distances and Effective Resistances via Vertex Sparsifiers. FOCS 2020: 1135-1146 [CGL+19] Julia Chuzhoy, Yu Gao, Jason Li, Danupon Nanongkai, Richard Peng, Thatchaphol Saranurak: A Deterministic Algorithm for Balanced Cut with Applications to Dynamic Connectivity, Flows, and Beyond. FOCS 2020 [CKL+22] Li Chen, Rasmus Kyng, Yang P. Liu, Richard Peng, Maximilian Probst Gutenberg, Sushant Sachdeva: Maximum Flow and Minimum-Cost Flow in Almost-Linear Time. FOCS 2022 [SW19] Thatchaphol Saranurak, Di Wang: Expander Decomposition and Pruning: Faster, Stronger, and Simpler. SODA 2019: 2616-2635