Exemplo n.º 1
0
    public void Learn(List <IState> states)
    {
        int numStates    = states.Count;
        int maxGramState = numStates - 1 - n;

        for (int iState = 0; iState < maxGramState; iState++)
        {
            Gram gramStates = new Gram(n, states.GetRange(iState, n));

            if (grams.ContainsKey(gramStates.uid) == false)
            {
                grams.Add(gramStates.uid, gramStates);
            }

            if (iState < maxGramState - n)
            {
                gramStates.AddLink(new Gram(n, states.GetRange(iState + n, n)));
            }
        }
    }