928 research outputs found

    Solving MaxSAT and #SAT on structured CNF formulas

    Full text link
    In this paper we propose a structural parameter of CNF formulas and use it to identify instances of weighted MaxSAT and #SAT that can be solved in polynomial time. Given a CNF formula we say that a set of clauses is precisely satisfiable if there is some complete assignment satisfying these clauses only. Let the ps-value of the formula be the number of precisely satisfiable sets of clauses. Applying the notion of branch decompositions to CNF formulas and using ps-value as cut function, we define the ps-width of a formula. For a formula given with a decomposition of polynomial ps-width we show dynamic programming algorithms solving weighted MaxSAT and #SAT in polynomial time. Combining with results of 'Belmonte and Vatshelle, Graph classes with structured neighborhoods and algorithmic applications, Theor. Comput. Sci. 511: 54-65 (2013)' we get polynomial-time algorithms solving weighted MaxSAT and #SAT for some classes of structured CNF formulas. For example, we get O(m2(m+n)s)O(m^2(m + n)s) algorithms for formulas FF of mm clauses and nn variables and size ss, if FF has a linear ordering of the variables and clauses such that for any variable xx occurring in clause CC, if xx appears before CC then any variable between them also occurs in CC, and if CC appears before xx then xx occurs also in any clause between them. Note that the class of incidence graphs of such formulas do not have bounded clique-width

    Massively Parallel Computation and Sublinear-Time Algorithms for Embedded Planar Graphs

    Full text link
    While algorithms for planar graphs have received a lot of attention, few papers have focused on the additional power that one gets from assuming an embedding of the graph is available. While in the classic sequential setting, this assumption gives no additional power (as a planar graph can be embedded in linear time), we show that this is far from being the case in other settings. We assume that the embedding is straight-line, but our methods also generalize to non-straight-line embeddings. Specifically, we focus on sublinear-time computation and massively parallel computation (MPC). Our main technical contribution is a sublinear-time algorithm for computing a relaxed version of an rr-division. We then show how this can be used to estimate Lipschitz additive graph parameters. This includes, for example, the maximum matching, maximum independent set, or the minimum dominating set. We also show how this can be used to solve some property testing problems with respect to the vertex edit distance. In the second part of our paper, we show an MPC algorithm that computes an rr-division of the input graph. We show how this can be used to solve various classical graph problems with space per machine of O(n2/3+ϵ)O(n^{2/3+\epsilon}) for some ϵ>0\epsilon>0, and while performing O(1)O(1) rounds. This includes for example approximate shortest paths or the minimum spanning tree. Our results also imply an improved MPC algorithm for Euclidean minimum spanning tree

    Linear-Time Algorithms for Maximum-Weight Induced Matchings and Minimum Chain Covers in Convex Bipartite Graphs

    Full text link
    A bipartite graph G=(U,V,E)G=(U,V,E) is convex if the vertices in VV can be linearly ordered such that for each vertex u∈Uu\in U, the neighbors of uu are consecutive in the ordering of VV. An induced matching HH of GG is a matching such that no edge of EE connects endpoints of two different edges of HH. We show that in a convex bipartite graph with nn vertices and mm weighted edges, an induced matching of maximum total weight can be computed in O(n+m)O(n+m) time. An unweighted convex bipartite graph has a representation of size O(n)O(n) that records for each vertex u∈Uu\in U the first and last neighbor in the ordering of VV. Given such a compact representation, we compute an induced matching of maximum cardinality in O(n)O(n) time. In convex bipartite graphs, maximum-cardinality induced matchings are dual to minimum chain covers. A chain cover is a covering of the edge set by chain subgraphs, that is, subgraphs that do not contain induced matchings of more than one edge. Given a compact representation, we compute a representation of a minimum chain cover in O(n)O(n) time. If no compact representation is given, the cover can be computed in O(n+m)O(n+m) time. All of our algorithms achieve optimal running time for the respective problem and model. Previous algorithms considered only the unweighted case, and the best algorithm for computing a maximum-cardinality induced matching or a minimum chain cover in a convex bipartite graph had a running time of O(n2)O(n^2)

    Maximum Independent Set And Maximum Induced Matching Problems For Competitive Programming

    Get PDF
    Competitive programming is a growing interest among students, with some students training for years to be competitive in national and international competitions. Competitive programming problems continue to become more complex; yet they are always solvable with skills learned in an undergraduate algorithms class. This makes competitive programming a great way for undergraduates to develop their coding skills and learn complex algorithms. However, there are very few competitive programming problems on particular graph classes, despite the fact that the field of graph theory is rich with complexity and algorithms results for over eighty years. This may be because of the overwhelming amount of graph classes and terminology that students need to be familiar with to understand even the simplest results in graph theory, sometimes overlooking the connection between graph theory and the study of algorithms. Some of these algorithms, like that of computing a maximum independent set (MIS) or a maximum induced matching (MIM) on special graph classes, only require techniques learned in an undergraduate algorithms course. However, in the literature, they are hidden behind results for generalized classes, often using terminology and notation far beyond what undergraduate students are exposed to. Some of these graph theoretic results are either so old that the original papers are hard to find or they are held behind payment gateways from publishers. Therefore, there needs to be substantive work done to improve the expositions of old (and some new) graph theory algorithms that can be solved using topics learned in an undergraduate course. This will allow students in algorithm classes to be exposed to topics in graph theory, while fundamental problems on graphs can be used as excellent motivating examples for topics in algorithms
    • …
    corecore