6 research outputs found
Learning weighted automata over principal ideal domains
In this paper, we study active learning algorithms for weighted automata over a semiring. We show that a variant of Angluin’s seminal L⋆ algorithm works when the semiring is a principal ideal domain, but not for general semirings such as the natural numbers
A Categorical Framework for Learning Generalised Tree Automata
Automata learning is a popular technique used to automatically construct an
automaton model from queries. Much research went into devising ad hoc
adaptations of algorithms for different types of automata. The CALF project
seeks to unify these using category theory in order to ease correctness proofs
and guide the design of new algorithms. In this paper, we extend CALF to cover
learning of algebraic structures that may not have a coalgebraic presentation.
Furthermore, we provide a detailed algorithmic account of an abstract version
of the popular L* algorithm, which was missing from CALF. We instantiate the
abstract theory to a large class of Set functors, by which we recover for the
first time practical tree automata learning algorithms from an abstract
framework and at the same time obtain new algorithms to learn algebras of
quotiented polynomial functors
Combining Semilattices and Semimodules
We describe the canonical weak distributive law of the powerset monad over
the -left-semimodule monad , for a class of semirings . We
show that the composition of with by means of such
yields almost the monad of convex subsets previously introduced by
Jacobs: the only difference consists in the absence in Jacobs's monad of the
empty convex set. We provide a handy characterisation of the canonical weak
lifting of to as well as an algebraic
theory for the resulting composed monad. Finally, we restrict the composed
monad to finitely generated convex subsets and we show that it is presented by
an algebraic theory combining semimodules and semilattices with bottom, which
are the algebras for the finite powerset monad
CALF: Categorical Automata Learning Framework
Automata learning is a popular technique used to automatically construct an automaton model from queries, and much research has gone into devising specific adaptations of such algorithms for different types of automata. This thesis presents a unifying approach to many existing algorithms using category theory, which eases correctness proofs and guides the design of new automata learning algorithms. We provide a categorical automata learning framework---CALF---that at its core includes an abstract version of the popular L* algorithm. Using this abstract algorithm we derive several concrete ones. We instantiate the framework to a large class of Set functors, by which we recover for the first time a tree automata learning algorithm from an abstract framework, which moreover is the first to cover also algebras of quotiented polynomial functors. We further develop a general algorithm to learn weighted automata over a semiring. On the one hand, we identify a class of semirings, principal ideal domains, for which this algorithm terminates and for which no learning algorithm previously existed; on the other hand, we show that it does not terminate over the natural numbers. Finally, we develop an algorithm to learn automata with side-effects determined by a monad and provide several optimisations, as well as an implementation with experimental evaluation. This allows us to improve existing algorithms and opens the door to learning a wide range of automata
Foundations of Software Science and Computation Structures
This open access book constitutes the proceedings of the 23rd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 31 regular papers presented in this volume were carefully reviewed and selected from 98 submissions. The papers cover topics such as categorical models and logics; language theory, automata, and games; modal, spatial, and temporal logics; type theory and proof theory; concurrency theory and process calculi; rewriting theory; semantics of programming languages; program analysis, correctness, transformation, and verification; logics of programming; software specification and refinement; models of concurrent, reactive, stochastic, distributed, hybrid, and mobile systems; emerging models of computation; logical aspects of computational complexity; models of software security; and logical foundations of data bases.