928 research outputs found
Solving MaxSAT and #SAT on structured CNF formulas
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 algorithms for
formulas of clauses and variables and size , if has a linear
ordering of the variables and clauses such that for any variable occurring
in clause , if appears before then any variable between them also
occurs in , and if appears before then 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
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 -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
-division of the input graph. We show how this can be used to solve various
classical graph problems with space per machine of for
some , and while performing 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
A bipartite graph is convex if the vertices in can be
linearly ordered such that for each vertex , the neighbors of are
consecutive in the ordering of . An induced matching of is a
matching such that no edge of connects endpoints of two different edges of
. We show that in a convex bipartite graph with vertices and
weighted edges, an induced matching of maximum total weight can be computed in
time. An unweighted convex bipartite graph has a representation of
size that records for each vertex the first and last neighbor
in the ordering of . Given such a compact representation, we compute an
induced matching of maximum cardinality in 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 time. If no compact representation is given, the
cover can be computed in 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
Maximum Independent Set And Maximum Induced Matching Problems For Competitive Programming
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
- …