A Python implementation of the Causal State Splitting Reconstruction (CSSR) algorithm for inferring epsilon-transducers from data generated by discrete-valued, discrete-time input/output systems. This page provides the full source code, released under the GNU Public License.
This implementation has been tested on Mac OS X 10.10.3, but should work on any Unix-based OS. It requires the following Python dependencies:
These packages may be installed individually. A useful collection of these and related libraries for scientific computing with Python may be installed using Enthought or Anaconda.
Visualization of the epsilon-machines requires Graphviz or similar software for reading dot files. To use Graphviz within a Juptyer notebook using the Anaconda distribution of Python, install the python-graphviz
package using:
conda install python-graphviz
NOTE: This version of transCSSR is for use with Python 3.7+. A legacy version for use with Python 2.7 is hosted here.