21 research outputs found
Multi-Head Finite Automata: Characterizations, Concepts and Open Problems
Multi-head finite automata were introduced in (Rabin, 1964) and (Rosenberg,
1966). Since that time, a vast literature on computational and descriptional
complexity issues on multi-head finite automata documenting the importance of
these devices has been developed. Although multi-head finite automata are a
simple concept, their computational behavior can be already very complex and
leads to undecidable or even non-semi-decidable problems on these devices such
as, for example, emptiness, finiteness, universality, equivalence, etc. These
strong negative results trigger the study of subclasses and alternative
characterizations of multi-head finite automata for a better understanding of
the nature of non-recursive trade-offs and, thus, the borderline between
decidable and undecidable problems. In the present paper, we tour a fragment of
this literature
Automata with Modulo Counters and Nondeterministic Counter Bounds
We introduce and investigate Nondeterministically Bounded Modulo Counter
Automata (NBMCA), which are two-way multi-head automata that comprise a
constant number of modulo counters, where the counter bounds are nondeterministically
guessed, and this is the only element of nondeterminism. NBMCA are
tailored to recognising those languages that are characterised by the existence of
a specific factorisation of their words, e. g., pattern languages. In this work, we
subject NBMCA to a theoretically sound analysis
On the membership problem for pattern languages and related topics
In this thesis, we investigate the complexity of the membership problem for pattern languages. A pattern is a string over the union of the alphabets A and X, where X := {x_1, x_2, x_3, ...} is a countable set of variables and A is a finite alphabet containing terminals (e.g., A := {a, b, c, d}). Every pattern, e.g., p := x_1 x_2 a b x_2 b x_1 c x_2, describes a pattern language, i.e., the set of all words that can be obtained by uniformly substituting the variables in the pattern by arbitrary strings over A. Hence, u := cacaaabaabcaccaa is a word of the pattern language of p, since substituting cac for x_1 and aa for x_2 yields u. On the other hand, there is no way to obtain the word u' := bbbababbacaaba by substituting the occurrences of x_1 and x_2 in p by words over A.
The problem to decide for a given pattern q and a given word w whether or not w is in the pattern language of q is called the membership problem for pattern languages. Consequently, (p, u) is a positive instance and (p, u') is a negative instance of the membership problem for pattern languages. For the unrestricted case, i.e., for arbitrary patterns and words, the membership problem is NP-complete. In this thesis, we identify classes of patterns for which the membership problem can be solved efficiently.
Our first main result in this regard is that the variable distance, i.e., the maximum number of different variables that separate two consecutive occurrences of the same variable, substantially contributes to the complexity of the membership problem for pattern languages. More precisely, for every class of patterns with a bounded variable distance the membership problem can be solved efficiently. The second main result is that the same holds for every class of patterns with a bounded scope coincidence degree, where the scope coincidence degree is the maximum number of intervals that cover a common position in the pattern, where each interval is given by the leftmost and rightmost occurrence of a variable in the pattern.
The proof of our first main result is based on automata theory. More precisely, we introduce a new automata model that is used as an algorithmic framework in order to show that the membership problem for pattern languages can be solved in time that is exponential only in the variable distance of the corresponding pattern. We then take a closer look at this automata model and subject it to a sound theoretical analysis. The second main result is obtained in a completely different way. We encode patterns and words as relational structures and we then reduce the membership problem for pattern languages to the homomorphism problem of relational structures, which allows us to exploit the concept of the treewidth. This approach turns out be successful, and we show that it has potential to identify further classes of patterns with a polynomial time membership problem.
Furthermore, we take a closer look at two aspects of pattern languages that are indirectly related to the membership problem. Firstly, we investigate the phenomenon that patterns can describe regular or context-free languages in an unexpected way, which implies that their membership problem can be solved efficiently. In this regard, we present several sufficient conditions and necessary conditions for the regularity and context-freeness of pattern languages. Secondly, we compare pattern languages with languages given by so-called extended regular expressions with backreferences (REGEX). The membership problem for REGEX languages is very important in practice and since REGEX are similar to pattern languages, it might be possible to improve algorithms for the membership problem for REGEX languages by investigating their relationship to patterns. In this regard, we investigate how patterns can be extended in order to describe large classes of REGEX languages
Querying graphs with data
Graph data is becoming more and more pervasive. Indeed, services such as Social Networks
or the Semantic Web can no longer rely on the traditional relational model, as its structure
is somewhat too rigid for the applications they have in mind. For this reason we have seen a
continuous shift towards more non-standard models. First it was the semi-structured data in the
1990s and XML in 2000s, but even such models seem to be too restrictive for new applications
that require navigational properties naturally modelled by graphs. Social networks fit into the
graph model by their very design: users are nodes and their connections are specified by graph
edges. The W3C committee, on the other hand, describes RDF, the model underlying the
Semantic Web, by using graphs. The situation is quite similar with crime detection networks
and tracking workflow provenance, namely they all have graphs inbuilt into their definition.
With pervasiveness of graph data the important question of querying and maintaining it has
emerged as one of the main priorities, both in theoretical and applied sense. Currently there
seem to be two approaches to handling such data. On the one hand, to extract the actual data,
practitioners use traditional relational languages that completely disregard various navigational
patterns connecting the data. What makes this data interesting in modern applications, however,
is precisely its ability to compactly represent intricate topological properties that envelop the
data. To overcome this issue several languages that allow querying graph topology have been
proposed and extensively studied. The problem with these languages is that they concentrate
on navigation only, thus disregarding the data that is actually stored in the database.
What we propose in this thesis is the ability to do both. Namely, we will study how query
languages can be designed to allow specifying not only how the data is connected, but also how
data changes along paths and patterns connecting it. To this end we will develop several query
languages and show how adding different data manipulation capabilities and different navigational
features affects the complexity of main reasoning tasks. The story here is somewhat
similar to the early success of the relational data model, where theoretical considerations led
to a better understanding of what makes certain tasks more challenging than others. Here we
aim for languages that are both efficient and capable of expressing a wide variety of queries of
interest to several groups of practitioners. To do so we will analyse how different requirements
affect the language at hand and at the end provide a good base of primitives whose inclusion
into a language should be considered, based on the applications one has in mind. Namely,
we consider how adding a specific operation, mechanism, or capability to the language affects
practical tasks that such an addition plans to tackle. In the end we arrive at several languages,
all of them with their pros and cons, giving us a good overview of how specific capabilities of
the language affect the design goals, thus providing a sound basis for practitioners to choose
from, based on their requirements
LIPIcs, Volume 261, ICALP 2023, Complete Volume
LIPIcs, Volume 261, ICALP 2023, Complete Volum
Recommended from our members
Software: our quest for excellence. Honoring 50 years of software history, progress, and process
The Software Quality Forum was established by the Software Quality Assurance (SQA) Subcommittee, which serves as a technical advisory group on software engineering and quality initiatives and issues for DOE`s quality managers. The forum serves as an opportunity for all those involved in implementing SQA programs to meet and share ideas and concerns. Participation from managers, quality engineers, and software professionals provides an ideal environment for identifying and discussing issues and concerns. The interaction provided by the forum contributes to the realization of a shared goal--high quality software product. Topics include: testing, software measurement, software surety, software reliability, SQA practices, assessments, software process improvement, certification and licensing of software professionals, CASE tools, software project management, inspections, and management`s role in ensuring SQA. The bulk of this document consists of vugraphs. Selected papers have been indexed separately for inclusion in the Energy Science and Technology Database