Baker's technique


In theoretical computer science, Baker's technique is a method for designing polynomial-time approximation schemes 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 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
Choose an arbitrary vertex

find the breadth-first search levels for rooted at :
for
find the components of after deleting
for
compute, the maximum-weight independent set of

let be the solution of maximum weight among
return
Notice that the above algorithm is feasible because each is the union of disjoint independent sets.

Dynamic programming

is used when we compute the maximum-weight independent set for each. This dynamic program works because each is a -outerplanar graph. Many NP-complete problems can be solved with dynamic programming on -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.