The reliability of a Boolean Conjunctive Query (CQ) over a tuple-independent probabilistic database is the probability that the CQ is satisfied when the tuples of the database are sampled one by one, independently, with their associated probability. For queries without self-joins (repeated relation symbols), the data complexity of this problem is fully characterized by a known dichotomy: reliability can be computed in polynomial time for hierarchical queries, and is #P-hard for non-hierarchical queries. Inspired by this dichotomy, we investigate a fundamental counting problem for CQs without self-joins: how many sets of facts from the input database satisfy the query? This is equivalent to the uniform case of the query reliability problem, where the probability of every tuple is required to be 1/2. Of course, for hierarchical queries, uniform reliability is solvable in polynomial time, like the reliability problem. We show that being hierarchical is also necessary for this tractability (under conventional complexity assumptions). In fact, we establish a generalization of the dichotomy that covers every restricted case of reliability in which the probabilities of tuples are determined by their relation.
翻译:Boolean Consuthering Query (CQ) 的可靠性对于一个自足且独立的概率数据库的可靠性是当数据库的图例被一个一个一个地、独立地抽样时,CQ是否满足的概率。对于没有自我joins(重现关系符号)的查询,这一问题的数据复杂性完全以已知的二分法为特征:对于等级查询,可靠性可以用多式时间计算,对于非等级性查询来说是 #P-硬性。受这一二分法的启发,我们调查一个基本点数问题,而没有自我赞同:输入数据库中有多少组事实能满足查询?这相当于查询可靠性问题的统一案例,其中要求每个图例的概率为1/2.5。当然,对于等级查询,统一的可靠性在多式时间是可溶解的,就像可靠性问题一样。我们表明,等级性对于这种可调和性也是必要的(根据常规的复杂性假设)。事实上,我们确立了一个对两组的分法的概括性,它覆盖了每一个有限的可靠性案例。