[Math] Decomposing a directed graph into disjoint cycles and paths.

graph theory

Given a directed graph $G$ such that $\text{indeg}_{G}(x)$ and $\text{outdeg}_{G}(x)$ have the same parity for all $x \in V(G)$. Let $$X = \{x \in V(G) : \text{outdeg}(x) – \text{indeg}(x) > 0 \}$$ and $$Y = \{y \in V(G) : \text{indeg}(x) – \text{outdeg}(x) > 0 \}$$

Show that $G$ can be decomposed into a set $\mathcal{D}$ of pairwise edge-disjoint directed cycles and directed paths such that each directed path emanates from a vertex in $X$ and terminates at a vertex in $Y$.

Best Answer

Hints:

  • Let $M(v) = \mathrm{outdeg}(x) - \mathrm{indeg}(x)$.
  • For each $v \in V$ create $|M(v)|$ vertices $u_{v,i} \in U$ and connect them (that is add edges $(v,u)$ or $(u,v)$ as needed) to even out- and in-degrees (i.e. so that $M(v) = 0$).
  • Create yet another vertex $z$ and connect all $u \in U$ to $z$ directed so that $M(u) = 0$ (in fact vertices $u \in U$ are only necessary so that you won't have multiple edges between two vertices).
  • Observe that $M(z) = 0$, hence, there exists an Eulerian cycle for every connected component.
  • Remove $U$ and $z$ and see what is left.

I hope this helps ;-)