121 research outputs found
The Logic of Counting Query Answers
We consider the problem of counting the number of answers to a first-order
formula on a finite structure. We present and study an extension of first-order
logic in which algorithms for this counting problem can be naturally and
conveniently expressed, in senses that are made precise and that are motivated
by the wish to understand tractable cases of the counting problem
A Trichotomy in the Complexity of Counting Answers to Conjunctive Queries
Conjunctive queries are basic and heavily studied database queries; in
relational algebra, they are the select-project-join queries. In this article,
we study the fundamental problem of counting, given a conjunctive query and a
relational database, the number of answers to the query on the database. In
particular, we study the complexity of this problem relative to sets of
conjunctive queries. We present a trichotomy theorem, which shows essentially
that this problem on a set of conjunctive queries is either tractable,
equivalent to the parameterized CLIQUE problem, or as hard as the parameterized
counting CLIQUE problem; the criteria describing which of these situations
occurs is simply stated, in terms of graph-theoretic conditions
Counting Answers to Existential Positive Queries: A Complexity Classification
Existential positive formulas form a fragment of first-order logic that
includes and is semantically equivalent to unions of conjunctive queries, one
of the most important and well-studied classes of queries in database theory.
We consider the complexity of counting the number of answers to existential
positive formulas on finite structures and give a trichotomy theorem on query
classes, in the setting of bounded arity. This theorem generalizes and unifies
several known results on the complexity of conjunctive queries and unions of
conjunctive queries.Comment: arXiv admin note: substantial text overlap with arXiv:1501.0719
Bounds on BDD-Based Bucket Elimination
We study BDD-based bucket elimination, an approach to satisfiability testing using variable elimination which has seen several practical implementations in the past. We prove that it allows solving the standard pigeonhole principle formulas efficiently, when allowing different orders for variable elimination and BDD-representations, a variant of bucket elimination that was recently introduced. Furthermore, we show that this upper bound is somewhat brittle as for formulas which we get from the pigeonhole principle by restriction, i.e., fixing some of the variables, the same approach with the same variable orders has exponential runtime. We also show that the more common implementation of bucket elimination using the same order for variable elimination and the BDDs has exponential runtime for the pigeonhole principle when using either of the two orders from our upper bound, which suggests that the combination of both is the key to efficiency in the setting
Characterizing Tractability of Simple Well-Designed Pattern Trees with Projection
We study the complexity of evaluating well-designed pattern trees, a query language extending conjunctive queries with the possibility to define parts of the query to be optional. This possibility of optional parts is important for obtaining meaningful results over incomplete data sources as it is common in semantic web settings.
Recently, a structural characterization of the classes of well-designed pattern trees that can be evaluated in polynomial time was shown. However, projection - a central feature of many query languages - was not considered in this study. We work towards closing this gap by giving a characterization of all tractable classes of simple well-designed pattern trees with projection (under some common complexity theoretic assumptions). Since well-designed pattern trees correspond to the fragment of well-designed {AND, OPTIONAL}-SPARQL queries this gives a complete description of the tractable classes of queries with projections in this fragment that can be characterized by the underlying graph structures of the queries
Enumeration on Trees under Relabelings
We study how to evaluate MSO queries with free variables on trees, within the
framework of enumeration algorithms. Previous work has shown how to enumerate
answers with linear-time preprocessing and delay linear in the size of each
output, i.e., constant-delay for free first-order variables. We extend this
result to support relabelings, a restricted kind of update operations on
trees which allows us to change the node labels. Our main result shows that we
can enumerate the answers of MSO queries on trees with linear-time preprocessing
and delay linear in each answer, while supporting node relabelings in logarithmic time. To
prove this, we reuse the circuit-based enumeration structure from our earlier
work, and develop techniques to maintain its index under node relabelings. We
also show how enumeration under relabelings can be applied to evaluate practical
query languages, such as aggregate, group-by, and parameterized queries
- …