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.
ImmutablePairDistribution<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.
ImmutablePairDistribution<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.
ImmutablePairDistributionBase<TElement1, TElementDistribution1, TElement2, TElementDistribution2, TThis>
A base class for distributions over pairs of elements used to specify transducers.
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>.
ListDictionaryWeightFunction<TElement, TElementDistribution>
A WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.DictionaryWeightFunction<TThis> defined on generic lists.
ListDictionaryWeightFunction<TList, TElement, TElementDistribution>
A WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.DictionaryWeightFunction<TThis> 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.
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, TElementSet>
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.
StringDictionaryWeightFunction
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.DictionaryWeightFunction<TThis> specialized for strings.
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
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.DictionaryWeightFunction<TThis>
An implementation of WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunction<TThis> that stores the entire support of the weight function along with the associated weights in a dictionary.
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.MultiRepresentationWeightFunction<TDictionary>.Factory
An WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunctionFactory<TWeightFunction> implementation for WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.MultiRepresentationWeightFunction<TDictionary>.
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.PointMassWeightFunction
An implementation of WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunction<TThis> that represents a point mass weight function, aka a weight function that maps one sequence to 1.0 and all other sequences to zero.
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.
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.MultiRepresentationWeightFunction<TDictionary>
An implementation of WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunction<TThis> that automatically chooses between WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.PointMassWeightFunction, WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.DictionaryWeightFunction<TThis>, and Automaton<TSequence, TElement, TElementDistribution, TSequenceManipulator, TThis> representation.
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.
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunction
The part of WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunction<TThis> API, that is agnostic of the concrete weight function class. Implementations of closed constructed WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunction<TThis> can all be upcasted to this type.
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunction<TThis>
Interface for a function that maps arbitrary sequences of elements to real values, that can, but not necessarily has to be, represented as a weighted finite state automaton.
WeightFunctions<TSequence, TElement, TElementDistribution, TSequenceManipulator, TAutomaton>.IWeightFunctionFactory<TWeightFunction>
Interface for a factory of weight functions, that is reponsible for performing operations that result in weight functions, but not necessarily accept them as arguments.
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.