Пример #1
0
 /// <summary>
 /// Extends current chain about new rule with given probability.
 /// </summary>
 /// <param name="rule">Extending rule.</param>
 /// <param name="probability">Probability of extending rule.</param>
 /// <returns>Extended chain.</returns>
 internal RuleChain ExtendBy(ContextRule rule, double probability)
 {
     return(new RuleChain(this, rule, _totalProbability * probability));
 }
Пример #2
0
 /// <summary>
 /// Initializes empty chain.
 /// </summary>
 internal RuleChain()
 {
     _totalProbability = 1.0;
     _previousChain    = null;
     _rule             = null;
 }
Пример #3
0
 /// <summary>
 /// Initializes part of chain based on previous parts of chain.
 /// </summary>
 private RuleChain(RuleChain previousChain, ContextRule rule, double totalProbability)
 {
     _previousChain    = previousChain;
     _rule             = rule;
     _totalProbability = totalProbability;
 }
Пример #4
0
 internal void Add(ContextRule contextRule)
 {
     _rules.Add(contextRule);
 }