Jautomata
Java library for (weighted) finite state automata. Acceptors, transducers, and multi-tape automata are supported.
Install / Use
/learn @jasperhoogland/JautomataREADME
JAutomata
See for more information: <a href="http://jasperhoogland.github.io/jautomata/" target="_blank">JAutomata Documentation</a> and <a href="http://jasperhoogland.github.io/jautomata/apidocs/index.html" target="_blank">Javadocs</a>.
This is a Java library for (weighted) finite state automata. The automata are generic with respect to label type and semiring. This allows generic algorithms to be performed on any type of (weighted) finite state automata, such as
<ul> <li>acceptors</li> <li>transducers</li> <li>multi-tape automata</li> </ul> The library contains algorithms to create automata in Java code and to import them from files. It contains algorithms to compute properties of automata, including <ul> <li>string weights</li> <li><i>n</i> shortest paths</li> <li><i>n</i> best strings</li> </ul> It also contains methods to manipulate automata, such as <ul> <li>intersection</li> <li>transducer composition</li> <li>epsilon removal</li> <li>determinization</li> <li>concatenation</li> <li>union</li> <li>Kleene closure</li> <li>reversal</li> <li>conversion between acceptors, transducers, and multi-tape automata</li> <li>label conversion</li> <li>semiring conversion</li> </ul> <h2>Creating Finite State Automata</h2>New automata can be created in a number of ways. They can be imported from files or they can be created in an application using Java code.
<h2>Links</h2> <ul> <li><a href="http://jasperhoogland.github.io/jautomata/" target="_blank">JAutomata Documentation</a></li> <li><a href="http://jasperhoogland.github.io/jautomata/apidocs/index.html" target="_blank">Javadocs</a></li> </ul>