11.12.2012 Views

Fast Steiner tree computation in polynomial space - Lita

Fast Steiner tree computation in polynomial space - Lita

Fast Steiner tree computation in polynomial space - Lita

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

low memory requirements, even if they are asymptotically slower than their<br />

exponential-<strong>space</strong> counterpart. Polynomial-<strong>space</strong> exact algorithms have been<br />

studied for various NP-hard problems, among them Hamiltonian Path [2,20,23]<br />

and Color<strong>in</strong>g [4].<br />

For k = ω(log n), the exist<strong>in</strong>g parameterized algorithms for the <strong>Ste<strong>in</strong>er</strong> <strong>tree</strong><br />

problem are not <strong>polynomial</strong>-<strong>space</strong>. Under that assumption, the fastest known<br />

<strong>polynomial</strong>-<strong>space</strong> algorithm is the (almost) trivial enumerative algorithm, based<br />

on the follow<strong>in</strong>g observation. S<strong>in</strong>ce all the leaves of any optimal <strong>Ste<strong>in</strong>er</strong> <strong>tree</strong> are<br />

term<strong>in</strong>als, the number of <strong>Ste<strong>in</strong>er</strong> nodes T ′ of degree 3 or larger is at most k.<br />

Given T ′ , the <strong>Ste<strong>in</strong>er</strong> <strong>tree</strong> problem is equivalent to the m<strong>in</strong>imum spann<strong>in</strong>g <strong>tree</strong><br />

problem on GM [T ∪ T ′ ], where GM isthemetricclosureofG. Such problem<br />

can be solved <strong>in</strong> <strong>polynomial</strong> time. Hence it is sufficient to list all the subsets<br />

T ′ ⊆ N := V \ T of size at most k, and then apply the observation above. This<br />

takes time O( �k � � n−k O(1) ∗ k<br />

i=1 i n ). For k ≪ n this runn<strong>in</strong>g time is O (n ), while<br />

for arbitrary values of k it is O∗ (1.6181n ).<br />

Our Results and Techniques. Motivated by the practical limitations of<br />

exponential-<strong>space</strong> algorithms and by the theoretical <strong>in</strong>terest of the topic itself,<br />

<strong>in</strong> this paper we address the problem of design<strong>in</strong>g faster <strong>polynomial</strong>-<strong>space</strong> exact<br />

algorithms for the <strong>Ste<strong>in</strong>er</strong> <strong>tree</strong> problem. In particular, we present an exact algorithm<br />

for the card<strong>in</strong>ality version of the problem (where every edge is of weight<br />

one), of runn<strong>in</strong>g time O∗ (1.5949n ). This result is achieved <strong>in</strong> three steps:<br />

• We describe a new, easy-to-implement, <strong>Ste<strong>in</strong>er</strong> <strong>tree</strong> algorithm, tak<strong>in</strong>g<br />

O(5.96knO(log k) ) time and <strong>polynomial</strong> <strong>space</strong>. This means an improvement on<br />

known <strong>polynomial</strong>-<strong>space</strong> results for ω(log n) =k ≤ 0.269 n, whichcoversmany<br />

real-world <strong>in</strong>stances. Our result is based on a simple variant of the classical <strong>tree</strong>separator<br />

theorem: shortly, there is a node <strong>in</strong> every <strong>Ste<strong>in</strong>er</strong> <strong>tree</strong> which separates<br />

two balanced subsets of term<strong>in</strong>als. This can be exploited <strong>in</strong> a top-down recursive<br />

implementation of the classical algorithm by Dreyfus and Wagner, hence achiev<strong>in</strong>g<br />

runn<strong>in</strong>g time O((27/4) knO(log k) ) and <strong>polynomial</strong>-<strong>space</strong>. The runn<strong>in</strong>g time<br />

canberef<strong>in</strong>edtoO(5.96knO(log k) ) by exploit<strong>in</strong>g the properties of the <strong>Ste<strong>in</strong>er</strong><br />

separators <strong>in</strong> comb<strong>in</strong>ation with a more careful branch<strong>in</strong>g. This algorithm works<br />

also <strong>in</strong> the weighted case, and might be of <strong>in</strong>dependent, practical <strong>in</strong>terest5 .<br />

• We design an improved branch<strong>in</strong>g strategy, based on the follow<strong>in</strong>g idea. When<br />

k is small, it is convenient to use the algorithm above. Otherwise, there must be<br />

clusters of term<strong>in</strong>als “close” to each other. This property can be used to guide<br />

the branch<strong>in</strong>g process. From the technical po<strong>in</strong>t of view, we use a simple charg<strong>in</strong>g<br />

mechanism to show that, for large k’s, the graph must conta<strong>in</strong> one of a small list<br />

of local configurations of term<strong>in</strong>als and non-term<strong>in</strong>als. On such configurations<br />

we are able to branch better than trivially.<br />

• We analyze the algorithm above with the Measure & Conquer technique described<br />

<strong>in</strong> [13,14], and based on the quasiconvex analysis of multivariate recurrences<br />

by Eppste<strong>in</strong> [11]. The basic idea is design<strong>in</strong>g a convenient (non-trivial)<br />

5 An experimental analysis of our algorithms is postponed to future work.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!