Monday, 6 August 2018

Learning from World Wide Web

I am just gonna tell some bits of learning from huge data ( World Wide Web ), hopefully take to more methods to do it.

1. Incremental Learning
         As humans learn things from basic smaller things and build more complex things, so should machines learn. If we want Machine to understand what is fibonacci series, first it needs to know what are numbers, what is their precedence, what is addition, then we can calculate the sum of previous two numbers.

2. Visualization
        I think that machines can learn faster, if they learn by pictures. Like suppose i want to know what are numbers, we can simply represent it by dots. 1 is .  2 is .. 3 is ...   If i want to add two numbers 1 + 2 is simply .+.. = ...

3. Larger Set
       The greatest advantage of learning from World Wide Web is it has large data. Suppose i want to know what is "kiss", WWW gives all angles and all types of kisses.

4. Processed Information
      Again since World Wide Web gives all kinds of processed information, we don't need to recalculate it. What is Sin ( 90 ) + Cos ( 90 ) . You don't need to find what is Sin curve and Cos Curve or what is 90. World Wide Web simply gives you the result. We only need to find the threshold of number of Web Pages, the reliability of the Web pages considered, to find the result.

5. Augmenting the Results
     Suppose we want to calculate two parts of a formula and we know one part of the formula, we need to find the part we don't know and simply augment it with the first part to find the result.


.... More to come

Thursday, 21 September 2017

Simple beginning to Artificial Intelligence

Let's start the research of Artificial Intelligence with a simple beginning. The ultimate goal of this blog is to write ways to make machines think. Let's try to replicate how humans think.

Let's take examples of noughts and crosses, Chess ( which will be explained in the end) and find the common formula in a series of numbers.

The first thing we have to imagine is the steps to win a game without considering other's moves or to find a formula without thinking about the series of numbers in between beginning and end of a series.
Example.
In noughts and crosses, there is winning possibility in every move if you begin with. So, we can make any move.
In Series of numbers, assume 1, 8, 27, 64 is the series. On first iteration assume 1 and 64 are the only numbers with 2 numbers in between. Let us make a simple assumption that X*16 is the solution. So the series becomes 1, 16, 32 ,64.

The second consideration you have to make is how a move from opponent affects our victory. There are two things we have to consider here. First Remove all options (series of moves) that has become obsolete, because opponent  has made a move, which has stopped our chance of victory. That will reduce our victory set.




Example,
Since the opponent has put a nought in the centre, the possibility of winning in the crossed red line is eliminated.
In series of numbers, take the second number in the series and try to find a common formula for 1,8 and 64. Since we have got 8 as the second number in series, we eliminate possibilities like X*16
The second thing is check opponents plan. Check whether they are getting victory and put a compulsory check.


Example
Since the opponent has put two noughts in a row, you have no option other than putting a cross to check that.
In the series of numbers, we have removed X*16.

Third issue is planning ahead. We have to plan iterations ahead to both to find the obsolete chances and compulsory checks to their victory. The complexity and chances of winning a game increases as we increase the number of iterations.

Example,
In noughts and crosses, if we plan ahead of one or two iterations, victory can be got if no noughts are put in the space marked by red line.
In the series of numbers, we can include next number to calculate the formula in the series.

Coming to chess,
First, you have to plan a series of moves and target for the end victory using very fewer steps, assuming opponent plays exactly as you wish. The complexity of the method increases as we imagine more number of steps to gain victory.
Second, we will reduce our set of moves for victory based on others move, which may eliminate our options in our set. Next, we have to calculate opponents move, that may lead to their victory and check it beforehand.
Third, if we plan iterations ahead, complexity increases as the number of iterations but chances of winning increases on every iteartion.

This is a simple idea which mimics, human thinking. A professional player exactly thinks this way.