19 research outputs found
Minimal Synthesis of String To String Functions From Examples
We study the problem of synthesizing string to string transformations from a
set of input/output examples. The transformations we consider are expressed
using deterministic finite automata (DFA) that read pairs of letters, one
letter from the input and one from the output. The DFA corresponding to these
transformations have additional constraints, ensuring that each input string is
mapped to exactly one output string.
We suggest that, given a set of input/output examples, the smallest DFA
consistent with the examples is a good candidate for the transformation the
user was expecting. We therefore study the problem of, given a set of examples,
finding a minimal DFA consistent with the examples and satisfying the
functionality and totality constraints mentioned above.
We prove that, in general, this problem (the corresponding decision problem)
is NP-complete. This is unlike the standard DFA minimization problem which can
be solved in polynomial time. We provide several NP-hardness proofs that show
the hardness of multiple (independent) variants of the problem.
Finally, we propose an algorithm for finding the minimal DFA consistent with
input/output examples, that uses a reduction to SMT solvers. We implemented the
algorithm, and used it to evaluate the likelihood that the minimal DFA indeed
corresponds to the DFA expected by the user.Comment: SYNT 201
DFAMiner: Mining minimal separating DFAs from labelled samples
We propose DFAMiner, a passive learning tool for learning minimal separating
deterministic finite automata (DFA) from a set of labelled samples. Separating
automata are an interesting class of automata that occurs generally in regular
model checking and has raised interest in foundational questions of parity game
solving. We first propose a simple and linear-time algorithm that incrementally
constructs a three-valued DFA (3DFA) from a set of labelled samples given in
the usual lexicographical order. This 3DFA has accepting and rejecting states
as well as don't-care states, so that it can exactly recognise the labelled
examples. We then apply our tool to mining a minimal separating DFA for the
labelled samples by minimising the constructed automata via a reduction to
solving SAT problems. Empirical evaluation shows that our tool outperforms
current state-of-the-art tools significantly on standard benchmarks for
learning minimal separating DFAs from samples. Progress in the efficient
construction of separating DFAs can also lead to finding the lower bound of
parity game solving, where we show that DFAMiner can create optimal separating
automata for simple languages with up to 7 colours. Future improvements might
offer inroads to better data structures
A Faster-Than Relation for Semi-Markov Decision Processes
When modeling concurrent or cyber-physical systems, non-functional
requirements such as time are important to consider. In order to improve the
timing aspects of a model, it is necessary to have some notion of what it means
for a process to be faster than another, which can guide the stepwise
refinement of the model. To this end we study a faster-than relation for
semi-Markov decision processes and compare it to standard notions for relating
systems. We consider the compositional aspects of this relation, and show that
the faster-than relation is not a precongruence with respect to parallel
composition, hence giving rise to so-called parallel timing anomalies. We take
the first steps toward understanding this problem by identifying decidable
conditions sufficient to avoid parallel timing anomalies in the absence of
non-determinism.Comment: In Proceedings QAPL 2019, arXiv:2001.0616
Behavioural Preorders on Stochastic Systems - Logical, Topological, and Computational Aspects
Computer systems can be found everywhere: in space, in our homes, in our
cars, in our pockets, and sometimes even in our own bodies. For concerns of
safety, economy, and convenience, it is important that such systems work
correctly. However, it is a notoriously difficult task to ensure that the
software running on computers behaves correctly.
One approach to ease this task is that of model checking, where a model of
the system is made using some mathematical formalism. Requirements expressed in
a formal language can then be verified against the model in order to give
guarantees that the model satisfies the requirements.
For many computer systems, time is an important factor. As such, we need our
formalisms and requirement languages to be able to incorporate real time.
We therefore develop formalisms and algorithms that allow us to compare and
express properties about real-time systems. We first introduce a logical
formalism for reasoning about upper and lower bounds on time, and study the
properties of this formalism, including axiomatisation and algorithms for
checking when a formula is satisfied.
We then consider the question of when a system is faster than another system.
We show that this is a difficult question which can not be answered in general,
but we identify special cases where this question can be answered. We also show
that under this notion of faster-than, a local increase in speed may lead to a
global decrease in speed, and we take step towards avoiding this.
Finally, we consider how to compare the real-time behaviour of systems not
just qualitatively, but also quantitatively. Thus, we are interested in knowing
how much one system is faster or slower than another system. This is done by
introducing a distance between systems. We show how to compute this distance
and that it behaves well with respect to certain properties.Comment: PhD dissertation from Aalborg Universit
Tools and Algorithms for the Construction and Analysis of Systems
This open access book constitutes the proceedings of the 28th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2022, which was held during April 2-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 46 full papers and 4 short papers presented in this volume were carefully reviewed and selected from 159 submissions. The proceedings also contain 16 tool papers of the affiliated competition SV-Comp and 1 paper consisting of the competition report. TACAS is a forum for researchers, developers, and users interested in rigorously based tools and algorithms for the construction and analysis of systems. The conference aims to bridge the gaps between different communities with this common interest and to support them in their quest to improve the utility, reliability, exibility, and efficiency of tools and algorithms for building computer-controlled systems
Sublinear-Time Cellular Automata and Connections to Complexity Theory
Im Gebiet des verteilten Rechnens werden Modelle untersucht, in denen sich mehrere Berechnungseinheiten koordinieren, um zusammen ein gemeinsames Ziel zu erreichen, wobei sie aber nur über begrenzte Ressourcen verfügen — sei diese Zeit-, Platz- oder Kommunikationskapazitäten. Das Hauptuntersuchungsobjekt dieser Dissertation ist das wohl einfachste solche Modell überhaupt: (eindimensionale) Zellularautomaten. Unser Ziel ist es, einen besseren Überblick über die Fähigkeiten und Einschränkungen des Modells und ihrer Varianten zu erlangen in dem Fall, dass die gesamte Bearbeitungszeit deutlich kleiner als die Größe der Eingabe ist (d. h. Sublinear-Zeit). Wir führen unsere Analyse von dem Standpunkt der Komplexitätstheorie und stellen dabei auch Bezüge zwischen Zellularautomaten und anderen Gebieten wie verteiltes Rechnen und Streaming-Algorithmen her.
Sublinear-Zeit Zellularautomaten. Ein Zellularautomat (ZA) besteht aus identischen Zellen, die entlang einer Linie aneinandergereiht sind. Jede Zelle ist im Wesentlichen eine sehr primitive Berechnungseinheit (nämlich ein deterministischer endlicher Automat), die mit deren beiden Nachbarn interagieren kann. Die Berechnung entsteht durch die Aktualisierung der Zustände der Zellen gemäß derselben Zustandsüberführungsfunktion, die gleichzeitig überall im Automaten angewendet wird. Die von uns betrachteten Varianten sind unter anderem schrumpfende ZAs, die (gewissermaßen) dynamisch rekonfigurierbar sind, sowie eine probabilistische Variante, in der jede Zelle mit Zugriff auf eine faire Münze ausgestattet ist. Trotz überragendem Interesse an Linear- und Real-Zeit-ZAs scheint der Fall von Sublinear-Zeit im Großen und Ganzen von der wissenschaftlichen Gemeinschaft vernachlässigt worden zu sein. Wir arbeiten die überschaubare Anzahl an Vorarbeiten zu dem Thema auf, die vorhanden ist, und entwickeln die daraus stammenden Techniken weiter, sodass deren Spektrum an Anwendungsmöglichkeiten wesentlich breiter wird. Durch diese Bemühungen entsteht unter anderem ein Zeithierarchiesatz für das deterministische Modell. Außerdem übertragen wir Techniken zum Beweis unterer Schranken aus der Komplexitätstheorie auf das Modell der schrumpfenden ZAs und entwickeln neue Techniken, die auf probabilistische Sublinear-Zeit-ZAs zugeschnitten sind.
Ein Bezug zu Härte-Magnifizierung. Ein Bezug zu Komplexitätstheorie, die wir im Laufe unserer Untersuchungen herstellen, ist ein Satz über Härte-Magnifizierung (engl. hardness magnification) für schrumpfende ZAs. Hier bezieht sich Härte-Magnifizierung auf eine Reihe neuerer Arbeiten, die bezeugen, dass selbst geringfügig nicht-triviale untere Schranken sehr beeindruckende Konsequenzen in der Komplexitätstheorie haben können. Unser Satz ist eine Abwandlung eines neuen Ergebnisses von McKay, Murray und Williams (STOC, 2019) für Streaming-Algorithmen. Wie wir zeigen kann die Aussage dabei genauso in Bezug auf schrumpfende ZAs formuliert werden, was sie auch beweisbar verstärkt.
Eine Verbindung zu Sliding-Window Algorithmen. Wir verknüpfen das verteilte Zellularautomatenmodell mit dem sequenziellen Streaming-Algorithmen-Modell. Wie wir zeigen, können (gewisse Varianten von) ZAs von Streaming-Algorithmen simuliert werden, die bestimmten Lokalitätseinschränkungen unterliegen. Konkret ist der aktuelle Zustand des Algorithmus vollkommen bestimmt durch den Inhalt eines Fensters fester Größe, das wenige letzte Symbole enthält, die vom Algorithmus verarbeitet worden sind. Dementsprechend nennen wir diese eingeschränkte Form eines Streaming-Algorithmus einen Sliding-Window-Algorithmus. Wir zeigen, dass Sliding-Window-Algorithmen ZAs sehr effizient simulieren können und insbesondere in einer solchen Art und Weise, dass deren Platzkomplexität eng mit der Zeitkomplexität des simulierten ZA verbunden ist.
Derandomisierungsergebnisse. Wir zeigen Derandomisierungsergebnisse für das Modell von Sliding-Window-Algorithmen, die Zufall aus einer binären Zufallsquelle beziehen. Dazu stützen wir uns auf die robuste Maschinerie von Branching-Programmen, die den gängigen Ansatz zur Derandomisierung von Platz-beschränkten Maschinen in der Komplexitätstheorie darstellen. Als eine Anwendung stellen sich Derandomisierungsergebnisse für probabilistische Sublinear-Zeit-ZAs heraus, die durch die oben genannten Verknüpfung erlangt werden.
Vorhersageproblem für Pilz-Sandhaufen. Ein letztes Problem, das wir behandeln und das auch einen Bezug zu Sublinear-Zeitkomplexität im Rahmen von Zellularautomaten hat (obwohl nicht zu Sublinear-Zeit-Zellularautomaten selber), ist das Vorhersageproblem für Sandhaufen-Zellularautomaten. Diese Automaten sind basierend auf zweidimensionalen ZAs definiert und modellieren einen deterministischen Prozess, in dem sich Partikel (in der Regel denkt man an Sandkörnern) durch den Raum verbreiten. Das Vorhersageproblem fragt ob, gegeben eine Zellennummer und eine initiale Konfiguration für den Sandhaufen, die Zelle mit Nummer irgendwann vor einer gewissen Zeitschranke einen von Null verschiedenen Zustand erreichen wird. Die Komplexität dieses mindestens zwei Jahrzehnte alten Vorhersageproblems ist für zweidimensionelle Sandhaufen bemerkenswerterweise nach wie vor offen. Wir lösen diese Frage im Wesentlichen für eine neue Variante von Sandhaufen namens Pilz-Sandhaufen, die von Goles u. a. (Phys. Lett. A, 2020) vorgeschlagen worden ist. Unser Ergebnis ist besonders relevant, weil es innovative Erkenntnisse und neue Techniken liefert, die für die Lösung des offenen Problems im allgemeinen Fall von hoher Relevanz sein könnten