/// <summary>
/// The state.
/// </summary>
/// <param name="chain">
/// The chain.
/// </param>
/// <param name="alphabet">
/// The alphabet.
/// </param>
/// <returns>
/// The <see cref="bool"/>.
/// </returns>
public override bool State(ComplexChain chain, FrequencyDictionary alphabet)
{
double current = Distortion(chain, alphabet);
if (Value > current)
{
Value = current;
this.chain = chain.Clone();
this.alphabet = alphabet.Clone();
ThresholdToStop.SaveBest();
}
return ThresholdToStop.Distance > ThresholdVariator.Precision;
}