Baker's technique

From testwiki
Revision as of 14:53, 8 October 2024 by imported>Bruce1ee (Reverted edit by Albinjm (talk) to last version by OAbot)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 (Template:Harvtxt,Template:Harvtxt) 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(G, w, ϵ)
    Choose an arbitrary vertex r
    k=1/ϵ
    find the breadth-first search levels for G rooted at r (modk): {V0,V1,,Vk1}

    for =0,,k1
        find the components G1,G2,, of G after deleting V

    for i=1,2,
       compute Si, the maximum-weight independent set of Gi

    S=iSi
    let S* be the solution of maximum weight among {S0,S1,,Sk1}

    return S*

Notice that the above algorithm is feasible because each S is the union of disjoint independent sets.

Dynamic programming

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

Template:Refbegin

Template:Refend