Skip to content

Conversation

@pdev55
Copy link

@pdev55 pdev55 commented Oct 15, 2025

This provides an implementation of our Rivest-Schapire based learning algorithm for Mealy Machines with Local Timers (MMLTs). It includes the learning algorithm, an MMLT-specific query oracle, cache, and conformance testers.
We also include various integration tests and example models.

We also provide StatisticsContainer, a streamlined method for collecting statistics. A statistics container acts as a general key-value repository that can store various kinds of data that might be collected during learning (counters, stop clocks, texts, boolean flags). Components can implement the LearnerStatsProvider interface to indicate that they are interested in writing data to a container. The caller can provide a container to these components (the same for all or different ones).
Most notably, the caller does not need to know what kinds of data the component stores in the container. This simplifies the collection of much and different data, across different threads.
The stored data can exported as JSON or YAML for manual analysis or further processing, e.g., in Python.

tupaul added 27 commits October 8, 2025 14:16
…m observation tables that are defined in the learner module.
…LTs; allow access to stats during testing of learner.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants