Free partially commutative groups, cohomology, and paths and circuits in   directed graphs on surfaces
  We show that for each fixed $k$, the problem of finding $k$ pairwise vertex-disjoint directed paths between given source-sink pairs in a planar directed graph is solvable in polynomial time. In fact, it suffices to fix the number of faces needed to cover all sources and sinks. Moreover, the method can be extended to any fixed compact orientable surface (instead of the plane) and to rooted trees (instead of paths).   Our approach is algebraic and is based on cohomology over graph (nonabelian) groups. More precisely, let $D=(V,A)$ be a directed graph and let $(G,\cdot)$ be a group. Call two function $\phi,\psi:A\to G$ {\em cohomologous} if there exists a function $p:V\to G$ such that $p(u)\cdot\phi(a)\cdot p(w)^{-1}=\psi(a)$ for each arc $a=(u,w)$. Now given a function $\phi:A\to G$ we want to find a function $\psi$ cohomologous to $\phi$ such that each $\psi(a)$ belongs to a prescribed subset $H(a)$ of $G$. We give a polynomial-time algorithm for this problem in case $G$ is a graph group and each $H(a)$ is closed (i.e., if word $xyz$ belongs to $H(a)$ then also word $y$ belongs to $H(a)$).   The method also implies that such a $\psi$ exists, if and only if for each $s\in V$ and each pair $P,Q$ of (undirected) $s-s$ paths there exists an $x\in G$ such that $x\cdot\phi(P)\cdot x^{-1}\in H(P)$ and $x\cdot\phi(Q)\cdot x^{-1}\in H(P)$. (Here $\phi(P)$ is the product of the $\phi(a)$ over the arcs in $P$. Similarly, $H(P)$ is the (group subset) product of the $H(a)$.) 
Alexander Schrijver
math.CO math.GR