A tree t-spanner T of a graph G is a spanning tree of G whose max-stretch is t, i.e., the distance between any two vertices in T is at most t times their distance in G. If G has a tree t-spanner but not a tree (t — l)-spanner, then G is said to have max-stretch of t. In this paper, we study the Max-Stretch Reduction Problem: for an unweighted graph G = (V, E), find a set of edges not in E originally whose insertion into G can decrease the max-stretch of G. Our results are as follows: (ⅰ) For a ring graph, we give a linear-time algorithm which inserts k edges improving the max-stretch optimally, (ⅱ) For a grid graph, we give a nearly optimal max-stretch reduction algorithm which preserves the structure of the grid, (ⅲ) In the general case, we show that it is NP-hard to decide, for a given graph G and its spanning tree of max-stretch t, whether or not one-edge insertion can decrease the max-stretch to t — 1. (ⅳ) Finally, we show that the max-stretch of an arbitrary graph on n vertices can be reduced to s′ ≥ 2 by inserting O(n/s′) edges, which can be determined in linear time, and observe that this number of edges is optimal up to a constant.
展开▼