ALMA: Automata Learner using Modulo 2 Multiplicity Automata
Nevin George

TL;DR
ALMA is a Java-based tool that learns regular automata, including modulo 2 multiplicity and B"uchi automata, using polynomial-time algorithms with membership and equivalence queries, and provides detailed automaton representations.
Contribution
ALMA introduces a comprehensive, implementable tool for learning various automata types with polynomial-time algorithms, including minimization and detailed output features.
Findings
Successfully learns modulo 2 multiplicity automata and B"uchi automata.
Provides detailed automaton representations after learning.
Supports testing word acceptance via membership queries.
Abstract
We present ALMA (Automata Learner using modulo 2 Multiplicity Automata), a Java-based tool that can learn any automaton accepting regular languages of finite or infinite words with an implementable membership query function. Users can either pass as input their own membership query function, or use the predefined membership query functions for modulo 2 multiplicity automata and non-deterministic B\"uchi automata. While learning, ALMA can output the state of the observation table after every equivalence query, and upon termination, it can output the dimension, transition matrices, and final vector of the learned modulo 2 multiplicity automaton. Users can test whether a word is accepted by performing a membership query on the learned automaton. ALMA follows the polynomial-time learning algorithm of Beimel et. al. (Learning functions represented as multiplicity automata. J. ACM 47(3),…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMachine Learning and Algorithms · semigroups and automata theory · Optimization and Search Problems
