On some problems on k-trees and partial k-trees
Creators: name: Skorin-Kapov, Darko
Publisher: name: University of British Columbia
Year: 2010

description: The objective of this thesis is to investigate some structural and algorithmic properties of k-trees and partial k-trees. A k-tree can be constructed from a k-complete graph by recursively adding a new vertex which is adjacent to all vertices of an existing k-complete subgraph. Partial k-trees are graphs embeddable in a k-tree with the same vertex set. They are natural generalizations of forests and series-parallel graphs which are the first two members of the hierarchy of partial k-trees. The many applications of k-trees and partial k-trees have motivated their study from both an algorithmic and a theoretical point of view. For example, k-trees arise in reliable communication network design problems (Farley (1981), Farley and Proskurowski (1982), Neufeld and Colbourn (1983), Wald and Colbourn (1983), Colbourn and Proskurowski (1984)) and in the study of the complexity of certain type of queries in a relational data base system (Arnborg (1979)). Moreover, the class of k-trees is special in the sense that many problems, which are NP-complete for arbitrary graphs, are solvable in polynomial time when restricted to k-trees or partial k-trees (Arnborg and Proskurowski (1989)). In Chapter 2 of the thesis we analyze a fixed cost spanning forest (FCSF) problem, defined over a graph G, in which some customers require service that can be generated at some facilities' sites. Both the set of customers and facilities' sites are represented by nodes in G. There is a fixed cost for opening each facility and a cost for delivering the service from open facilities to the customers. Customers do not necessarily have to receive the service directly from an open facility, but possibly through other intermediate customers. We develop a linear time algorithm for solving the FCSF problem when the customers and potential facilities' sites are located on a series-parallel network or, equivalently, a partial 2-tree. We further analyze a related cost allocation problem, in which we seek a fair method for allocating the cost of providing the service to the customers. We formulate this cost allocation problem as a cooperative game and show that, in general, the core of this cooperative game may be empty. However, we provide a sufficient condition, which can be verified in polynomial time, for the nonemptiness of the core of this game. A k-tree can be reduced to the k-complete graph by sequentially removing k-degree vertices with completely connected neighbors. We use this reduction process to develop, in Chapter 3, efficient algorithms for several optimization problems on k-trees and partial k-trees. In particular, we develop a linear time algorithm to find shortest simple paths from a given vertex to all other vertices in a k-tree, we compute the diameter of a k-tree with equal edge lengths in linear time, and we construct an O(n[sup k+2]) algorithm to solve the Simple Plant Location problem in an n-vertex partial k-tree. In Chapter 4 we present a new characterization of a k-path between two vertices u and v, in an equal weight k-tree G, by means of minimal k and k+1 cliques with respect to certain partial orders defined on the collections of all k and k+1 cliques in a k-tree. We use it to develop an O(n²) algorithm to decompose a vertex set V of a k-tree G to a minimum number of components, such that for any pair of vertices i and j in the same component, the cable distance between i and j is bounded by a positive integer R. We also compute the k-cable diameter of a k-tree with equal edge lengths in linear time. In Chapter 5 we derive some separation properties of partial k-trees and use them to develop NC algorithms for recognizing partial 2-trees and 3-trees. Explicitly, we prove the existence of a k-separator in a partial k-tree graph and construct a linear time algorithm that finds such a separator in k-trees. This algorithm can be used to obtain a balanced binary decomposition of a k-tree in 0(n log n) time. We derive some other separation properties of partial k-trees and use them to construct a balanced decomposition of an embedding of a k-connected partial k-tree when k = 2 and 3. Finally, we construct NC algorithms for the recognition of a partial k-tree for k - 2 and 3, which run in O(log²n) time using, respectively, O(n³) and O(n⁴) processors.