Baker's technique

From HandWiki

In theoretical computer science, Baker's technique is a method for designing polynomial-time approximation schemes (PTASs) for problems on planar graphs. It is named after Brenda Baker, who announced it in a 1983 conference and published it in the Journal of the ACM in 1994. The idea for Baker's technique is to break the graph into layers, such that the problem can be solved optimally on each layer, then combine the solutions from each layer in a reasonable way that will result in a feasible solution. This technique has given PTASs for the following problems: subgraph isomorphism, maximum independent set, minimum vertex cover, minimum dominating set, minimum edge dominating set, maximum triangle matching, and many others.

The bidimensionality theory of Erik Demaine, Fedor Fomin, Hajiaghayi, and Dimitrios Thilikos and its offshoot simplifying decompositions ((Demaine Hajiaghayi),(Demaine Hajiaghayi)) generalizes and greatly expands the applicability of Baker's technique for a vast set of problems on planar graphs and more generally graphs excluding a fixed minor, such as bounded genus graphs, as well as to other classes of graphs not closed under taking minors such as the 1-planar graphs.

Example of technique

The example that we will use to demonstrate Baker's technique is the maximum weight independent set problem.

Algorithm

INDEPENDENT-SET([math]\displaystyle{ G }[/math], [math]\displaystyle{ w }[/math], [math]\displaystyle{ \epsilon }[/math])
    Choose an arbitrary vertex [math]\displaystyle{  r  }[/math]
    [math]\displaystyle{ k = 1/\epsilon }[/math]
    find the breadth-first search levels for [math]\displaystyle{  G  }[/math] rooted at [math]\displaystyle{  r  }[/math] [math]\displaystyle{ \pmod k }[/math]: [math]\displaystyle{ \{V_0,V_1, \ldots, V_{k-1} \} }[/math]

    for [math]\displaystyle{ \ell = 0, \ldots, k-1 }[/math]
        find the components [math]\displaystyle{ G^\ell_1, G^\ell_2, \ldots, }[/math] of [math]\displaystyle{ G }[/math] after deleting [math]\displaystyle{ V_\ell }[/math]

    for [math]\displaystyle{ i = 1,2, \ldots  }[/math]
       compute [math]\displaystyle{ S_i^\ell }[/math], the maximum-weight independent set of [math]\displaystyle{ G_i^\ell }[/math]

    [math]\displaystyle{ S^\ell = \cup_i S_i^\ell }[/math]
    let [math]\displaystyle{ S^{\ell^*} }[/math] be the solution of maximum weight among [math]\displaystyle{ \{S^0,S^1, \ldots, S^{k-1} \} }[/math]

    return [math]\displaystyle{ S^{\ell^*} }[/math]

Notice that the above algorithm is feasible because each [math]\displaystyle{ S^\ell }[/math] is the union of disjoint independent sets.

Dynamic programming

Dynamic programming is used when we compute the maximum-weight independent set for each [math]\displaystyle{ G_i^\ell }[/math]. This dynamic program works because each [math]\displaystyle{ G_i^\ell }[/math] is a [math]\displaystyle{ k }[/math]-outerplanar graph. Many NP-complete problems can be solved with dynamic programming on [math]\displaystyle{ k }[/math]-outerplanar graphs. Baker's technique can be interpreted as covering the given planar graphs with subgraphs of this type, finding the solution to each subgraph using dynamic programming, and gluing the solutions together.

References