|
 |
About the libalf library |
|
The libalf library is a comprehensive, open-source library for learning finite-state automata covering various well-known learning techniques (such as Angluin's L*, Biermann's learning approach, and RPNI), as well as novel learning algorithms (e.g. for NFA and visibly one-counter automata).
libalf is highly flexible and allows for facilely interchanging learning algorithms and combining domain-specific features in a plug-and-play fashion. Its modular design and its implementation in C++ make it the ideal platform for adding and engineering further, efficient learning algorithms for new target models (e.g., Büchi automata, timed automata, or probabilistic automata).
Currently, the following learning algorithms are supported:
Algorithm |
offline |
online |
target model |
Angluin's L* |
|
X |
DFA |
L* (adding counter-examples to columns) |
|
X |
DFA |
Kearns / Vazirani |
|
X |
DFA |
Rivest / Schapire |
|
X |
DFA |
NL* |
|
X |
NFA |
Regular positive negative inference (RPNI) |
X |
|
DFA |
DeLeTe2 |
X |
|
NFA |
Biermann & Feldman's algorithm |
X |
|
NFA |
Biermann & Feldman's algorithm (using SAT-solving) |
X |
|
DFA |
Glossary
- DFA: a deterministic finite-state automaton
- NFA: a nondeterministic finite-state automaton
- Offline learning: offline learning algorithms are learning algorithms that passively receive a set of classified data. Their goal then is to generalize this set of positive and negative words to some kind of explanation H (e.g. a DFA) which is in conformance with the input.
- Online learning: In contrast to offline learning algorithms, online learning algorithms are capable of actively asking certain kinds of queries to some teacher who is able to classify these queries. This ability lets them infer explanations for the underlying set of already classified words.
|
|
 |
 |
Latest news |
|
April 9th, 2011
Release of libalf 0.3. Version 0.3 features some new features and the Rivest / Schapire learning algorithm. Please have a look at the Changelog.
March 10th, 2010
Release of libalf 0.2. Version 0.2 now features the Kearns / Vazirani and Biermann's original learning algorithm. Additionally, various bugs are fixed.
October 19th, 2009
libalf website launched. On October 19th, 2009 the libalf team launched the new website.
October 12th, 2009
libalf released. The first beta of the libalf library has been released.
|
|
|