Dynamic Programming for Graphs on Surfaces
Résumé
We provide a framework for the design of $2^{\mathcal{O}(k)}\cdot n$ step dynamic programming algorithms for surface-embedded graphs on $n$ vertices of branchwidth at most $k$. Our technique applies to graph problems for which dynamic programming uses tables encoding set partitions. For general graphs, the best known algorithms for such problems run in $2^{\mathcal{O}(k\cdot \log k)}\cdot n$ steps. That way, we considerably extend the class of problems that can be solved by algorithms whose running times have a {\em single exponential dependence} on branchwidth, and improve the running time of several existing algorithms. Our approach is based on a new type of branch decomposition called {\em surface cut decomposition}, which generalizes sphere cut decompositions for planar graphs, and where dynamic programming should be applied for each particular problem. The construction of such a decomposition uses a new graph-topological tool called {\em polyhedral decomposition}. The main result is that if dynamic programming is applied on surface cut decompositions, then the time dependence on branchwidth is {\sl single exponential}. This fact is proved by a detailed analysis of how non-crossing partitions are arranged on surfaces with boundary and uses diverse techniques from topological graph theory and analytic combinatorics.
Domaines
Combinatoire [math.CO]
Origine : Fichiers produits par l'(les) auteur(s)
Loading...