Vcsn — Be Rational
From LRDE
Try it | Download | Python doc | C++ doc |
Vcsn is a platform dedicated to the computation of, and with, finite state machines. It provides an efficient C++ library, a Python interface, and a graphical user interface on top of IPython.
Here finite state machines is to be understood in the broadest possible sense: finite automata with multiple tapes — often called transducers then — or even more generally finite automata with multiplicity, that is, automata that not only accept sequences of symbols but compute for such sequence a "value" that is associated with it and which can be taken in any semiring.
Indeed, our framework is the set of automata with multiplicity over any semiring: a general algorithm is written just once and can be instantiated to any particular kind of automaton. As a result, we obtain efficient code from algorithms written in an abstract way.
Vcsn benefits from the expertise the LRDE gained from our intensive work on high performance generic programming for Olena. On the other hand, its theoretical well-foundedness was ensured by Jacques Sakarovitch, at Télécom ParisTech, and with Sylvain Lombardy at the Laboratoire Bordelais de Recherche en Informatique.
Latest News (more...)
- May 8th, 2018: Vcsn 2.8 is released!
- March 15th, 2018: Vcsn 2.7 is released!
- November 13th, 2017: Vcsn 2.6 is released!
- January 28th, 2017: Vcsn 2.5 is released!
- November 16th, 2016: Vcsn 2.4 is released!
- July 8th, 2016: Vcsn 2.3 is released!
- February 19th, 2016: Vcsn 2.2 is released!
- October 11th, 2015: Vcsn 2.1 is released!
- October 1st, 2015: Vcsn's git repository moved.
- Run git remote set-url origin git@gitlab.lrde.epita.fr:vcsn/vcsn in your old repository to retarget it.
- July 25th, 2014: Vaucanson 2.0 is released.
- May 20th, 2014: A Type System for Weighted Automata and Rational Expressions was accepted to CIAA'14.
Information, Documentation
- Documentation of the Python interface
- The News files (Latest release or current working version) contains many examples
- The C++ Reference Manual
- Videos about Vcsn
- Troubleshooting some problems with building or using Vcsn
- Papers related to Vcsn (When referring to Vcsn/Vaucanson 2, please cite this paper.)
- People behind Vcsn, and more generally contributors
Resources
- Download: All the releases of Vcsn
- Nightly: The nightly builds of Vcsn
- Repository: Browsable git repository of Vcsn (https://gitlab.lrde.epita.fr/vcsn/vcsn for anonymous access, or git@gitlab.lrde.epita.fr:vcsn/vcsn for registered contributors)
Legacy
- Vaucanson Repository: Browsable git repository of Vaucanson 1
- FSMXML: Our proposal of an XML representation for (weighted) automata and rational expressions.
- Vaucanson: Releases of Vaucanson 1
Development
The following resources are the group's main means of discussion:
- Issue Tracker: The place to create bug reports (and look existing tasks)
- Vcsn: General questions, bug reports; discussions and announcements
- vcsn patches: Patches and related discussions
Contact
Send any question or comments to vcsn@lrde.epita.fr.
File bug reports on Git Lab, or send bug reports to vcsn-bugs@lrde.epita.fr.