iETA #1 Improved Fixed-Parameter Algorithms for Non-Crossing Subgraphs 1 Magn´ us M. Halld´ orsson Dept. of Computer Science, Faculty of Engineering, University of Iceland, IS-107 Reykjavik, Iceland. mmh@hi.is Takeshi Tokuyama 2 Graduate School of Information Sciences, Tohoku University, Sendai, 980-8579 Japan. tokuyama@dais.is.tohoku.ac.jp Alexander Wolff 3 Fakult¨ at f¨ ur Informatik, Universit¨ at Karlsruhe, P.O. Box 6980, 76128 Karlsruhe, Germany. http://i11www.ira.uka.de/people/awolff Abstract We consider the problem of computing non-crossing spanning trees in topological graphs. It is known that it is NP-hard to decide whether a topological graph has a non- crossing spanning tree, and that it is hard to approximate the minimum number of crossings in a spanning tree. We give improved fixed-parameter algorithms, where we use the num- ber k of crossing edge pairs and the number µ of crossing edges in the given graph as parameters. The running times of our algorithms are O * (k O( √ k) ) and O * (µ O(μ 2/3 ) ), where the O * -notation neglects polynomial terms. Our method can be applied to several other non-crossing subgraph problems in topological graphs. 1 Introduction A topological graph is a graph with an embedding of its edges as curves in the plane [5] and each pair of edges intersect at most once. A topological graph is said to be non-crossing if none of the edge curves cross. We consider some problems that involve finding a non-crossing subgraph satisfying some property: spanning tree, s–t path, and cycle. All of these problems are known to be NP-hard. In this article we focus on the non-crossing spanning tree problem. Let G be a topological graph on n vertices. A crossing is a pair of edges that meet in a non-vertex point, and a crossing edge is one that participates in some crossing. A crossing point is a non-vertex point that is contained in at least two edge curves. Note that if d edges intersect in a crossing point, they create ( d 2 ) = d(d − 1)/2 crossings. Given a topological graph G, let X be the set of crossings in G. We denote by E X the set of crossing edges. Let k = |X | be the number of crossings and let µ = |E X | be the number of crossing edges. Observe that 1 This work was started at the workshop New Horizons in Computing organized by Takao Asano in Chofu, Japan, February 2006. 2 Partially supported by the project New Horizons in Computing, Grant-in-Aid for Scientific Research on Priority Areas, MEXT Japan. 3 Supported by grant WO 758/4-2 of the German Research Foundation (DFG). 1