The Vaucanson Project
Vaucanson is a platform dedicated to the computation of, and with, finite state machines. It provides an efficent 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.
Vaucanson 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 is ensured by Jacques Sakarovitch, at Télécom ParisTech, and with Sylvain Lombardy at the Laboratoire Bordelais de Recherche en Informatique.
About ten years after its first inception, the project is taking a new start with the Vaucanson 2 effort. This complete redesign aims at keeping the successful parts of its predecessor (especially genericity and large feature set) while addressing its shortcomings (compile-time and runtime efficiency, flexibility).
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 email@example.com: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.
- Documentation of the Python interface
- The News File contains many examples
- The C++ Reference Manual is poor, but exists
- Trouble Shooting some problems with building or using Vaucanson
- Papers related to Vaucanson
- Related links
- People behind Vaucanson, and more generally contributors
- Download: The latest version of the Vaucanson 1 platform
- V1 Repository: Browsable git repository of Vaucanson 1
- V2 Repository: Browsable git repository of Vaucanson 2 (https://gitlab.lrde.epita.fr/vcsn/vaucanson.git for anonymous access, or firstname.lastname@example.org:vcsn/vaucanson.git for registered contributors)
- FSMXML: Our proposal of an XML representation for (weighted) automata and rational expressions.
The following resources are the group's main means of discussion:
- Vaucanson: General questions, discussions and announcements
- Vaucanson bugs: Bug reports about the library
- Vaucanson patches: Patches and related discussions
- Trac: (obsolete) issue tracker for Vaucanson 1
Send any question or comments to email@example.com.
Send bug reports to firstname.lastname@example.org.