Namespace Microsoft.ML.Probabilistic.Distributions.Automata
Classes
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>
Abstract base class for a weighted finite state automaton. It can be viewed as a function that maps arbitrary sequences of elements to real values.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Builder
Helper class which is used to construct new automaton interactively using the builder pattern.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Condensation
Represents the condensation of an automaton graph.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Determinization
Groups together helper classes used for automata determinization.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Determinization.WeightedStateSetOnlyStateComparer
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Simplification
Helper class which which implements automaton simplification.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.StronglyConnectedComponent
Represents a strongly connected component of an automaton graph.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.UnlimitedStatesComputation
Temporarily allow for large automata.
AutomatonBasedSequenceDistributionFormatBase
A base class for implementations of ISequenceDistributionFormat that use IAutomatonFormat.
AutomatonEnumerationCountException
The exception that is thrown when an enumeration becomes too large.
AutomatonException
The exception that is thrown when an automaton-related error occurs.
AutomatonFormats
A collection of automaton formats.
AutomatonTooLargeException
The exception that is thrown when a new state cannot be added to an automaton because it has too many states already.
GraphVizAutomatonFormat
Converts a given automaton to its GraphViz description.
ListAutomaton<TElement, TElementDistribution>
An automaton defined on generic lists.
ListAutomaton<TList, TElement, TElementDistribution>
An automaton defined on types implementing IList<T>.
ListAutomaton<TList, TElement, TElementDistribution, TThis>
A base class for automata defined on types implementing IList<T>.
ListManipulator<TList, TElement>
Provides the ability to manipulate lists (classes that implement IList<T>).
ListTransducer<TElement, TElementDist>
Represents a transducer defined on pairs of lists.
ListTransducer<TList, TElement, TElementDist>
Represents a transducer defined on pairs of lists.
PairDistribution<TElement, TElementDistribution>
This class can represent distributions over pairs of two types: a factorized P(x, y) = P(x) P(y)
,
and correlated P(x, y) \propto P(x) P(y) I[x=y]
. Both elements of a pair must be of the same type.
PairDistribution<TElement1, TElementDistribution1, TElement2, TElementDistribution2>
Represents a factorized distribution over pairs of elements
P(x, y) = P(x)P(y)
. Pair elements x
and y
can be of different types.
PairDistributionBase<TElement1, TElementDistribution1, TElement2, TElementDistribution2, TThis>
A base class for distributions over pairs of elements used to specify transducers.
RegexpAutomatonFormat
Converts a given automaton to a regular expression (or a regular expression-like string) corresponding to the support of the automaton.
RegexpFormattingSettings
The formatting settings used by the RegexpAutomatonFormat class.
RegexpTreeBuilder
Contains methods for converting automata into regular expressions.
RegexpTreeNode<TElement>
Represents a node in the tree describing a regular expression.
SequenceDistributionFormatPointMassAsAutomaton
An implementation of AutomatonBasedSequenceDistributionFormatBase, which works on a given distribution as follows:
- If the distribution is not a point mass, applies the underlying automaton format to the probability function.
- If the distribution is a point mass, applies the underlying automaton format to the automaton representation of the point.
SequenceDistributionFormatPointMassAsString
An implementation of AutomatonBasedSequenceDistributionFormatBase, which works on a given distribution as follows:
- If the distribution is not a point mass, applies the underlying automaton format to the probability function.
- If the distribution is a point mass, simply calls ToString() on the point.
StringAutomaton
Represents a weighted finite state automaton defined on String.
StringManipulator
Provides the ability to manipulate strings.
StringTransducer
Represents a transducer defined on pairs of strings.
Transducer<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TThis>
A base class for weighted finite state transducers that are defined on sequences of different types.
Transducer<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton, TThis>
A base class for weighted finite state transducers that are defined on sequences of the same type.
TransducerBase<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TPairDistribution, TThis>
A base class for weighted finite state transducers.
TransducerBase<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TPairDistribution, TThis>.PairListAutomaton
Represents an automaton that maps lists of element pairs to real values. Such automata are used to represent transducers internally.
TransducerBase<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TPairDistribution, TThis>.UnlimitedStatesComputation
Structs
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Builder.StateBuilder
Builder struct for a state
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Builder.TransitionIterator
Helper struct for iterating over currently constructed list of transitions for state. Unlike standard enumerator pattern through this iterator elements can be changed and removed.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.DataContainer
Immutable container for automaton data - states and transitions.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Determinization.OutgoingTransition
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Determinization.WeightedState
Represents
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Determinization.WeightedStateSet
Represents a state of the resulting automaton in the power set construction. It is essentially a set of (stateId, weight) pairs of the source automaton, where each state id is unique. Supports a quick lookup of the weight by state id.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Determinization.WeightedStateSetBuilder
Builder for weighted sets.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.EpsilonClosure
Represents the epsilon closure of a state.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.State
Represents a reference to a state of automaton for exposure in public API.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.StateCollection
Represents a collection of automaton states for use in public APIs
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.StateCollection.StateEnumerator
Enumerator over states in Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.StateCollection.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.StateData
Represents a state of an automaton that is stored in the Automaton.states. This is an internal representation of the state. Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.State struct should be used in public APIs.
Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis>.Transition
Represents a transition in an automaton.
Weight
Represent an element of the automata weight semiring.
Interfaces
IAutomatonFormat
An interface for classes implementing various methods of representing automata as strings.
ISequenceDistributionFormat
An interface for classes implementing various methods of representing sequence distributions as strings.
ISequenceManipulator<TSequence, TElement>
An interface for classes that provide functionality to manipulate sequences of a certain type.
Enums
DistributionKind
Type of distribution.
RegexpTreeNodeType
Represents the type of a regular expression tree node. The value of an enumeration element corresponds to the priority of the operation it describes.