Width, depth, and space: tradeoffs between branching and dynamic programming (Q2287480)

From MaRDI portal
scientific article
Language Label Description Also known as
English
Width, depth, and space: tradeoffs between branching and dynamic programming
scientific article

    Statements

    Width, depth, and space: tradeoffs between branching and dynamic programming (English)
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    21 January 2020
    0 references
    Summary: \textit{Treedepth} is a well-established width measure which has recently seen a resurgence of interest. Since graphs of bounded treedepth are more restricted than graphs of bounded tree- or pathwidth, we are interested in the algorithmic utility of this additional structure. On the negative side, we show with a novel approach that the space consumption of any (single-pass) dynamic programming algorithm on treedepth decompositions of depth \(d\) cannot be bounded by \((2 - \epsilon)^d \cdot \log^{O(1)} n\) for \textsc{Vertex Cover}, \((3 - \epsilon)^d \cdot \log^{O(1)} n\) for 3-\textsc{Coloring} and \((3 - \epsilon)^d \cdot \log^{O(1)} n\) for \textsc{Dominating Set} for any \(\epsilon > 0\). This formalizes the common intuition that dynamic programming algorithms on graph decompositions necessarily consume a lot of space and complements known results of the time-complexity of problems restricted to low-treewidth classes. We then show that treedepth lends itself to the design of branching algorithms. Specifically, we design two novel algorithms for Dominating Set on graphs of treedepth \(d\): A pure branching algorithm that runs in time \(d^{O(d^2)} \cdot n\) and uses space \(O(d^3 \log d + d \log n)\) and a hybrid of branching and dynamic programming that achieves a running time of \(O(3^d \log d \cdot n)\) while using \(O(2^d d \log d + d \log n)\) space.
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    treewidth
    0 references
    treedepth
    0 references
    dynamic programming
    0 references
    branching algorithm
    0 references
    space lower bound
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references