Wednesday, July 29, 2015

Deducing concepts


Suppose you need to find a rule and append new lines to the following array:







2 5 10 17 26 37 50
4 9 18 31 48 69 94
8 15 28 47 72 103 140
16 25 42 67 100 141 190

If you put the first row into iqsolver you will get an answer
Apply "-" on consecutive elements in [2, 5, 10, 17, 26, 37, 50] to get [3, 5, 7, 9, 11, 13]
  Apply "-" on consecutive elements in [3, 5, 7, 9, 11, 13] to get 2

The second row lead to a very similar solution:
Apply "-" on consecutive elements in [4, 9, 18, 31, 48, 69, 94] to get [5, 9, 13, 17, 21, 25]
  Apply "-" on consecutive elements in [5, 9, 13, 17, 21, 25] to get 4

The solutions differ however by parameters: the number which is the difference of the prime sequence is 2 in the first case and 4 in the second. There are also other hiden parameters: when creating a differential sequence from a given one - an information is lost about the value of the first element in the original sequence. I marked these transformation parameters in fuchsia for the original sequence and lime for the prime one. So if you extract them and put them along with the length of the original sequence you get all 4 parameters required to build the original sequence (just like you need parameters a and r to build an infinite geometric progression )

You may think about it as a procedure, which a programmer would create in order not to calculate these numbers herself:
[2,5,10,17,26,37,50] == double_minus_and_identity(2,2,3,7)
[4,9,18,31,48,69,94] == double_minus_and_identity(4,4,5,7)

But this double_minus_and_identity is a concept, which will be extracted by AI and applied to further sequences. Thus, a new table may be created with 4 columns - one for each parameters and number of rows matching number of original sequences:

2 2 3 7
4 4 5 7
6 8 7 7
8 16 9 7

When AI applies reasoning to the columns treating each as a separate series, it will not only conclude what are the parameters of next rows (10,32,11,7) and be able to add new row to the original arrays (32,43,64,95,136,187,248).

It will also be able to create a higher level concept. The concept (lets call it double_minus_and_identity_table) has 7 parameters (2 for each sequence in the first 3 columns and one for the last), however some of the parameters are equal. 1st and 3nd columns share the same difference (=2) which is quotient in the 2nd column. So maybe a 3-parameter (2, 3, 7) concept should be created? When you see a square (1-parameter) it may be treated as well as quadrilateral for which 4 lenghts and 1 angle should be stated. So AI should rather generate a few concept from this example and check if it can be applied to other cases or another question given by another user. And this may be called learning by experience because it will reach faster to concepts it is already familiar with. However, this may distract from learning new things. Experience may be an obstacle for fresh look.

In board games

The above described example is pretty simple, but from analysis of difference of boards of chess AI could deduce a concept of move, capture and promotion. Analysis of Go boards could lead to infering concepts of chains and liberties. It is however a problem how to find the right path among tree of possibilities, what to concentrate on. But this is a topic for another post.

No comments:

Post a Comment