Linear algorithms on k-terminal graphs

In recent years, a number of papers have been devoted to the development of linear-time algorithms for certain NP-complete problems when restricted to series-parallel graphs. Pfaff, Laskar and Hedetniemi (42) developed linear-time algorithms for Independent and Total Domination; Colbourn and Stewart (11) developed linear-time algorithms for the Dominating Cycle problems; Kikuno, Yoshida and Kakuda (34) developed a linear-time algorithm for Domination. These results share the common thread of being based, at least in part, on the work of Takamizawa, Nishizeki and Saito (58) which showed that NP-complete problems characterizable in terms of a finite number of forbidden subgraphs admit linear-time algorithms if their instances are restricted to series-parallel graphs. Two notable extensions to the work of Takamizawa, Nishizeki and Saito have recently emerged. Bern, Lawler and Wong (6) developed a k-terminal recursive definition for rooted trees which allowed them to produce the first (linear-time) algorithm for calculating the irredundance number of a tree. Arnborg and Proskurowski (3) exploited a vertex elimination technique to obtain linear-time algorithms for several NP-complete problems in partial k-trees. This dissertation addresses the design of linear-time algorithms on what we call k-terminal recursively definable families of graphs. Many well-known families of graphs, including: series-parallel graphs, partial k-trees, k-bounded tree-partite graphs (cf. Seese (54)) and bounded tree-width graphs (cf. Robertson and Seymour (48)), are shown to be k-terminal recursive families. All of the previously mentioned algorithmic results are shown to fall within the same general framework of linear-time algorithms on k-terminal recursively definable families of graphs. A set of general techniques that can be used in generating linear-time algorithms within this framework is developed. By applying these techniques, we are able to design linear-time algorithms for several problems that have remained open until now. In particular, Steiner Tree, Dominating Cycle, Max-cut, Distance-two Domination, and Upper Domination Number are shown to admit linear-time algorithms in any k-terminal recursively definable family of graphs, provided that a parse tree is part of the input.