9 research outputs found

    Compositional Algorithms on Compositional Data: Deciding Sheaves on Presheaves

    Full text link
    Algorithmicists are well-aware that fast dynamic programming algorithms are very often the correct choice when computing on compositional (or even recursive) graphs. Here we initiate the study of how to generalize this folklore intuition to mathematical structures writ large. We achieve this horizontal generality by adopting a categorial perspective which allows us to show that: (1) structured decompositions (a recent, abstract generalization of many graph decompositions) define Grothendieck topologies on categories of data (adhesive categories) and that (2) any computational problem which can be represented as a sheaf with respect to these topologies can be decided in linear time on classes of inputs which admit decompositions of bounded width and whose decomposition shapes have bounded feedback vertex number. This immediately leads to algorithms on objects of any C-set category; these include -- to name but a few examples -- structures such as: symmetric graphs, directed graphs, directed multigraphs, hypergraphs, directed hypergraphs, databases, simplicial complexes, circular port graphs and half-edge graphs. Thus we initiate the bridging of tools from sheaf theory, structural graph theory and parameterized complexity theory; we believe this to be a very fruitful approach for a general, algebraic theory of dynamic programming algorithms. Finally we pair our theoretical results with concrete implementations of our main algorithmic contribution in the AlgebraicJulia ecosystem.Comment: Revised and simplified notation and improved exposition. The companion code can be found here: https://github.com/AlgebraicJulia/StructuredDecompositions.j

    Structured Decompositions: Structural and Algorithmic Compositionality

    Full text link
    We introduce structured decompositions: category-theoretic generalizations of many combinatorial invariants -- including tree-width, layered tree-width, co-tree-width and graph decomposition width -- which have played a central role in the study of structural and algorithmic compositionality in both graph theory and parameterized complexity. Structured decompositions allow us to generalize combinatorial invariants to new settings (for example decompositions of matroids) in which they describe algorithmically useful structural compositionality. As an application of our theory we prove an algorithmic meta theorem for the Sub_P-composition problem which, when instantiated in the category of graphs, yields compositional algorithms for NP-hard problems such as: Maximum Bipartite Subgraph, Maximum Planar Subgraph and Longest Path

    36th International Symposium on Theoretical Aspects of Computer Science: STACS 2019, March 13-16, 2019, Berlin, Germany

    Get PDF

    Generalizing graph decompositions

    Get PDF
    The Latin aphorism ‘divide et impera’ conveys a simple, but central idea in mathematics and computer science: ‘split your problem recursively into smaller parts, attack the parts, and conquer the whole’. There is a vast literature on how to do this on graphs. But often we need to compute on other structures (decorated graphs or perhaps algebraic objects such as groups) for which we do not have a wealth of decomposition methods. This thesis attacks this problem head on: we propose new decomposition methods in a variety of settings. In the setting of directed graphs, we introduce a new tree-width analogue called directed branch-width. We show that parameterizing by directed branch-width allows us to obtain linear-time algorithms for problems such as directed Hamilton Path and Max-Cut which are intractable by any other known directed analogue of tree-width. In fact, the algorithmic success of our new measure is more far-reaching: by proving algorithmic meta-theorems parameterized by directed branch-width, we deduce linear-time algorithms for all problems expressable in a variant of monadic second-order logic. Moving on from directed graphs, we then provide a meta-answer to the broader question of obtaining tree-width analogues for objects other than simple graphs. We do so introducing the theory of spined categories and triangualtion functors which constitutes a vast category-theoretic abstraction of a definition of tree-width due to Halin. Our theory acts as a black box for the definition and discovery of tree-width-like parameters in new settings: given a spined category as input, it yields an appropriate tree-width analogue as output. Finally we study temporal graphs: these are graphs whose edges appear and disappear over time. Many problems on temporal graphs are intractable even when their topology is severely restricted (such as being a tree or even a star); thus, to be able to conquer, we need decompositions that take temporal information into account. We take these considerations to heart and define a purely temporal width measure called interval-membership-width which allows us to employ dynamic programming (i.e. divide and conquer) techniques on temporal graphs whose times are sufficiently well-structured, regardless of the underlying topology

    LIPIcs, Volume 261, ICALP 2023, Complete Volume

    Get PDF
    LIPIcs, Volume 261, ICALP 2023, Complete Volum

    Fundamentals

    Get PDF
    Volume 1 establishes the foundations of this new field. It goes through all the steps from data collection, their summary and clustering, to different aspects of resource-aware learning, i.e., hardware, memory, energy, and communication awareness. Machine learning methods are inspected with respect to resource requirements and how to enhance scalability on diverse computing architectures ranging from embedded systems to large computing clusters

    Fundamentals

    Get PDF
    Volume 1 establishes the foundations of this new field. It goes through all the steps from data collection, their summary and clustering, to different aspects of resource-aware learning, i.e., hardware, memory, energy, and communication awareness. Machine learning methods are inspected with respect to resource requirements and how to enhance scalability on diverse computing architectures ranging from embedded systems to large computing clusters
    corecore