4,347 research outputs found

    Faster Algorithms for the Maximum Common Subtree Isomorphism Problem

    Get PDF
    The maximum common subtree isomorphism problem asks for the largest possible isomorphism between subtrees of two given input trees. This problem is a natural restriction of the maximum common subgraph problem, which is NP{\sf NP}-hard in general graphs. Confining to trees renders polynomial time algorithms possible and is of fundamental importance for approaches on more general graph classes. Various variants of this problem in trees have been intensively studied. We consider the general case, where trees are neither rooted nor ordered and the isomorphism is maximum w.r.t. a weight function on the mapped vertices and edges. For trees of order nn and maximum degree Δ\Delta our algorithm achieves a running time of O(n2Δ)\mathcal{O}(n^2\Delta) by exploiting the structure of the matching instances arising as subproblems. Thus our algorithm outperforms the best previously known approaches. No faster algorithm is possible for trees of bounded degree and for trees of unbounded degree we show that a further reduction of the running time would directly improve the best known approach to the assignment problem. Combining a polynomial-delay algorithm for the enumeration of all maximum common subtree isomorphisms with central ideas of our new algorithm leads to an improvement of its running time from O(n6+Tn2)\mathcal{O}(n^6+Tn^2) to O(n3+TnΔ)\mathcal{O}(n^3+Tn\Delta), where nn is the order of the larger tree, TT is the number of different solutions, and Δ\Delta is the minimum of the maximum degrees of the input trees. Our theoretical results are supplemented by an experimental evaluation on synthetic and real-world instances

    Cavity Matchings, Label Compressions, and Unrooted Evolutionary Trees

    Get PDF
    We present an algorithm for computing a maximum agreement subtree of two unrooted evolutionary trees. It takes O(n^{1.5} log n) time for trees with unbounded degrees, matching the best known time complexity for the rooted case. Our algorithm allows the input trees to be mixed trees, i.e., trees that may contain directed and undirected edges at the same time. Our algorithm adopts a recursive strategy exploiting a technique called label compression. The backbone of this technique is an algorithm that computes the maximum weight matchings over many subgraphs of a bipartite graph as fast as it takes to compute a single matching

    An Even Faster and More Unifying Algorithm for Comparing Trees via Unbalanced Bipartite Matchings

    Full text link
    A widely used method for determining the similarity of two labeled trees is to compute a maximum agreement subtree of the two trees. Previous work on this similarity measure is only concerned with the comparison of labeled trees of two special kinds, namely, uniformly labeled trees (i.e., trees with all their nodes labeled by the same symbol) and evolutionary trees (i.e., leaf-labeled trees with distinct symbols for distinct leaves). This paper presents an algorithm for comparing trees that are labeled in an arbitrary manner. In addition to this generality, this algorithm is faster than the previous algorithms. Another contribution of this paper is on maximum weight bipartite matchings. We show how to speed up the best known matching algorithms when the input graphs are node-unbalanced or weight-unbalanced. Based on these enhancements, we obtain an efficient algorithm for a new matching problem called the hierarchical bipartite matching problem, which is at the core of our maximum agreement subtree algorithm.Comment: To appear in Journal of Algorithm

    Tree Contractions and Evolutionary Trees

    Full text link
    An evolutionary tree is a rooted tree where each internal vertex has at least two children and where the leaves are labeled with distinct symbols representing species. Evolutionary trees are useful for modeling the evolutionary history of species. An agreement subtree of two evolutionary trees is an evolutionary tree which is also a topological subtree of the two given trees. We give an algorithm to determine the largest possible number of leaves in any agreement subtree of two trees T_1 and T_2 with n leaves each. If the maximum degree d of these trees is bounded by a constant, the time complexity is O(n log^2(n)) and is within a log(n) factor of optimal. For general d, this algorithm runs in O(n d^2 log(d) log^2(n)) time or alternatively in O(n d sqrt(d) log^3(n)) time

    Querying for the Largest Empty Geometric Object in a Desired Location

    Full text link
    We study new types of geometric query problems defined as follows: given a geometric set PP, preprocess it such that given a query point qq, the location of the largest circle that does not contain any member of PP, but contains qq can be reported efficiently. The geometric sets we consider for PP are boundaries of convex and simple polygons, and point sets. While we primarily focus on circles as the desired shape, we also briefly discuss empty rectangles in the context of point sets.Comment: This version is a significant update of our earlier submission arXiv:1004.0558v1. Apart from new variants studied in Sections 3 and 4, the results have been improved in Section 5.Please note that the change in title and abstract indicate that we have expanded the scope of the problems we stud

    A Variant of the Maximum Weight Independent Set Problem

    Full text link
    We study a natural extension of the Maximum Weight Independent Set Problem (MWIS), one of the most studied optimization problems in Graph algorithms. We are given a graph G=(V,E)G=(V,E), a weight function w:V→R+w: V \rightarrow \mathbb{R^+}, a budget function b:V→Z+b: V \rightarrow \mathbb{Z^+}, and a positive integer BB. The weight (resp. budget) of a subset of vertices is the sum of weights (resp. budgets) of the vertices in the subset. A kk-budgeted independent set in GG is a subset of vertices, such that no pair of vertices in that subset are adjacent, and the budget of the subset is at most kk. The goal is to find a BB-budgeted independent set in GG such that its weight is maximum among all the BB-budgeted independent sets in GG. We refer to this problem as MWBIS. Being a generalization of MWIS, MWBIS also has several applications in Scheduling, Wireless networks and so on. Due to the hardness results implied from MWIS, we study the MWBIS problem in several special classes of graphs. We design exact algorithms for trees, forests, cycle graphs, and interval graphs. In unweighted case we design an approximation algorithm for d+1d+1-claw free graphs whose approximation ratio (dd) is competitive with the approximation ratio (d2\frac{d}{2}) of MWIS (unweighted). Furthermore, we extend Baker's technique \cite{Baker83} to get a PTAS for MWBIS in planar graphs.Comment: 18 page
    • …
    corecore