SforAiDl/genrl

View on GitHub
docs/source/RL/background/index.rst

Summary

Maintainability
Test Coverage
Background
==========

Before we start talking about Reinforcement Learning, it would be good to start with a little bit of 
introduction about Machine Learning. Since pre-historic ages, us beings, have made tools that aid us.
Underlying motivation and hope behind these tools is simple, that we dont have to face the problems we
faced today and tomorrow's tasks could be more optimized. 

A Computer is a very similar tool that we created in the past century. Apart from basic tasks like 
calculation, storage, etc., they also help us in better recreation. Its not a question, that computers
have come a very long way, so much so that they have become an integral part of our lives. About 50
years or so back, computer scientists at that day and age imagined such a scenario and laid the 
foundations of the currently booming field of Machine Learning and Artificial Intelligence.

Artificial Intelligence
-----------------------

Artificial Intelligence, as defined by Alan Turing, is a computer that can mimic human responses under 
specific conditions. In one of his seminal articles entitled “Computing Machinery and Intelligence” 
in the philosophy journal, Mind, he laid down some of his ideas more concretely. In that article he also
said that he believed in about 50 years from then (≡2000), computers will be able to play an imitation
game extremely well. 

Artificial Intelligence has since flourished. From advances motivated through computation theory and logic 
(Symbolic AI) to Neuroscience (Neural Networks), AI is now one of the most pursued areas in Computer Science.
Although, some of the most recent advances like Deepmind's Alphastar, which is an AI system that has a 
win percentage of **99.8%**, may match some of Alan Turing's predictions, we are still years away from 
checking all his boxes.

Machine Learning
----------------

Machine Learning is a subfield of Computer Science, in which algorithms improve themselves using experience.
The idea is to develop methods that learn patterns in data thereby improving itself to achieve a particular goal.
Machine Learning is usually categorised into three sects:

1. Supervised Learning
2. Unsupervised Learning
3. Reinforcement Learning

In this project our primary focus will be on Reinforcement Learning. For a major part of the AI history, 
Reinforcement Learning has been a smaller player than Supervised Learning and Unsupervised Learning. So a lot of
basic terms and definitions in RL are motivated from them. Hence we will first begin by exploring these concepts.

.. toctree::
   :maxdepth: 1
   :caption: Pre-cursor