예제 #1
0
    override public void learn(int numEpisodes = 10000)
    {
        int numCrossWins = 0, numNotWins = 0, numDraws = 0;

        BoardGame.Print(" learning ....");
        QLearning brain = QLearning.Instance;

        for (int i = 0; i < numEpisodes; i++)
        {
            episode( );
            if (winner == TicTacToe.CrossVal)
            {
                numCrossWins++;
            }
            else if (winner == TicTacToe.NotVal)
            {
                numNotWins++;
            }

            else
            {
                numDraws++;
            }
        }
        brain.writeTrainingData();
        Debug.Log("Total Episodes " + numEpisodes + " Cum Results: NumCrossWins:" + numCrossWins + " NumNotWins: " + numNotWins + " numDraws: " + numDraws);
    }