In this tutorial, you will train a reinforcement learning (RL) agent to play a simple text game called Frozen Lake. Then, you will use that agent to assess the difficulty of multiple randomly generated levels. The same approach can be used with more complex games. Modern reinforcement learning can match human performance on all kinds of games.

To build an agent that can automatically level a game, you will:

  1. Interact with the Frozen Lake environment from the OpenAI Gym.
  2. Build and train a model locally and then as a training job in SageMaker.
  3. Find the best model by running a hyperparameter tuning job.

The tutorial will be driven from a Jupyter notebook on a SageMaker notebook instance. You will also download a Python package that contains logic for training the agent. Once you have a way to train an agent on the Frozen Lake game, you will find a model that gives the best performance using SageMaker’s model training and hyperparameter tuning features.

Some prior experience with machine learning and Python will be helpful.