31,661 research outputs found
Non-Redundant Sequential Rules - Theory and Algorithm
A sequential rule expresses a relationship between two series of events happening one after another. Sequential rules are potentially useful for analyzing data in sequential format, ranging from purchase histories, network logs and program execution traces. In this work, we investigate and propose a syntactic characterization of a non-redundant set of sequential rules built upon past work on compact set of representative patterns. A rule is redundant if it can be inferred from another rule having the same support and confidence. When using the set of mined rules as a composite filter, replacing a full set of rules with a non-redundant subset of the rules does not impact the accuracy of the filter. We consider several rule sets based on composition of various types of pattern sets – generators, projected-database generators, closed patterns and projected-database closed patterns. We investigate the completeness and tightness of these rule sets. We characterize a tight and complete set of non
Polynomial-Time Space-Optimal Silent Self-Stabilizing Minimum-Degree Spanning Tree Construction
Motivated by applications to sensor networks, as well as to many other areas,
this paper studies the construction of minimum-degree spanning trees. We
consider the classical node-register state model, with a weakly fair scheduler,
and we present a space-optimal \emph{silent} self-stabilizing construction of
minimum-degree spanning trees in this model. Computing a spanning tree with
minimum degree is NP-hard. Therefore, we actually focus on constructing a
spanning tree whose degree is within one from the optimal. Our algorithm uses
registers on bits, converges in a polynomial number of rounds, and
performs polynomial-time computation at each node. Specifically, the algorithm
constructs and stabilizes on a special class of spanning trees, with degree at
most . Indeed, we prove that, unless NP coNP, there are no
proof-labeling schemes involving polynomial-time computation at each node for
the whole family of spanning trees with degree at most . Up to our
knowledge, this is the first example of the design of a compact silent
self-stabilizing algorithm constructing, and stabilizing on a subset of optimal
solutions to a natural problem for which there are no time-efficient
proof-labeling schemes. On our way to design our algorithm, we establish a set
of independent results that may have interest on their own. In particular, we
describe a new space-optimal silent self-stabilizing spanning tree
construction, stabilizing on \emph{any} spanning tree, in rounds, and
using just \emph{one} additional bit compared to the size of the labels used to
certify trees. We also design a silent loop-free self-stabilizing algorithm for
transforming a tree into another tree. Last but not least, we provide a silent
self-stabilizing algorithm for computing and certifying the labels of a
NCA-labeling scheme
A survey of parallel execution strategies for transitive closure and logic programs
An important feature of database technology of the nineties is the use of parallelism for speeding up the execution of complex queries. This technology is being tested in several experimental database architectures and a few commercial systems for conventional select-project-join queries. In particular, hash-based fragmentation is used to distribute data to disks under the control of different processors in order to perform selections and joins in parallel. With the development of new query languages, and in particular with the definition of transitive closure queries and of more general logic programming queries, the new dimension of recursion has been added to query processing. Recursive queries are complex; at the same time, their regular structure is particularly suited for parallel execution, and parallelism may give a high efficiency gain. We survey the approaches to parallel execution of recursive queries that have been presented in the recent literature. We observe that research on parallel execution of recursive queries is separated into two distinct subareas, one focused on the transitive closure of Relational Algebra expressions, the other one focused on optimization of more general Datalog queries. Though the subareas seem radically different because of the approach and formalism used, they have many common features. This is not surprising, because most typical Datalog queries can be solved by means of the transitive closure of simple algebraic expressions. We first analyze the relationship between the transitive closure of expressions in Relational Algebra and Datalog programs. We then review sequential methods for evaluating transitive closure, distinguishing iterative and direct methods. We address the parallelization of these methods, by discussing various forms of parallelization. Data fragmentation plays an important role in obtaining parallel execution; we describe hash-based and semantic fragmentation. Finally, we consider Datalog queries, and present general methods for parallel rule execution; we recognize the similarities between these methods and the methods reviewed previously, when the former are applied to linear Datalog queries. We also provide a quantitative analysis that shows the impact of the initial data distribution on the performance of methods
- …