Home home
Subscribe to our feed
About Demo Download Documentation Literature Team Contact

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:

target model
Angluin's L*   X DFA
L* (adding counter-examples to columns)   X DFA
Kearns / Vazirani   X DFA
Rivest / Schapire   X DFA
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


  • 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.

libalf demo

read more

Disclaimer Original design by Stylish Website Templates