DRMacIver / lstar

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LStar

LStar is a variant implemetation of Dana Angluin's classic L* algorithm for inference of regular languages. It is loosely based on the following three papers:

  • Angluin, Dana. "Learning regular sets from queries and counterexamples." Information and computation 75.2 (1987): 87-106
  • Rivest, Ronald L., and Robert E. Schapire. "Inference of finite automata using homing sequences." Information and Computation 103.2 (1993): 299-347.
  • Maler, Oded, and Irini-Eleftheria Mens. "Learning regular languages over large alphabets." International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, Berlin, Heidelberg, 2014.

It's all a bit prototypey at the moment, but I've found myself lacking a high quality implementation of this concept in the past, and the aim is for this to eventually become that. For now, use with extreme caution.

Basic Usage

In lieu of documentation, here is some really embarrassingly basic example usage. More documentation to follow shortly, honest.

The automata generated support a reasonable set of basic methods for navigating the automata. It's all available via the class documentation, I just haven't got around to setting up sphinx for this yet.

About

License:GNU General Public License v3.0


Languages

Language:Python 100.0%