13,408 research outputs found
An efficient null-free procedure for deciding regular language membership
AbstractWe present a new algorithm to determine whether a given word belongs to the language denoted by a regular expression. It is based on our ZPC representation of the Glushkov automaton of a regular expression. This procedure requires a specific representation of the Glushkov automaton of the expression. The representation is computed in linear time and space using the ZPC algorithm designed by Ziadi et al
Regular Expression Search on Compressed Text
We present an algorithm for searching regular expression matches in
compressed text. The algorithm reports the number of matching lines in the
uncompressed text in time linear in the size of its compressed version. We
define efficient data structures that yield nearly optimal complexity bounds
and provide a sequential implementation --zearch-- that requires up to 25% less
time than the state of the art.Comment: 10 pages, published in Data Compression Conference (DCC'19
Liveness-Based Garbage Collection for Lazy Languages
We consider the problem of reducing the memory required to run lazy
first-order functional programs. Our approach is to analyze programs for
liveness of heap-allocated data. The result of the analysis is used to preserve
only live data---a subset of reachable data---during garbage collection. The
result is an increase in the garbage reclaimed and a reduction in the peak
memory requirement of programs. While this technique has already been shown to
yield benefits for eager first-order languages, the lack of a statically
determinable execution order and the presence of closures pose new challenges
for lazy languages. These require changes both in the liveness analysis itself
and in the design of the garbage collector.
To show the effectiveness of our method, we implemented a copying collector
that uses the results of the liveness analysis to preserve live objects, both
evaluated (i.e., in WHNF) and closures. Our experiments confirm that for
programs running with a liveness-based garbage collector, there is a
significant decrease in peak memory requirements. In addition, a sizable
reduction in the number of collections ensures that in spite of using a more
complex garbage collector, the execution times of programs running with
liveness and reachability-based collectors remain comparable
Finding patterns common to a set of strings
AbstractAssume a finite alphabet of constant symbols and a disjoint infinite alphabet of variable symbols. A pattern is a non-null finite string of constant and variable symbols. The language of a pattern is all strings obtainable by substituting non-null strings of constant symbols for the variables of the pattern. A sample is a finite nonempty set of non-null strings of constant symbols. Given a sample S, a pattern p is descriptive of S provided the language of p contains S and does not properly contain the language of any other pattern that contains S. The computational problem of finding a pattern descriptive of a given sample is studied. The main result is a polynomial-time algorithm for the special case of patterns containing only one variable symbol (possibly occurring several times in the pattern). Several other results are proved concerning the class of languages generated by patterns and the problem of finding a descriptive pattern
Revisiting Membership Problems in Subclasses of Rational Relations
We revisit the membership problem for subclasses of rational relations over
finite and infinite words: Given a relation R in a class C_2, does R belong to
a smaller class C_1? The subclasses of rational relations that we consider are
formed by the deterministic rational relations, synchronous (also called
automatic or regular) relations, and recognizable relations. For almost all
versions of the membership problem, determining the precise complexity or even
decidability has remained an open problem for almost two decades. In this
paper, we provide improved complexity and new decidability results. (i) Testing
whether a synchronous relation over infinite words is recognizable is
NL-complete (PSPACE-complete) if the relation is given by a deterministic
(nondeterministic) omega-automaton. This fully settles the complexity of this
recognizability problem, matching the complexity of the same problem over
finite words. (ii) Testing whether a deterministic rational binary relation is
recognizable is decidable in polynomial time, which improves a previously known
double exponential time upper bound. For relations of higher arity, we present
a randomized exponential time algorithm. (iii) We provide the first algorithm
to decide whether a deterministic rational relation is synchronous. For binary
relations the algorithm even runs in polynomial time
Rational stochastic languages
The goal of the present paper is to provide a systematic and comprehensive
study of rational stochastic languages over a semiring K \in {Q, Q +, R, R+}. A
rational stochastic language is a probability distribution over a free monoid
\Sigma^* which is rational over K, that is which can be generated by a
multiplicity automata with parameters in K. We study the relations between the
classes of rational stochastic languages S rat K (\Sigma). We define the notion
of residual of a stochastic language and we use it to investigate properties of
several subclasses of rational stochastic languages. Lastly, we study the
representation of rational stochastic languages by means of multiplicity
automata.Comment: 35 page
- …