29,473 research outputs found
An Efficient Algorithm for Mining Frequent Sequence with Constraint Programming
The main advantage of Constraint Programming (CP) approaches for sequential
pattern mining (SPM) is their modularity, which includes the ability to add new
constraints (regular expressions, length restrictions, etc). The current best
CP approach for SPM uses a global constraint (module) that computes the
projected database and enforces the minimum frequency; it does this with a
filtering algorithm similar to the PrefixSpan method. However, the resulting
system is not as scalable as some of the most advanced mining systems like
Zaki's cSPADE. We show how, using techniques from both data mining and CP, one
can use a generic constraint solver and yet outperform existing specialized
systems. This is mainly due to two improvements in the module that computes the
projected frequencies: first, computing the projected database can be sped up
by pre-computing the positions at which an symbol can become unsupported by a
sequence, thereby avoiding to scan the full sequence each time; and second by
taking inspiration from the trailing used in CP solvers to devise a
backtracking-aware data structure that allows fast incremental storing and
restoring of the projected database. Detailed experiments show how this
approach outperforms existing CP as well as specialized systems for SPM, and
that the gain in efficiency translates directly into increased efficiency for
other settings such as mining with regular expressions.Comment: frequent sequence mining, constraint programmin
Matching Is as Easy as the Decision Problem, in the NC Model
Is matching in NC, i.e., is there a deterministic fast parallel algorithm for
it? This has been an outstanding open question in TCS for over three decades,
ever since the discovery of randomized NC matching algorithms [KUW85, MVV87].
Over the last five years, the theoretical computer science community has
launched a relentless attack on this question, leading to the discovery of
several powerful ideas. We give what appears to be the culmination of this line
of work: An NC algorithm for finding a minimum-weight perfect matching in a
general graph with polynomially bounded edge weights, provided it is given an
oracle for the decision problem. Consequently, for settling the main open
problem, it suffices to obtain an NC algorithm for the decision problem. We
believe this new fact has qualitatively changed the nature of this open
problem.
All known efficient matching algorithms for general graphs follow one of two
approaches: given by Edmonds [Edm65] and Lov\'asz [Lov79]. Our oracle-based
algorithm follows a new approach and uses many of the ideas discovered in the
last five years.
The difficulty of obtaining an NC perfect matching algorithm led researchers
to study matching vis-a-vis clever relaxations of the class NC. In this vein,
recently Goldwasser and Grossman [GG15] gave a pseudo-deterministic RNC
algorithm for finding a perfect matching in a bipartite graph, i.e., an RNC
algorithm with the additional requirement that on the same graph, it should
return the same (i.e., unique) perfect matching for almost all choices of
random bits. A corollary of our reduction is an analogous algorithm for general
graphs.Comment: Appeared in ITCS 202
Data-Oblivious Graph Algorithms in Outsourced External Memory
Motivated by privacy preservation for outsourced data, data-oblivious
external memory is a computational framework where a client performs
computations on data stored at a semi-trusted server in a way that does not
reveal her data to the server. This approach facilitates collaboration and
reliability over traditional frameworks, and it provides privacy protection,
even though the server has full access to the data and he can monitor how it is
accessed by the client. The challenge is that even if data is encrypted, the
server can learn information based on the client data access pattern; hence,
access patterns must also be obfuscated. We investigate privacy-preserving
algorithms for outsourced external memory that are based on the use of
data-oblivious algorithms, that is, algorithms where each possible sequence of
data accesses is independent of the data values. We give new efficient
data-oblivious algorithms in the outsourced external memory model for a number
of fundamental graph problems. Our results include new data-oblivious
external-memory methods for constructing minimum spanning trees, performing
various traversals on rooted trees, answering least common ancestor queries on
trees, computing biconnected components, and forming open ear decompositions.
None of our algorithms make use of constant-time random oracles.Comment: 20 page
Best-first heuristic search for multicore machines
To harness modern multicore processors, it is imperative to develop parallel versions of fundamental algorithms. In this paper, we compare different approaches to parallel best-first search in a shared-memory setting. We present a new method, PBNF, that uses abstraction to partition the state space and to detect duplicate states without requiring frequent locking. PBNF allows speculative expansions when necessary to keep threads busy. We identify and fix potential livelock conditions in our approach, proving its correctness using temporal logic. Our approach is general, allowing it to extend easily to suboptimal and anytime heuristic search. In an empirical comparison on STRIPS planning, grid pathfinding, and sliding tile puzzle problems using 8-core machines, we show that A*, weighted A* and Anytime weighted A* implemented using PBNF yield faster search than improved versions of previous parallel search proposals
Computing the Face Lattice of a Polytope from its Vertex-Facet Incidences
We give an algorithm that constructs the Hasse diagram of the face lattice of
a convex polytope P from its vertex-facet incidences in time O(min{n,m}*a*f),
where n is the number of vertices, m is the number of facets, a is the number
of vertex-facet incidences, and f is the total number of faces of P. This
improves results of Fukuda and Rosta (1994), who described an algorithm for
enumerating all faces of a d-polytope in O(min{n,m}*d*f^2) steps. For simple or
simplicial d-polytopes our algorithm can be specialized to run in time
O(d*a*f). Furthermore, applications of the algorithm to other atomic lattices
are discussed, e.g., to face lattices of oriented matroids.Comment: 14 pages; to appear in: Comput. Geom.; the new version contains some
minor extensions and corrections as well as a more detailed treatment of
oriented matroid
- …