Package morfologik.fsa.builders
Class FSAUtils
- java.lang.Object
-
- morfologik.fsa.builders.FSAUtils
-
public final class FSAUtils extends Object
Other FSA-related utilities not directly associated with the class hierarchy.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FSAUtils.IntIntHolder
-
Constructor Summary
Constructors Constructor Description FSAUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static TreeMap<Integer,Integer>
calculateFanOuts(FSA fsa, int root)
Calculate fan-out ratio (how many nodes have a given number of outgoing arcs).static com.carrotsearch.hppc.IntIntHashMap
rightLanguageForAllStates(FSA fsa)
Calculate the size of "right language" for each state in an FSA.static void
toDot(Writer w, FSA fsa, int node)
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
toDot(FSA fsa, int node)
Returns the right-language reachable from a given FSA node, formatted as an input for the graphviz package (expressed in thedot
language).
-
-
-
Method Detail
-
toDot
public static String toDot(FSA fsa, int node)
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
public static void toDot(Writer w, FSA fsa, int node) throws IOException
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.
-
calculateFanOuts
public static TreeMap<Integer,Integer> calculateFanOuts(FSA fsa, int root)
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
public static com.carrotsearch.hppc.IntIntHashMap rightLanguageForAllStates(FSA fsa)
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.
-
-