After involving the assumptions, the next step is to generate patterns among the data. Develop such algorithms that can predict the future from already given data. There are certainly many ways by which it can be developed.
Hint: Already happening.
Know your system: Do you remember playing the shooting games where you try to attack one of your enemies, it tries to hide and also counter-attacks you. What exactly happening behind the scenes is that the programmer created that data point(your enemy) and it was given some actions along with conditions which it will follow in the game. So, our actions define the future actions of our enemy in the game. That is quite true in the real world. As there goes the quote:
Everything happens for a reason.
In our case, reasons are actually the present actions and they will affect what will happen. The above picture is from a famous game, GTA 5. This game simulates a whole new world where you can do almost anything. So, consider this, you’re offline, playing this game. There is no online counterpart and still, you’re getting attention from the gaming environment. If we bring the developers of the game, they can literally tell you what will happen in the next moment if we take any action. They are able to do it because they have designed this environment. So, they know everything. They can predict the future inside this game.
If we want to predict the future, the key element is to know the system as much as possible. Let’s focus on two ways of achieving such capability:
The old school human brain way: This is absolutely straight forward, Take ways that you know. I’m talking about simple decisions that we take in our daily life. We spend our lives predicting things. All that is used here is the logical human brain. Before machine learning came in, this is how everything used to work. If something happens then do this. In programming, it is known as conditional statements.
In this human brain way, we design algorithms that run on conditional statements, the output will be fairly dependent on the skills of the designer itself. Let’s try to predict the mood of a person the next morning using old school brain way. First, we will try to find out his triggers. What does he do first thing in the morning? What makes him sad? What makes him happy?
So, let’s consider we have found 10 triggers. Then we assign +1 if a trigger makes him happy otherwise -1. So, our algorithm will look something like this.
if( trigger one happens): +1 otherwise -1
if( trigger two happens): +1 otherwise -1
if( trigger three happens): +1 otherwise -1
if( trigger four happens): +1 otherwise -1
if( trigger ten happens): +1 otherwise -1
sum all values
if(final value is less than 5): sad otherwise happy
It is a simple logical approach. But did I consider everything? Are there just 10 triggers to affect him? Should all triggers have the same value?
There are tons of questions that we can’t answer. We can’t figure out everything ourselves. We will need something more intelligent and fast. That leads to our second capability.
Machine Intelligence: Now is the time when we can fairly say that machines are taking over human intelligence. Every day, new systems are developed that are replacing humans with their work. It says less about us but more about their capabilities. Machines have defeated world-class players in complicated games like Atari when the machine-learned the whole thing just when it started playing, with every step it learned. So, if we can’t consider every data point, find patterns among them, do machines can do that. Yes, they can do that.
If you want to know more about the neural network. Visit my other article: https://abhilash-maurya.medium.com/do-we-control-our-thought-process-or-them-hint-not-us-ca8e7d0fe4e4
Machine algorithms have become so advanced that they can tell just by watching a video that whether there’s a party happening or people are just beating each other. There are algorithms that are colorizing videos, making pictures dynamic, lip-reading, and yes, also playing hide n seek.
If we look at such capabilities, then yes it is possible to predict the future. Machines are doing such a good job by just looking at camera feeds. Imagine what will happen if we give them more modes of inputs.
The term of future prediction itself seems so hyped but if we take a system, try to break it down element by element and follow the correct process, it can be done. Depending on the problem, environment scope may be large, we might have to take large number of assumptions and we may also require high computation power but all of this can be achieved. Scale of problems that we are solving is expanding day by day. The thing we say future is just a moment that will become present and will be defined by some known and unknown variables. We are already predicting the future, we just have to get better at it.