19 research outputs found

    Probabilistic Input-Driven Pushdown Automata

    Get PDF

    Minimal Synthesis of String To String Functions From Examples

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Behavioural Preorders on Stochastic Systems - Logical, Topological, and Computational Aspects

    Get PDF

    Tools and Algorithms for the Construction and Analysis of Systems

    Get PDF
    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

    Get PDF
    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 yy und eine initiale Konfiguration für den Sandhaufen, die Zelle mit Nummer yy 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
    corecore