9 research outputs found

    A Note On Computing Set Overlap Classes

    Get PDF
    Let V{\cal V} be a finite set of nn elements and F={X1,X2,>...,Xm}{\cal F}=\{X_1,X_2, >..., X_m\} a family of mm subsets of V.{\cal V}. Two sets XiX_i and XjX_j of F{\cal F} overlap if Xi∩Xj≠∅,X_i \cap X_j \neq \emptyset, Xj∖Xi≠∅,X_j \setminus X_i \neq \emptyset, and Xi∖Xj≠∅.X_i \setminus X_j \neq \emptyset. Two sets X,Y∈FX,Y\in {\cal F} are in the same overlap class if there is a series X=X1,X2,...,Xk=YX=X_1,X_2, ..., X_k=Y of sets of F{\cal F} in which each XiXi+1X_iX_{i+1} overlaps. In this note, we focus on efficiently identifying all overlap classes in O(n+∑i=1m∣Xi∣)O(n+\sum_{i=1}^m |X_i|) time. We thus revisit the clever algorithm of Dahlhaus of which we give a clear presentation and that we simplify to make it practical and implementable in its real worst case complexity. An useful variant of Dahlhaus's approach is also explained

    Algorithmic Aspects of a General Modular Decomposition Theory

    Get PDF
    A new general decomposition theory inspired from modular graph decomposition is presented. This helps unifying modular decomposition on different structures, including (but not restricted to) graphs. Moreover, even in the case of graphs, the terminology ``module'' not only captures the classical graph modules but also allows to handle 2-connected components, star-cutsets, and other vertex subsets. The main result is that most of the nice algorithmic tools developed for modular decomposition of graphs still apply efficiently on our generalisation of modules. Besides, when an essential axiom is satisfied, almost all the important properties can be retrieved. For this case, an algorithm given by Ehrenfeucht, Gabow, McConnell and Sullivan 1994 is generalised and yields a very efficient solution to the associated decomposition problem

    Sequential and parallel triangulating algorithms for Elimination Game and new insights on Minimum Degree

    Get PDF
    Elimination Game is a well known algorithm that simulates Gaussian elimination of matrices on graphs, and it computes a triangulation of the input graph. The number of fill edges in the computed triangulation is highly dependent on the order in which Elimination Game processes the vertices, and in general the produced triangulations are neither minimum nor minimal. In order to obtain a triangulation which is close to minimum, the Minimum Degree heuristic is widely used in practice, but until now little was known on the theoretical mechanisms involved. In this paper we show some interesting properties of Elimination Game; in particular that it is able to compute a partial minimal triangulation of the input graph regardless of the order in which the vertices are processed. This results in a new algorithm to compute minimal triangulations that are sandwiched between the input graph and the triangulation resulting from Elimination Game. One of the strengths of the new approach is that is is easily parallelizable, and thus we are able to present the first parallel algorithm to compute such sandwiched minimal triangulations. In addition, the insight that we gain through Elimination Game is used to partly explain the good behavior of the Minimum Degree algorithm. We also give a new algorithm for producing minimal triangulations that is able to use the minimum degree idea to a wider extent

    Parallel Algorithms for Hierarchical Clustering and Applications to Split Decomposition and Parity Graph Recognition

    No full text
    We present efficient (parallel) algorithms for two hierarchical clustering heuristics. We point out that these heuristics can also be applied to solve some algorithmic problems in graphs. This includes split decomposition. We show that efficient parallel split decomposition induces an efficient parallel parity graph recognition algorithm. This is a consequence of the result of Cicerone and di Stephano that parity graphs are exactly those graphs that can be split decomposed into cliques and bipartite graphs

    Complexity of PQR tree construction

    Get PDF
    Orientador: João MeidanisDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: As árvores PQR são estruturas de dados usadas para tratar o problema dos uns consecutivos e problemas relacionados. Aplicações incluem reconhecimento de grafos de intervalos, de grafos planares, e problemas envolvendo moléculas de DNA. A presente dissertação busca consolidar o conhecimento sobre árvores PQR e, principalmente, sua construção incremental, visando fornecer uma base teórica para o uso desta estrutura em aplicações. Este trabalho apresenta uma descrição detalhada do projeto do algoritmo para construção online de árvores PQR, partindo de uma implementação inocente das operações sugeridas e refinando sucessivamente o algoritmo até alcançar a complexidade de tempo quase-linear. Neste projeto, lidamos com um obstáculo que surge com a utilização de estruturas de union-find que não havia sido tratado anteriormente. A demonstração da complexidade de tempo do algoritmo apresentada aqui também é nova e mais clara. Além disso, o projeto é acompanhado de uma implementação em Java dos algoritmos descritosAbstract: PQR trees are data structures used to solve the consecutive ones problem and other related problems. Applications include interval or planar graph recognition, and problems involving DNA molecules. This dissertation aims at consolidating existing and new knowledge about PQR trees and, primarily, their online construction, thus providing a theoretical basis for the use of this structure in applications. This work presents a detailed description of the online PQR tree construction algorithm's design, starting with a naive implementation of the suggested operations and refining them successively, culminating with an almost-linear time complexity. In this project, we dealt with an obstacle that arises with the use of union-find structures and that has never been addressed before. The proof presented here for the time complexity is also novel and clearer. Furthermore, the project is accompanied by a Java implementation of all the algorithms describedMestradoCiência da ComputaçãoMestre em Ciência da Computaçã
    corecore