In this lab, you will be implementing Epsilon-greedy, UCB and Thompson sampling algorithms.

You have to write your code only in the following files:
eps_greedy.py
ucb.pythompson.py
thompson.py

In each of these files, you should implement the function `give_pull()`
This function should choose the arm to pull.
In the code given to you, the function randomly picks one of the arms. 
You need to replace this with the way the corresponding algorith would choose


You can test the following code by:
`python3 simulator.py`
You would obtain a single plot of Regret vs Horizon for 3 of the algorithms you implemented

Note:
1. simulator.py instantiates a bandit
2. The bandit instance can be modified by changing the probabilities list in the main of simulator.py (line 65)
3. For each algorithm, several experiments are performed, and their mean is shown in the plots 
