Package morfologik.fsa.builders
Class FSAUtils
java.lang.Object
morfologik.fsa.builders.FSAUtils
Other FSA-related utilities not directly associated with the class hierarchy.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncalculateFanOuts
(FSA fsa, int root) Calculate fan-out ratio (how many nodes have a given number of outgoing arcs).static com.carrotsearch.hppc.IntIntHashMap
Calculate the size of "right language" for each state in an FSA.static void
Saves the right-language reachable from a given FSA node, formatted as an input for the graphviz package (expressed in thedot
language), to the given writer.static String
Returns the right-language reachable from a given FSA node, formatted as an input for the graphviz package (expressed in thedot
language).private static void
-
Constructor Details
-
FSAUtils
public FSAUtils()
-
-
Method Details
-
toDot
Returns the right-language reachable from a given FSA node, formatted as an input for the graphviz package (expressed in thedot
language).- Parameters:
fsa
- The automaton to visualize.node
- Starting node (subgraph will be visualized unless it's the automaton's root node).- Returns:
- Returns the dot language description of the automaton.
-
toDot
Saves the right-language reachable from a given FSA node, formatted as an input for the graphviz package (expressed in thedot
language), to the given writer.- Parameters:
w
- The writer to write dot language description of the automaton.fsa
- The automaton to visualize.node
- Starting node (subgraph will be visualized unless it's the automaton's root node).- Throws:
IOException
- Rethrown if an I/O exception occurs.
-
visitNode
- Throws:
IOException
-
calculateFanOuts
Calculate fan-out ratio (how many nodes have a given number of outgoing arcs).- Parameters:
fsa
- The automaton to calculate fanout for.root
- The starting node for calculations.- Returns:
- The returned map contains keys for the number of outgoing arcs and an associated value being the number of nodes with that arc number.
-
rightLanguageForAllStates
Calculate the size of "right language" for each state in an FSA. The right language is the number of sequences encoded from a given node in the automaton.- Parameters:
fsa
- The automaton to calculate right language for.- Returns:
- Returns a map with node identifiers as keys and their right language counts as associated values.
-