Improved parameterized algorithms for minimum link-length rectilinear spanning path problem

Published: 2014, Last Modified: 01 Oct 2024Theor. Comput. Sci. 2014EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: The Parameterized Minimum Link-Length Rectilinear Spanning Path problem in the d-dimensional Euclidean space Rd<math><msup is="true"><mrow is="true"><mi mathvariant="double-struck" is="true">R</mi></mrow><mrow is="true"><mi is="true">d</mi></mrow></msup></math> (d-RSP), for a given set S of n points in Rd<math><msup is="true"><mrow is="true"><mi mathvariant="double-struck" is="true">R</mi></mrow><mrow is="true"><mi is="true">d</mi></mrow></msup></math> and a positive integer k, is to find a rectilinear spanning path P with at most k line-segments that cover all points in S, where all line-segments in P are axis-parallel. In this paper, we study a constrained d-RSP problem (Constrained d-RSP problem) in which each line-segment l in the spanning path must cover all the points in S that share the same line with l. By applying the branch-and-search and dynamic programming techniques, a parameterized algorithm with running time ⁎O⁎((1+1+4(d−1)2)k)<math><msup is="true"><mrow is="true"><mi is="true">O</mi></mrow><mrow is="true"><mo is="true">⁎</mo></mrow></msup><mo stretchy="false" is="true">(</mo><msup is="true"><mrow is="true"><mo stretchy="false" is="true">(</mo><mn is="true">1</mn><mo is="true">+</mo><msqrt is="true"><mrow is="true"><mn is="true">1</mn><mo is="true">+</mo><mn is="true">4</mn><msup is="true"><mrow is="true"><mo stretchy="false" is="true">(</mo><mi is="true">d</mi><mo is="true">−</mo><mn is="true">1</mn><mo stretchy="false" is="true">)</mo></mrow><mrow is="true"><mn is="true">2</mn></mrow></msup></mrow></msqrt><mo stretchy="false" is="true">)</mo></mrow><mrow is="true"><mi is="true">k</mi></mrow></msup><mo stretchy="false" is="true">)</mo></math> is given for the Constrained d-RSP problem, which significantly improves the current best result ⁎O⁎((0.74dk)k)<math><msup is="true"><mrow is="true"><mi is="true">O</mi></mrow><mrow is="true"><mo is="true">⁎</mo></mrow></msup><mo stretchy="false" is="true">(</mo><msup is="true"><mrow is="true"><mo stretchy="false" is="true">(</mo><mn is="true">0.74</mn><mi is="true">d</mi><mi is="true">k</mi><mo stretchy="false" is="true">)</mo></mrow><mrow is="true"><mi is="true">k</mi></mrow></msup><mo stretchy="false" is="true">)</mo></math>.
Loading