Simple suggestion: Tabular [Q-Learning](https://en.wikipedia.org/wiki/Q-learning)

**Why?**

Let's say we interpret MNIST's label as a _Hello World_ of Supervised Learning to mean something showing the basic "syntax" of a Supervised Learning algorithm: Create a model, load the data, then train.

If that interpretation is not far off, we can say the basic "syntax" of Reinforcement Learning (RL) would focus on showing a working [Markov Decision Process (MDP)](https://en.wikipedia.org/wiki/Markov_decision_process) which is the backbone of the RL decision making process. As such, this minimal working syntax would involve: Observing the world, selecting an action, as shown in this loop:

[![Simple MDP][1]][1]


  [1]: https://i.sstatic.net/rrgVV.jpg

This picture is missing two important steps in an RL algorithm learning loop:
1. Estimating the rewards or Fitting the model
2. Improving how you select actions. (Updating your policy)

How we decide to update the policy, or fit the model is what makes difference in the RL algorithm most of the time.

So a simple _hello world_ RL algorithm would be one that helps you **see the MDP in action**, while keeping steps 1 and 2 simple enough so that you **understand how the agent learns**. Tabular Q-Learning seems simple enough for this because it uses a [Q-table](https://en.wikipedia.org/wiki/File:Q-Learning_Matrix_Initialized_and_After_Training.png) represented as a 2D array to do the two steps.

You will be unable to use it anywhere else than in a toy environment though, typically Frozen-Lake and CartPole. An improvement would be [using a neural network](https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html) instead of a table to estimate Q values.

Here are a few useful resources:
1. [Q-Learning with Tables](https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-0-q-learning-with-tables-and-neural-networks-d195264329d0) (Guide)
2. [Q-learning jupyter notebook](https://gist.github.com/awjuliani/9024166ca08c489a60994e529484f7fe#file-q-table-learning-clean-ipynb) (Code ~25 lines)
3. [Q-Learning with Frozen-Lake and Taxi](https://github.com/mugoh/reinforcementLearning/tree/master/algorithms/qlearning) (Code)
4. [Reinforcement Learning with Q-Learning](https://www.freecodecamp.org/news/diving-deeper-into-reinforcement-learning-with-q-learning-c18d0db58efe/) (Guide)

A multi-armed bandit would also be great in introducing you to exploration-exploitation trade-off, though it wouldn't be considered a full RL algorithm since it has no context.