The original project uses a list of possible moves. The AI there randomly chooses a move to do. Here, clones of the AI do that. A clone evaluates its performance the same way the AI in the original project does. The difference is in how they learn to do better than they did before. A clone creates a clone of itself that's slightly different than the original. This new clone may be better or worse. The clone that does the best is the clone that all the newly created clones seek to be. They follow their own path towards being as good as the best clone, but sometimes, when evaluated, they end up being better than the best clone! Maximizing this aspect is how this self-learning AI learns! It eventually results in generating an AI clone that reaches the maximum score of 20!
Scripts contain comments.