Commit f278465
Implementation for learning MMLTs, new model for collecting statistics (#153)
* Made RowImpl public to enable access in custom observation table implementations.
* Made several methods of RowImpl public, to enable external access from observation tables that are defined in the learner module.
* Started with integration of MMLT.
* Extended EquivalenceOracle.java with LocalTimerMealyEquivalenceOracle.
* Created module for symbol filters; added tests for counterexample handling for MMLT learner.
* Functions for printing stats as JSON/YAML.
* Renamed statsContainer; exporting mmlt caches.
* Included symbol-filters module in dependency management.
* Renamed fast cache to cache for MMLTs; added integration tests for MMLTs; allow access to stats during testing of learner.
* Added more test models for the MMLT learner.
* Added more test models for the MMLT learner.
* Added cache consistency test for MMLT learning.
* Removed location type parameter from LocalTimerMealyEquivalenceOracle.
* Cache for MMLTs now inherits LearningCache
* Multiple EQ tests for MMLTs can now respect the provided list of inputs for counterexamples.
* Added tests for the cache; cleaned-up some files.
* Added tests for the MMLT cache consistency test.
* Made the MMLT SUL an interface with default methods.
* Made symbol filters more independent from MMLTs
* StatisticsSymbolFilter has stats container as constructor parameter.
* Moved several MMLT examples to test-support.
* Added an example for learning MMLTs; added module info for symbol filter module.
* Added an example for learning MMLTs; added module info for symbol filter module.
* Added more descriptions for included MMLT models
* More info on model params
* Updated reset search oracle to check if it can return a counterexample with the provided inputs.
* adjust to AutomataLib refactorings
* adjust to AutomataLib refactorings
* adjust to AutomataLib refactorings
* Using correct function to render MMLT in example.
* Replaced getUntimedAlphabet with getInputAlphabet
* MMLT-Learner now explicitly takes untimed inputs in constructor.
* initial refactorings / cleanups
* cleanup/generalize (integration-) tests
* replace explicit StatsContainer with ServiceLoader-based approach
* experimental: replace old statistics collection with new approach
code compiles but parallel oracle tests still fail because the implementation is not thread-safe. final solution is still open for discussion.
* add missing stats reset
* make MapStatsContainer thread-safe and fix tests
* refactor symbol filters
* adjust to AutomataLib refactorings
* fix code-analysis remarks up until L* module
* cleanups
* Removed sorting of prefixes from location cover, to reflect automataLib updates.
* Updated MMLT examples.
* Added more info about MMLTs.
* Re-enabled visualization in MMLT examples.
* Updated to AutomataLib changes: timers in MMLTs now support multiple outputs explicitly.
* Added example for loading setting up a custom MMLT model.
* Wording
* Fixed bug that prevented duplicate timer outputs during timer inference.
* fix issues flagged by code-analysis
* cleanups + tests
* cleanups, parallel timed oracles, test cases
* more rigorous testing
* make learner + OT batch queries to better support parallel oracles
* cleanups
most learning related code looks good, only statistics need an overhaul
* statistics overhaul
* updated changelog
* mmlt: add test for some corner cases
* drop toString() of internal record
* filters: try to address some of the flaky tests on windows
* filters: try to work around some platform issues
* build: ignore generated MMLT class
---------
Co-authored-by: Paul Kogel <p.kogel@tu-berlin.de>
Co-authored-by: Markus Frohme <markus.frohme@udo.edu>
Co-authored-by: Markus Frohme <mtf90@users.noreply.github.com>1 parent 8799589 commit f278465
214 files changed
Lines changed: 12280 additions & 1116 deletions
File tree
- algorithms/active
- adt/src/test/java/de/learnlib/algorithm/adt/it
- lstar
- src
- main/java
- de/learnlib/algorithm/lstar/mmlt
- cex
- results
- filter
- test
- java/de/learnlib/algorithm/lstar
- it
- resources/mmlt
- api
- src
- main/java
- de/learnlib
- filter
- oracle
- query
- statistic
- sul
- time
- test/java/de/learnlib/statistic
- archetypes
- basic/src/main/resources/archetype-resources
- src/main/java
- complete/src/main/resources/archetype-resources/src/main/java
- build-parent
- commons
- datastructures/src/main/java/de/learnlib/datastructure/observationtable
- util
- src
- main/java
- de/learnlib/util
- mealy
- statistic
- test/java/de/learnlib/util
- distribution
- drivers/simulator
- src
- main/java/de/learnlib/driver/simulator
- test/java/de/learnlib/driver/simulator
- examples
- src
- main
- java
- de/learnlib/example
- mmlt
- parallelism
- resumable
- sli
- resources
- test/java/de/learnlib/example
- filters
- cache
- src
- main/java
- de/learnlib/filter/cache
- mmlt
- sul
- test/java/de/learnlib/filter/cache
- dfa
- mealy
- mmlt
- moore
- sul
- statistics
- src
- main/java
- de/learnlib/filter/statistic
- container
- learner
- oracle
- sul
- test
- java/de/learnlib/filter/statistic
- container
- oracle
- sul
- resources
- symbol-filters
- src/main/java
- de/learnlib/filter/symbol
- oracles
- equivalence-oracles/src
- main/java
- de/learnlib/oracle/equivalence
- mmlt
- test/java/de/learnlib/oracle/equivalence/mmlt
- membership-oracles/src
- main/java/de/learnlib/oracle/membership
- test/java/de/learnlib/oracle/membership
- parallelism/src
- main/java/de/learnlib/oracle/parallelism
- test/java/de/learnlib/oracle/parallelism
- test-support
- learner-it-support
- src/main/java
- de/learnlib/testsupport/it/learner
- learning-examples
- src/main
- java
- de/learnlib/testsupport/example
- mmlt
- resources/mmlt
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| 17 | + | |
| 18 | + | |
16 | 19 | | |
17 | 20 | | |
18 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
| 134 | + | |
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
| |||
151 | 153 | | |
152 | 154 | | |
153 | 155 | | |
154 | | - | |
| 156 | + | |
| 157 | + | |
155 | 158 | | |
156 | 159 | | |
157 | 160 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
53 | 57 | | |
54 | 58 | | |
55 | 59 | | |
| |||
124 | 128 | | |
125 | 129 | | |
126 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
127 | 146 | | |
128 | 147 | | |
129 | 148 | | |
| |||
134 | 153 | | |
135 | 154 | | |
136 | 155 | | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
137 | 166 | | |
138 | 167 | | |
139 | 168 | | |
| |||
0 commit comments