Learning Deterministic One-Counter Automata in Polynomial Time
Prince Mathew, Vincent Penelle, A. V. Sreejith
TL;DR
This work tackles the problem of learning deterministic one-counter automata (DOCAs) in polynomial time using active learning. It introduces OL*, a black-box learning algorithm that operates with membership queries and minimal equivalence queries to produce a DOCA recognizing the target language, with runtime polynomial in the size of the minimal DOCA. The approach circumvents exponential-state barriers of prior methods by learning a bounded behavioural DFA, partitioning the DFA into regions, and constructing a DOCA via a polynomially bounded coloring and partial-DOCA assembly process; it also yields a way to approximate DOCA minimisation. The results bridge learning and minimisation for DOCAs, showing polynomial-time learnability and offering a viable avenue for approximating minimal DOCAs, albeit with potentially larger output sizes than the true minimum. The framework advances formal verification and automata-learning applications by providing a scalable route to learn and refine DOCA-based models without counter-value queries.
Abstract
We give an active learning algorithm for deterministic one-counter automata (DOCAs) where the learner can ask the teacher membership and minimal equivalence queries. The algorithm called OL* learns a DOCA in time polynomial in the size of the smallest DOCA, recognising the target language. All existing algorithms for learning DOCAs, even for the subclasses of deterministic real-time one-counter automata (DROCAs) and visibly one-counter automata (VOCAs), in the worst case, run in exponential time with respect to the size of the DOCA under learning. Furthermore, previous learning algorithms are ``grey-box'' algorithms relying on an additional query type - counter value query - where the teacher returns the counter value reached on reading a given word. In contrast, our algorithm is a ``black-box'' algorithm. It is known that the minimisation of VOCAs is NP-hard. However, OL* can be used for approximate minimisation of DOCAs. In this case, the output size is at most polynomial in the size of a minimal DOCA.
