четвъртък, 31 януари 2013 г.

Comparison between the two definitions of AI

Dimiter Dobrev
Institute of Mathematics and Informatics
Bulgarian Academy of Sciences
1113 Sofia, Bulgaria


Two different definitions of the Artificial Intelligence concept have been proposed in papers [1] and [2]. The first definition is informal because it says that the programs that are cleverer than human are acknowledge as Artificial Intelligence. The second definition is formal because it avoids reference to the concept of ‘human’. The readers of papers [1] and [2] are left with the impression that both definitions are equivalent and the definition in [2] is simply a formal version of that in [1]. This paper will compare both definitions of Artificial Intelligence and will hopefully help for the understanding of the concept.

Keywords:  Artificial Intelligence, AI Definition.

What is the main idea?

The idea behind the definitions of Artificial Intelligence in [1, 2] is as follows. If a program is intelligent it would manage well in an arbitrary world. This is a version of the popular wisdom that the clever person can handle any job. Certainly, the clever person will manage not immediately but after some training (learning). 

Therefore, when a program is measured how it manages in a particular world, it should go through a certain period of training. Only when the training is over, we should assess how well the program is doing.

We can make an analogy with humans. The first eighteen years of human life are considered as a period of training, if we do wrong and even commit a crime, the punishment will be weaker, because it is believed that we are still on training. The training period with animals is usually shorter; this is usually associated with their shorter lives and the worse living conditions. The rule that is often true about animals is ‘Learn fast or be eaten!’.

How long is the training period and is it possible to say when exactly it is over?

Here comes the first difference between the definitions in [1] and [2]. The first definition supposes that life is infinite and there is enough time for training. This is to say, the training period is an arbitrary finite beginning of life, which is infinitely less than the whole life that is infinite.

The approach of the second definition is different. It assumes that life is limited and there is a parameter will be referred to as ‘the maximum length of life’. The assessment of intelligence is based on life – from its beginning to the end. The second definition is different with view of the training period, as well. There is no period of training with the second definition. The rule which is true is ‘Learn fast or be eaten’.

Why the period of training is zero with the second definition? Because we cannot say how long should be this period and when it will be completed. Therefore, it is convenient to assume that there is no such period.

Are both definitions equivalent?

It follows from the above that both definitions are not equivalent because the retarded program is Artificial Intelligence according to the first definition, however this is not true according to the second definition. Retarded is a program that needs nearly infinite time for training (i.e. its period of training is finite but in practice it is infinite). Examples for retarded programs are TD1 and TD2 in paper [2].

The retarded program does not match our idea of Artificial Intelligence. Our idea is to construct a robot that can sweep the floor and if the robot needs 1000 years to learn how to sweep, this would not work for us.

Are there other programs that formally satisfy the definition but do not match the idea of Artificial Intelligence? Yes, the extremely inefficient program is such a program, even if it satisfies both definitions. Paper [2] describes such a program as Trivial Decision 5. This program would work if we had an infinitely fast computer, as it makes nearly infinite number of steps (i.e. finite many but in practice infinite) in order to calculate only one step.

Both definitions define a set of programs. These sets should coincide in order to make the definitions equivalent. Therefore, both definitions are not equivalent and the example for this is the retarded program. 

There are two additional reasons why both definitions are not equivalent:

Firstly, the definition in [1] is informal and dependent on people. That is to say, it does not define a particular set but rather a sort of fuzzy one. We have said that we acknowledge for Artificial Intelligence these programs that are cleverer than human. The reasonable question to ask with that statement is: ‘Who is the man we compare with?’ A possible answer is that the program is cleverer than any human, however, this would not define the set of these programs in a unique manner. For example, if we define the chess-playing program like a program playing chess better than the world champion, there will be still programs that will play chess better than one particular world champion and worse than another. Therefore, a formal and an informal definition cannot be equivalent.

Secondly, the definition in [2] is dependent on several parameters. This is to say, that this is not the case of set of programs but rather a function that for different parameter values returns different sets of programs.

The assumption made in [2] is that such parameter values exist for which the set defined by the definition is not empty and the programs within that set match our idea of Artificial Intellect. 

Certainly, not all programs within that set match our idea. We have already mentioned the problem with the infinite ineffective program. Another problem that appears with the definition in [2] is the ‘cramming’ program. The problem is that in [2] it is assumed that the worlds we are interested in are finite in number. Therefore, a program can be created specially for these worlds. We come across the same problem with the candidate students – when people who have crammed all possible exam topics sit for the exam. Such people will manage and will pass the exam but they cannot solve any problem out of the range of the crammed exam topics. 

The assumption is that if the shortest and the most efficient program is taken out of the those that satisfy the definition, then it will match our idea of Artificial Intelligence. We should limit the programs both in length and in efficiency because the infinitely inefficient program is rather short, whereas the ‘cramming’ programs are rather efficient. The ‘cramming’ program is shorter than the Artificial Intellect for a small number of worlds; however the Artificial Intelligence is a shorter program than the ‘cramming’ one if the number of worlds is sufficiently great. 


The first parameter which the second definition depends on is the lifetime. Once we give up infinite life, then we should limit it and set a parameter indicating the life expectancy. To make it simple, the life in [2] has been fixed at 100 games, each one no longer than 1000 steps.

Giving up infinite life, we get rid of the retarded program. Another advantage is that it is no longer required that the worlds are without fatal errors. This requirement was important in [1] when we needed sufficient time for training, presuming that no fatal error is made that would ruin the whole life. This is to say, we can easily make mistakes as each one can be overcome and none is fatal.

Definition: Fatal error is a group of internal states of the world, such that when we enter this group we can no longer exit. If there is an exit, the error would not be fatal. Besides, the world in this group should be worse than that out of the group (i.e. the assessments made there are relatively lower). If the world in the group is not worse, then the fact that we happen to be there would not be a mistake.

Another possible definition of fatal error is the following. If we calculate for each moment of life what is the maximum anticipated success of life (what returns the Success function), provided we play (live) by the best possible strategy, from this moment onwards, then fatal error will be referred as a step after which this number is decreasing.

Having assumed that life is finite, it is not needed to assume that there are no fatal errors in the world, because our time for training is anyway limited. When life is finite, a common mistake can be equal to fatal, because time may not be sufficient to fix it.

Thus, it is natural to assume that life is finite and we are looking for a program that can manage well within certain lifetime and not with any lifetime. On the other hand, it is inconvenient that there are parameters included in our definition. It would be better to define the Artificial Intellect as a program independent of anything. That is one program, irrespectively of the anticipated lifetime.

However, life expectancy is an important parameter that influences the strategies. Let’s consider the human behavior in war time, natural disasters and other catastrophes. When life expectancy becomes shorter, the behavior of people significantly changes. This is expressed mainly in the tendency to take greater risks. You may also notice that the young people are braver than the older. A possible explanation of this observation is that the young are more willing to experiment and take risks while the adults prefer the stable and the secure because they estimate that there is no time for experimenting. Thus, we can say that life expectancy definitely influences behavior of people and their life strategies.   

Arbitrary world

The first definition requires for the Artificial Intellect to manage as good as human in an arbitrary world. This requirement is so strong that it appears that there is no program that can meet the requirement and the set of programs satisfying the definition may prove to be empty. 

Let’s try to create a world which is too complex for any program to manage but not for the human. Imagine a world where robots are not liked. In such world, if you are recognized as a robot you immediately score low. However, if you are considered human you score high. It seems that this is the world where humans will do better than robots. Let’s remember the definition of a world; there are two functions (World and View) defining the world. They are absolutely arbitrary functions and we can presume that they return success when there is human living in the world and respectively lack of success in the case of a robot. Still, the world is not God and there is no way to know if its inhabitant is human or robot. The world will know who is who based on the acts of the opponent. That is, if the robot behaves as human and acts appropriately then the world will be deceived and will accept it as human. In this case, the program is required to play the imitation game. The same game was proposed by Turing as test for Intelligence. It is to be concluded that if a program meets the definition in [1], then it is satisfactory to the Turing test, not immediately but after some time of training.

Question: Is it possible that the world recognizes the robot (while it is still on training and has not started to act like a man) and starts scoring low from that first moment of recognition till infinity? The answer is: No, because only worlds without fatal errors are considered and this world does not meet this requirement.

Does that mean that the definition in [1] is equivalent to the Turing test? Not if we train the program in [1] to pretend being a human, then it will satisfy the Turing test but only after training. Is it possible that the program satisfying the Turing test to be trained to manage in an arbitrary world? The answer is: rather not. If the program can pretend to be human, then it can be trained. However, it should rather pretend to be stupid and hide its intelligence otherwise, it will betray the fact that it is a robot and not human. If it is forbidden for the examiner to punish the excessive intelligence, then the definition in [1] and the Turing test will be equivalent.

Impossible World

Is it possible that the world is so complex that there is no program that can understand it? Yes, it is. For example, let the world generate an infinite row of zeros and ones. The Artificial Intelligence has been given a task to have a guess what comes next (zero or one). Let the function describing this infinite row is not computable. Then, there is no way for the program to calculate and make a guess which number will follow. This is true about the human, as well. Nevertheless, the program and the human will find different dependencies. For instance, such that the zeros are more than the instances of having one, that it is more likely that one comes after zero than zero and etc.

It is not necessary that the Artificial Intelligence should understand the world at 100 %. What is important is to understand the world better than the human.

IQ (Intelligence Quotient)

The first definition has compared the intelligence of the program with that of human. The second definition cannot allow making the comparison with man (because we want the definition to be formal). Therefore, it is necessary to introduce an independent assessment of IQ by which we could define the Artificial Intelligence. We will say that for AI we acknowledge those programs whose IQ is above certain value. This value was decided to be 0.7 in [2] but this choice has been largely arbitrary. It is rather correct to say that certain IQ exists and the programs more intelligent than this level are acknowledged as Artificial Intelligence.   

We introduce the function Success which returns a number in the interval [0, 1] for each particular life. This number makes assessment of the device success in the particular life. Afterwards, the IQ is calculated selecting a set of test worlds, running the program to live a life in each one of these worlds and calculating the average success of the program in all its tested lives.

Thus, the IQ is the average value of Success function calculated based on the set of tested worlds.

World Complexity

Another substantial difference between both definitions is that the first considers all possible worlds; whereas the second limits the sets of the worlds to a finite number of tested worlds (the assumption is that the tested world is computable with fixed level of complexity). This fixed level of complexity is the next parameter of the definition.

Why did we select the set of the tested worlds to be what it is?

Something similar has been done in paper [1]. It has proposed to prepare a test consisting of finite or countable number of tested worlds. The idea is to acknowledge as Artificial Intelligence the program that can manage in all these worlds. Paper [1] has proposed that  these worlds are prepared by human but we want to be maximum formal in paper [2] and therefore we will define the set of tested worlds in such a way that it would not depend on human’s choice. The other difference is that in [1] we want the program to pass all exams, i.e. to manage in all tested worlds, whereas in [2] we want the average success (i.e. IQ) to be greater than 0.7. Why we want to have less in [2] than in [1]? Because if the problems are preliminarily prepared we would want that the program will solve them all, but if the problems are randomly generated then there will be such that are not solvable and therefore we cannot rely that the program will do them all. 

What will be the set of worlds that we will use for the calculation of the IQ of an arbitrary program?

The first natural possibility is to take the set of all worlds. This set is infinite, even uncountable and seems too large (it is not clear what should be the weight that different worlds will participate with). The first thing we find is that many of the worlds are indistinguishable  (i.e. their tree of the world is equal). That’s why we resort to the next idea that is to take the quotient set i.e. the set of all possible trees of the world and make it our set of tested worlds. This set is again uncountable, but considering the fact that we limited the lifetime, we see that the set of these trees is even finite (more precisely, the set of the trees of determined worlds is finite. It is finite with the undetermined worlds, as well, because the branches are equally probable to happen – see the definition of TM_W in [2]).

This set is not suitable (although it is finite) because anything is possible in such a case! How will the world of the next step continue to be? It may continue as it likes to. Anything is possible, indeed, but far from anything is likely to happen. If we accept this set as a tested one, then any continuation will be equally probable and what has happened so far will be of no importance. This totally contradicts our idea of Artificial Intelligence which says that the device gathers experience and is on training. Thus, what has happened so far is important.

This is the time to apply the principle known as ‘The Occam’s razor’ stating that the simpler model is more probable than the complex one. Therefore, the simpler world is more probable than the complex one. If we are to discuss the complexity of the world, then we would introduce a description of the world and define the complexity of the world as the length of the shortest possible description.

We have used the Turing’s machines in [2] to describe the worlds. This is not the most suitable model in case you try to make a real program which satisfies the definition. However, it works just as a theoretical model of computability. Still, we do not want to be limited within the set of the determined worlds and this is why we have introduced undetermined Turing’s machines. Thus, our tested worlds are the computable worlds generated by the undetermined Turing’s machines.

The next suggestion is to select the set of tested worlds to be the set of the undetermined Turing’s machines taking on board all such machines regardless of their size. Could we chose a particular size and do only with these machines? The answer is: rather, yes.  

If we take all Turing’s machines, then we should give them different weights. As there is no way that infinitely many machines are of equal weight and the sum of their weights to be one. Having decided what will be the weights of the different machines, there are two options to go for: either the average size (length) of the machines is a particular number, or the average size is infinity (depending on the weights we have finally chosen). If the average size is finite, then we can assume that instead of having all Turing’s machines, only those with average size will be the tested ones. This is not same but is almost the same. If the average size is infinity, then there is an N and all machines with greater size would almost make no influence. Therefore, is we chose an e that seems to us small enough to be ignored, then such N exists that the machines longer than N will influence less than e of the average success. Then we can decide that N is the size of the tested machines and the result will be closer to that which would get at, if we consider all machines with their respective weights.

Next question: If we have decided on a particular N, should our tested machines be these of size smaller or equal to N or those with the size of N exactly. The answer is: there is no need to include the shorter machines because each machine with size N-1 has many equivalent machines with size N (because we can add a state that is not necessary).

So far, so good. We have decided that the tested worlds will be the computable worlds that are computable by an undetermined Turing’s machine having the size of N. This makes the next parameter that our definition depends on. We decided on a particular value of 20 for this parameter in [2]. We decide that all tested machines will participate with equal weights (this is possible because the set is finite).

Does the set chosen in this way correspond to the principle of Occam? Are the simpler worlds more probable than the complex ones? The answer is: yes. Indeed, all machines participate with equal weights but the simpler machines have a great number of equivalent machines (such that compute the same world), whereas there is not a single equivalent machine for the most complex ones (certainly, of the same complexity, in this case with complexity value of 20). This is to say that the simpler the world is, the more machines with size 20 can compute it and the more this world would influence the average value of Success function. We refer to this average value as IQ. 

Which is the suitable model?

We have already said that the Turing’s machines are not the suitable model to describe the world. We would like to have simple dependencies in the world that are on the surface and easy to be discovered, whereas more and more complex dependencies to be discovered the deeper we go. The Turing’s machine is a dependence that may appear to be rather complex but once you understand it, you have understood the world. The case of the undetermined machines is better because the randomness is an infinitely complex dependence. Therefore, we will never understand this dependence because once we understand it; it will become pseudorandomness (take the example of pseudorandom numbers generated by the computer). 

Is it possible that a complex Turing’s machine is partially described by means of simpler dependencies? This is possible but it is not typical for the Turing’s machine model. In this model usually, you either understand the whole world or you do not understand anything.  

If we are looking for a world model of the type of а determined machine, then very soon (i.e. after very short life experience) it would turn out that the first Turing’s machine corresponding to that life experience is so complex that virtually it is impossible to find it. The advantage of the undetermined machines is that we will always be able to find such world model (no matter how long is the life experience). It is another point how adequate is this model and how good it will work for us, because the undetermined machine does not say what will happen with the next step but it rather says that this or that can happen. In the best case, it provides the probability of having this or that happening. 

Well, which is the suitable model of the world? We should think of the world as a union of different factors that may be related but are largely independent. Certainly, we will need a better model if we want to create a particular program satisfying the definition of Artificial Intellect, but this is not important for definition itself.

Work of other researchers

The occasion to write this paper is publication [5] where two scientists from Switzerland have tried to generalize the definitions in [1, 2]. Their idea was to get rid of the parameters, which the definition in [2] depends on and to get to a new concept of IQ independent of any parameters.

They have removed the limitation on lifetime and have assumed that life is infinite. In their representation the beginning of life is the most important part of life. They assume that the rewards become lighter at any next step having been multiplied by the coefficient of discount.

Surely, the coefficient of discount is a parameter, as well, and they have simply replaced one parameter with another. What is more, their presentation is contrary to the idea that the beginning of life is not important. What is important is what happens having the program already been trained. Their presentation assumes the beginning of life as the most important part. The life is so much discounted that from a moment onwards, in practice, it is not important what the program is doing. Certainly, there is a moment (the maximum length of life) in [2] from which onwards there is no point what the program is doing, but at least until that moment all rewards are of equal importance. This is to say, that ‘it runs, runs and stops’ in our case, whereas ‘it fades, fades, fades and like this to infinity’ in their case.
We have to acknowledge that the authors of [5] have understood that the coefficient of discount is a parameter which their definition depends on and have, therefore, proposed a second version. It would have been better if the second version have not been proposed, at all, as it has resulted in meaningless outcome compromising the whole paper. More, about the second version, has been written further below (striking mistakes 3 and 4).  

The other parameter, that the authors of [5] have tried to get rid of, is the world complexity. We have decided on particular complexity (i.e. number of states of the Turing’s machine which generates the world). They have preferred to sum up all complexities having used a coefficient of discount 1/2. This results in having average complexity of 2 in their case (this parameter has been picked to be 20 in our case). This is to say, that if they want to allow for higher values of their average complexity, they will have to replace the number 1/2 with a different parameter. Therefore, they replace one parameter with another, again.

They get rid of the parameter 0.7 by omitting to say what Artificial Intelligence is. They say what is IQ but they do not say how big the quotient should be in order to acknowledge a program as Artificial Intelligence.

Unfortunately, our Swiss colleagues have omitted to quote the Bulgarian source. Another problem is the fact that they have not managed to understand many details of the original papers and, therefore, there are many mistakes and wrong things in the resultant text.

Striking mistakes

These are six of the most striking mistakes made in [5].

1. Their paper has written that the world is computable according to the thesis of Church. It is true that it has been written in [1] that it follows from the thesis of Church that the Artificial Intellect is a program but not that the world is a program, too. Is the world computable or not, is it determined or not, these are questions whose answers we do not know and will never know. This is something that cannot be verified because there is no such experiment that can result in the answer of these questions. (The question is the world determined has been considered in details in [3]. The question is the world computable is analogical).

2. They have defined the IQ in such a way that it is infinity for each program. It was not envisaged that the number of programs grows exponentially with the increase of their length. This can be regarded as an oversight mistake, moreover that it is clear how it can be fixed. (in their case, they sum up the programs’ success achieved in different lives, i.e. the values of function Success. This sum does not require that each addend is multiplied by 1/2 raised to the power of the complexity degree, but would rather take the average for the respective complexity and multiply it by the same). It has been said above that the average complexity of the world in [5] is 2, having assumed that this mistake has been fixed. If what has been written remains unchanged, then the average complexity is infinity and the sum that we refer to as IQ is infinity, too. Thus, if the mistake is not fixed, the IQ concept becomes meaningless.

3. The most serious problem in [5] is the second version that was proposed in order to avoid the coefficient of discount. The set of worlds, in this version, is different and respectively the Success function is different (this function that says for each life what success has been achieved in this life).
Let’s summaries the outcome in [1], [2] and both versions in [5].

An infinite life in a set of worlds without fatal errors is considered in [1]. It is assumed that life is finite in [2]. The first version proposed in [5] describes life as infinite but fading which is the same, as if the life is finite. The second version proposed in [5] assumes infinite life in a world where all errors are fatal. The problem, in this case, is not that there could be a fatal error (the fatal errors do not interfere in [2] and will not interfere in this case, as well). The problem is that all errors are fatal. This is to say, that there are not fixable errors. Humans do not learn from their fatal errors, perhaps, they have learned from the fatal errors of others but not from their own. That’s why this concept contradicts the idea of learning.     

The Success function is monotonically increasing in the second version proposed in [5]. It was set to be the sum of all rewards which are numbers in the interval [0, 1]. It is natural to consider that the Success function can be increasing and decreasing during the lifetime. It can be considered as a fixable mistake, when it starts to decrease. The authors of [5] have preferred to have this function monotonically increasing which means that the device cannot make fixable errors. The only possible mistake is of the type ‘lost profits’ and this mistake is always fatal because once the profits are lost there is no way to bring them back. Besides, there is no feedback with the lost profits. Thus, when the Success function changes, the device will know but there is no way to know when the profits are lost. Eventually, it may know in future, but life is infinite and therefore, it will not know even in future. The device will always hope that the profits are not lost and will soon emerge.

4. The decision of the authors of [5] to limit the sum of the rewards is very strange and illogical. It reminds me of one of my teachers, for who the students were telling that he had a limit on the A grades and you should be among the first to be examined because the A grades will end. No matter how much knowledge you demonstrate if you are at the end of the exam you will not be A-graded because of his limitation.

This limitation is imposed, in their case, so that the Success function will be in the interval [0, 1]. Instead of distorting the world in such a horrible way, it would be better if the Success function is the arithmetical mean of the rewards (as it was done in [2]) instead of being the sum of the rewards. This would have made the Success function being in the interval [0, 1], and it would not be monotonically increasing.

The conclusion is that the authors of [5] use worlds where training is impossible in their second version of the IQ definition. The success of the device in such a world depends solely on being lucky, however when there are many worlds the luck ceases to act. Thus, all programs are equally intelligent.

The question to ask is whether the authors of [5] have managed to understand that both [1] and [2] consider a device that is being trained and will achieve good success as a result of the training, or they rather believe that the device was born trained. As a matter of fact, the beginning of [5] says that the device should be given sufficient time for training, however, later they propose two versions of the definition which contradict this idea (especially the second version).

It is true that with the definition of Turing, there is a device that was born trained, but this concerns a particular world. The device can be born trained for a particular world but there is no way that it was born trained for any world.

5. We can consider for a mistake the fact that the definition of a world in [5] has been changed. The world in [1] has got a set of internal states and a function indicating how to transfer from one state to another. As you know, there is a tree of the world corresponding to each world. It was the tree of the world that has been regarded for the definition of the world in [5]. This is the same as if we do not consider functions in mathematics but only graphs of functions. We can somewhat justify the authors of [5] because they make their attempt to improve somehow the definition of AI, however their change implies that they have not understood our main idea. We suppose that the world has got some structure and the device tries to understand that structure. They deny the structure of the world and this is a mistake.

They act analogically when they define the device, as well. The device is a program for us, whereas for them it is a strategy. Certainly, there is a strategy corresponding to each program (but not vice versa). Still, to consider the device as a strategy is a mistake, as thus we presume that it has not got internal states, i.e. no memory. This mistake is very common among researchers working in the area of AI. Many of them look for the AI in the set of the functions meaning, that for them, AI is a device without memory. The strategy is also a function, whose input argument is the entire life experience. At first sight, it looks as if we do not need the memory if we have available the entire life experience, but this is not true.

Imagine, that at some point (based of your whole life experience) you decide to go to the fridge and grab a beer. Ten seconds later, you see that you are on your way to the fridge but you do not know if you are going to get a beer or milk. It is true that you can rely on your whole life experience but this will not answer the question. If you were told to fetch a beer, this can be extracted from your life experience, but if you have, yourself, decided to grab a beer, you would not remember it (because you have no memory) and there is no way that you extract it out of the life experience. This is to say, the memory is needed. We have to note that it is absurd that the device will make a decision at any step based on its whole life experience (because this is a huge amount of information). It is more logical to assume that it decides based on its internal state and the immediate input received at the last step.  

6. The last comment to make with reference to [5] is the strange reasoning whether the rewarding is to be part of the world or part of the device. The rewarding has been confidently treated as part of the world at the beginning of [5] and the reasoning about its belonging at the end of the paper is rather odd. The authors answer this question themselves saying that if the students are allowed to mark their knowledge themselves they will all have excellent results.  

Nevertheless, the confusion of Shane Legg and Marcus Hutter about the belonging of the rewards is reasonable. They ask themselves the question, if the rewards, in the case of human, is the feeling of pain and pleasure (with food, sex, music and other pleasure sources). The answer we would give is that human has not built-in reward. The success with human is evaluated by the world through the evolution. According to the evolution meaning, these who survive in the world are those who manage to survive and to reproduce. Human does not receive the evolution meaning by default. Actually, humans do never receive it. If one has lived in compliance with the evaluation meaning, that he is not aware about, then he will survive long enough and will be inherited in the next generation. This is the reason why people are looking for the meaning of life all their lives (they are looking for it, because they do not know it). As long as the feeling of pain and pleasure are concerned, this is not the meaning of life but an instinct. Thus, humans are born with some knowledge. They instinctively know that pain is bad, whereas pleasure is good. These instincts should not be trusted blindly. For example, the feeling of pain when the dentist pulls a tooth is misinform (as far as the dentist pulls the right tooth, of course). The bitter taste in food is instinctively perceived as bad but with time people get to like the taste of the coffee and the beer, for example. The feeling of pleasure is also often misinform.  

Despite all the remarks we have made, the papers of Shane Legg and Marcus Hutter are very valuable to us, because they are the first to acknowledge the definitions in [1, 2]. Furthermore, the analysis of the mistakes made by our Swiss colleagues is also useful because it indicates what has not been explained sufficiently well. It is obvious that Shane Legg and Marcus Hutter have done serious work on this subject and it was useful to us to study their experience and the attempt to improve our definition. Where they have not understood the definitions of [1, 2], this is our fault, as we seem to have poorly explained, before. This paper was prepared on the basis of this analysis and we hope that it will help them and other researchers working in the field of Artificial Intelligence.  


I want to thank professor Dimiter Skordev and professor Tinko Tinchev for their comments and advice to me regarding this paper. Furthermore, I would like to thank profession Skordev that he challenged me at a time to write the definition [2] saying the following regarding definition [1]: ‘This definition is not formal, at all. You claim that it can be formalized but what is not clear is how it can be done!’ This was a constructive criticism and its result was definition [2].


[1] Dobrev D. D. AI - What is this. In: PC Magazine - Bulgaria, November'2000, pp.12-13 (www.dobrev.com/AI/definition.html).
[2] Dobrev D. D. Formal Definition of Artificial Intelligence. In: International Journal "Information Theories & Applications", vol.12, Number 3, 2005, pp.277-285. (www.dobrev.com/AI/).
[3] Dobrev D. D. AI - How does it cope in an arbitrary world. In: PC Magazine - Bulgaria, February'2001, pp.12-13 (www.dobrev.com/AI/).
[4] S. Legg and M. Hutter. A Universal Measure of Intelligence for Artificial Agents, In
Proc. 21st International Joint Conf. on Artificial Intelligence (IJCAI-2005), pages
1509–1510, Edinburgh, 2005.
[5] S. Legg and M. Hutter. A formal measure of machine intelligence. In Proc. 15th Annual Machine Learning Conference of Belgium and The Netherlands (Benelearn'06), pages 73–80, Ghent, 2006.
[6] S. Legg and M. Hutter. Universal Intelligence: A Definition of Machine Intelligence, Minds & Machines, 17:4 (2007) pages 391-444.

четвъртък, 17 януари 2013 г.

Сравнение между двете дефиниции на Изкуствен Интелект

Сравнение между двете дефиниции на Изкуствен Интелект

Dimiter Dobrev
Institute of Mathematics and Informatics
Bulgarian Academy of Sciences
Acad. G. Bonchev Str., Bl. 8,
1113 Sofia, Bulgaria


В статиите [1] и [2] са предложени две различни дефиниции на понятието Изкуствен Интелект. Първата дефиниция е неформална, защото в нея се казва, че за изкуствен интелект признаваме тези програми, които са по-умни от човек. Втората дефиниция е формална благодарение на това, че избягва позоваването на понятието „човек“. Читателят прочел статиите [1] и [2] остава с впечатлението, че тези две дефиниции са еквивалентни и че дефиницията от [2] е просто формален вариант на тази от [1]. В тази статия ще сравним двете дефиниции на Изкуствен Интелект, което ще помогне за разбирането на това понятие.

Ключови думи: Artificial Intelligence, AI Definition.

Каква е основната идея?

Идеята, която стои зад дефинициите на Изкуствен Интелект от [1, 2]  е следната: Ако една програма е интелигента, то тя би се справила добре в произволен свят. Това е вариант на народната мъдрост, че умният човек може да се справи с всяка професия. Разбира се, умният човек ще се справи, но не веднага, а чак след като премине известно обучение.

Затова когато оценяваме една програма, как се справя в един конкретен свят, трябва да й дадем известен период за обучение и чак след като обучението е приключило да оценим доколко добре тази програма се справя.

Можем да направим аналогия с хората. При нас първите 18 години се смята, че сме в период на обучение и дори да извършим престъпление, ще получим по-малко наказание, именно защото се смята, че още не сме се обучили. При животните периода на обучение обикновено е по-кратък, което често е свързано с по-краткия им живот и по-тежките условия, в които те живеят. При животните често валидно е правилото: „Учи се бързо или ще бъдеш изяден!“

Колко дълъг е периода на обучение и може ли да се каже кога точно този период свършва?

Тук идва първата разлика между дефинициите от [1] и [2]. Първата дефиниция предполага, че живота е безкраен и време за учене има достатъчно. Тоест, периода за обучение е произволно крайно начало на живота, което е безкрайно по-малко от целия живот, който е безкраен.

При втората дефиниция подхода е различен. Там се предполага, че живота е ограничен и че има един параметър, който ще наречем „максимална дължина на живота“. Оценката на интелигентността се прави на базата на живота от началото му до края. При втората дефиниция има разлика и в периода за обучение. Тук такъв период не се предвижда. Тоест, в сила е правилото: „Учи се бързо или ще бъдеш изяден!“

Защо при втората дефиниция дължината на периода за обучение е нула? Защото не можем да кажем колко дълъг трябва да е този период и кога точно свършва той и затова, най-удобно е да приемем, че нямаме такъв период.

Еквивалентни ли са двете дефиниции?

От горното следва, че двете дефиниции не са еквивалентни, защото бавно развиващата се програма е Изкуствен Интелект според първата дефиниция и не е според втората. Бавно развиваща се ще наричаме такава програма, която има нужда от почти безкрайно дълго време за обучение (тоест, времето й за обучение е крайно, но на практика е безкрайно). Пример за бавно развиваща се програма са TD1 и TD2 от [2].

Бавно развиващата се програма всъщност не отговаря на нашата идея за Изкуствен Интелект, защото нашата цел е да конструираме робот, който да може да измете пода и ако на този робот ще са му нужни 1000 години, за да се научи да мете, то на нас това не ни върши работа.

Има ли други програми, които формално да удовлетворяват дефиницията, но да не отговарят на идеята ни за Изкуствен Интелект? Да, безкрайно неефективната програма също не ни върши работа, макар формално да удовлетворява и първата и втората дефиниция. В [2] тази програма е описана като Trivial Decision 5. Тази програма би работила, ако разполагахме с безкрайно бърз компютър, защото тя за изчисляването на една стъпка прави почти безбройно много стъпки (тоест крайно много, но на практика безкрайно).

Проблемът идва от това, че при дефиницията на Изкуствен Интелект ние определяме програма, без да поставяме никакво изискване за нейната ефективност.

Двете дефиниции определят множества от програми, които ги удовлетворяват. За да бъдат дефинициите еквивалентни, трябва тези множества да съвпадат. Следователно двете дефиниции не са еквивалентни и пример за това е бавно развиващата се програма.

Има още две причини, поради които двете дефиниции не са еквивалентни:

Първо: Дефиницията от [1] е неформална и зависи от хората. Тоест, тя не определя едно конкретно множество, а по-скоро нещо като размито множество. Казваме, че за Изкуствен Интелект приемаме програмите, които са по-умни от човек и тук естествено изниква въпросът; „Кой е човекът с когото сравняваме?“ Можем да кажем, че искаме да е по-умна от всеки човек, но това пак не определя множеството на тези програми еднозначно. Например, ако дефинираме програма играеща шах, като програмата която играе по-добре от световния шампион, то пак ще има програми които играят по-добре от един световен шампион и по-зле от друг. Тоест, една формална и една неформална дефиниция няма как да са напълно еквивалентни.

Второ: Дефиницията от [2] зависи от няколко параметъра. Тоест, не става дума за множество от програми, а за функция, която при различните стойности на параметрите връща различни множества от програми.

Предположението, което се прави в [2] е, че съществуват такива стойности на параметрите, за които множеството определено от дефиницията не е празното и програмите, които са в това множество отговарят на идеята ни за Изкуствен Интелект.

Разбира се, не всички програми в това множество отговарят на тази наша идея. Вече споменахме за проблема с безкрайно неефективната програма. Друг проблем, който се появява при дефиницията от [2] това е програмата „зубрач“. Проблемът е, че при [2] се предполага, че интересуващите ни светове са краен брой. Следователно може да се напише програма, която да е специално за тези светове. Същият проблем имаме на кандидат студентските изпити, където се явяват хора зазубрили всички възможни теми, които могат да се паднат на изпита. Тези хора успяват да си вземат изпита, но те не могат да решат никоя задача, която е извън кръга на зазубрените теми.

Предположението е, че ако се вземе най-късата и ефективна програма от множеството на програмите удовлетворяващи дефиницията, то тя ще отговаря на идеята ни за Изкуствен Интелект. Трябва да ограничим и по дължина и по ефективност, защото безкрайно неефективната програма е доста къса, а програмите „зубрачи“ са доста ефективни. За малък брой светове програмата „зубрач“ е по-къса от Изкуствения Интелект, но за достатъчно голям брой светове програмата Изкуствения Интелект ще е по-къса от програмата „зубрач“.

Продължителност на живота

Първият параметър, от който зависи втората дефиниция е продължителността на живота. Щом се отказваме от безкрайния живот, следователно живота трябва да е ограничен и да имаме параметър, който ни казва каква е очакваната продължителност на живота. За по-просто в [2] живота е фиксиран на 100 игри, всяка от които е не по-дълга от 1000 стъпки.

Като се отказваме от безкрайния живот се отърваваме от бавно развиващата се програма. Друго предимство е, че отпада изискването световете да са без фатални грешки. В [1] това изискване беше важно, защото за да може да имаме достатъчно време за обучение, трябва да предполагаме, че няма опасност да допуснем фатална грешка, която да съсипе целия ни живот. Тоест, можем спокойно да си грешим, всяка грешка е поправима и никоя не е фатална.

Дефиниция: Фатална грешка наричаме група от вътрешни състояния на света, в която група, ако попаднем, повече да не можем да излезем. Ако може да се излезе, то грешката не би била фатална. Освен това света в тази група трябва да е по-лош отколкото извън групата (т.е. оценките, които се получават там да са относително по-ниски). Ако света в групата не е по-лош, то тогава попадането ни там няма да е грешка.

Друга възможна дефиниция на фатална грешка е следната. Ако сметнем за всеки момент от живота, какъв е максималния очакван успех от този живот (това което връща функцията Success), при условие, че оттук нататък играем (живеем) по най-добрата възможна стратегия, тогава фатална грешка ще наричаме стъпка, след която това число намалява.

Когато сме предположили, че живота е краен, няма нужда да предполагаме, че в света няма фатални грешки, защото времето ни за обучение, така или иначе е ограничено. Когато живота е краен, една обикновена грешка може да бъде равносилна на фатална, защото може да нямаме достатъчно време, за да я поправим.

Тоест, съвсем естествено е предположението, че живота е краен и че търсим програма която би се справила добре при конкретна продължителност на живота, а не при произволно дълъг живот. От друга страна, неприятно е, че в нашата дефиниция участват параметри. Би било по-добре да дефинираме Изкуствения Интелект, като програма, която да не зависи от нищо. Тоест, една програма, независимо от това колко дълъг се очаква да бъде живота.

Въпреки всичко, очакваната продължителност на живота е съществен параметър, който влияе на стратегиите. Вижте какво е поведението на хората по време война, природни бедствия и други катаклизми. Когато очакваната продължителност на живота се скъси, значително се променя и поведението на хората. Това се изразява най-вече в склонността от поемането на по-големи рискове. Също така можете да забележите, че младите хора са много по-смели от възрастните. Едно възможно обяснение на това е, че младите са по-склонни да експериментират и да поемат рискове, докато възрастните предпочитат да заложат на провереното и сигурното, защото преценяват, че няма за кога тепърва да експериментират. Тоест, очакваната продължителност на живота, определено влияе на поведението на хората и на техните жизнени стратегии.

Произволен свят

При първата дефиниция имаме изискването в произволен свят Изкуствения Интелект да се справя не по-зле от човек. Това изискване е толкова силно, че изглежда сякаш никоя програма няма да може да го изпълни и че множеството на програмите удовлетворяващи дефиницията може да се окаже празното.

Да видим, можем ли да конструираме свят, който да е прекалено сложен, за която и да е програма, но да не е сложен за човек. Да си представим един свят, в който роботите не ги обичат. В този свят, познаят ли че си робот и веднага ти дават слаба оценка. Ако решат, че си човек, получаваш положителна оценка. Изглежда сякаш, че това е светът, в който хората ще се справят по-добре от роботите. Да си припомним каква беше дефиницията на свят. Там имаше две функции (World и View), които определяха света. Това са абсолютно произволни функции и можем да предполагаме, че те връщат успех когато в света се подвизава човек и неуспех, когато вътре имаме робот. Все пак, света не е Господ и няма откъде да знае дали неговия обитател е човек или робот. Светът трябва да го разбере това на базата на действията на опонента. Тоест, ако робота се държи като човек и ако се преструва достатъчно умело, то света ще бъде излъган и ще го приеме за човек. Тоест, в този случай изискването към програмата е да може да играе имитационната игра. Същата тази игра беше предложена от Тюринг като тест за интелигентност. Излиза, че ако една програма удовлетворява дефиницията от [1], то тя удовлетворява и теста на Тюринг, но не веднага, разбира се, а след като се пообучи малко.

Въпрос: Може ли светът да разбере, че срещу него има робот, (още докато робота не се е обучил и не е започнал да се преструва на човек, достатъчно умело) и от този момент нататък да започне да дава лоши оценки и така до безкрайност? Отговорът е: Не, защото в света няма фатални грешки.

Значи ли това, че дефиницията от [1] е еквивалентна на теста на Тюринг? Не, ако обучим програмата от [1] да се прави на човек, то тя ще удовлетвори теста на Тюринг, но това ще стане чак след обучение. Може ли програмата удовлетворяваща теста на Тюринг да бъде обучена да се справи в произволен свят. Отговорът е: По-скоро не. Щом тази програма може да се прави на човек, значи може да се обучава, но тя трябва да се прави на тъпа, защото ако покаже колко е интелигента, ще се издаде, че не е човек, а робот. Ако забраним на изпитващия да наказва прекалената интелигентност, то дефиницията от [1] и теста на Тюринг ще бъдат еквивалентни.

Невъзможен свят

Може ли светът да е толкова сложен, че никоя програма да не може да го разбере? Да, може. Нека например светът да генерира една безкрайна редица от нули и единици и целта на Изкуствения Интелект е да познае какво следва (нула или едно). Нека функцията, която описва тази безкрайна редица да не е изчислима. Тогава няма как програмата да изчисли и да познае кое ще е следващото число, но същото важи и за човека. Въпреки това, програмата и човека ще открият различни зависимости. Например, че нулите са повече от единиците, че след нула е по-вероятно да се появи единица отколкото нула и т.н.

Не е необходимо Изкуствения Интелект да разбере света на 100%. Важното е да го разбере по-добре от човека.

Коефициент на интелигентност

В първата дефиниция сравнявахме интелигентността на програмата с интелигентността на човек. Във втората дефиниция не можем да си позволим да използваме сравнение с човек (защото искаме дефиницията да е формална.) Следователно нужно е да въведем една независима оценка на коефициента на интелигентност и чрез тази оценка да дефинираме Изкуствен Интелект като кажем, че за такъв признаваме тези програми, чиито коефициент на интелигентност е над определена стойност. В [2] избрахме тази стойност да бъде 0.7, но този избор е в голяма степен произволен. По-скоро, казва се, че съществува някакъв коефициент на интелигентност и програмите по-интелигентни от това ниво могат да бъдат признати за Изкуствен Интелект.

Въвеждаме функцията Success, която за всеки конкретен живот връща число в интервала [0, 1] и това число оценява успеха на устройството в конкретния живот. След това коефициента на интелигентност се изчислява, като се избере множество от тестови светове, пуска се програмата да изживее по един живот във всеки от тези светове и се изчислява средния успех на програмата във всичките тестови живота.

Тоест, коефициента на интелигентност е средната стойност на функцията Success изчислено за множеството на тестовите светове.

Сложност на света

Друга съществена разлика между двете дефиниции е, че в първата се разглеждат всички възможни светове, а във втората множеството на световете е ограничено до краен брой тестови светове (предполага се че тестовия свят е изчислим с фиксирана сложност). Тази фиксирана сложност е следващия параметър, от който зависи дефиницията.

Защо избрахме множеството на тестовите светове да бъде именно това?

В [1] се прави нещо подобно. Там се предлага да се подготви тест състоящ се от краен или изброим брой тестови светове. Идеята е, програмата, която може да се справи с всичките тези светове да бъде призната за Изкуствен Интелект. В [1] се предлага тестовите светове да са подготвени от човек, а в [2] искаме да сме максимално формални, поради което ще определим множеството от тестовите светове, така че то да не зависи от човешкия избор. Друга разлика е, че в [1] искаме програмата да издържи всички изпити, т.е. да се справи във всички тестови светове, докато в [2] искаме средния успех (т.е. коефициента на интелигентност) да е по-голям от 0.7. Защо в [2] искаме по-малко отколкото в [1]? Защото ако задачите са предварително подготвени можем да искаме програмата да ги реши всичките, но ако задачите са произволно генерирани, тогава между тях ще има и нерешими и следователно не можем да разчитаме програмата да ги реши всичките.

Какво ще бъде множеството от светове, които ще използваме за изчисляването на коефициента на интелигентност на произволна програма.

Първата естествена възможност е да вземем множеството на всички светове. Това множество е безкрайно неизброимо и изглежда прекалено голямо (не е ясно, различните светове с каква тежест трябва да участват). Първото, което виждаме е, че много от световете са неразличими (т.е. имат еднакво дърво на света). Затова, следващата ни идея е да вземем фактор множеството, т.е. множеството от всички възможни дървета на света и това да бъде нашето множество от тестови светове. Това множество отново е безкрайно неизброимо, но като съобразим, че ограничихме продължителността на живота виждаме, че множеството от тези дървета е дори крайно (По-точно крайно е множеството на дърветата на детерминираните светове. При недетерминираните също е крайно, защото разклоненията са с еднаква вероятност – виж дефиницията на TM_W от [2]).

Това множество, макар и крайно е неподходящо, защото в този случай всичко е възможно! Как ще продължи света на следващата стъпка? Ами може да продължи както си иска. Действително, всичко е възможно, но далеч не всичко е вероятно. Ако приемем това множество за тестово, то тогава всяко продължение ще е еднакво вероятно и няма да има никакво значение от това какво се е случвало до момента. Това тотално противоречи на идеята ни за Изкуствен Интелект, според която той натрупва опит и се обучава. Тоест, не е без значение какво се е случвало до момента.

Тук е момента да приложим правилото наречено „Бръснача на Окам“ според което по-простия модел е по-вероятен от по-сложния. Т.е. по-простия свят е по-вероятен от по-сложния. За да говорим за сложност на света трябва да въведем някакво описание на света и да дефинираме сложността на света като дължината на най-късото възможно описание.

В [2] сме използвали машините на Тюринг като описание на световете. Това не е най-подходящия модел в случай, че се стремите да направите реална програма, която да удовлетворява дефиницията, но просто като теоретичен модел на изчислимост, това върши работа. Все пак, ние не искаме да останем ограничени само в множеството на детерминираните светове и затова сме въвели недетерминирани машини на Тюринг и нашите тестови светове са изчислимите светове генерирани от недетерминираните машини на Тюринг.

Следващото ни предположение е да изберем множеството от тестовите светове да бъде множеството на недетерминираните машини на Тюринг, като вземем всички такива машини без значение от размера им. Не можем ли да изберем един конкретен размер и да минем само с машините, които са с този размер? Отговорът е: по-скоро да.

Ако вземем всички машини на Тюринг, то ще трябва да им дадем различни тегла, защото няма как безброй много машини, всичките да са с еднакво тегло и сумата от теглата им да е единица. След като решим какви ще са теглата на различните машини, имаме два варианта – или средния размер на машините е някакво конкретно число или този среден размер е безкрайност (зависи от това какви тегла сме избрали). Ако средния размер е краен, можем да приемем, че вместо всички машини на Тюринг, тестови ще са само тези, чиито размер е средния. Това не е съвсем същото, но е почти същото. Ако средния размер е безкрайност, тогава има едно N от което нататък, машините с по-голям размер почти не влияят. Тоест, ако изберем едно ε, което ни се струва достатъчно малко за да може да бъде пренебрегнато, тогава съществува N, такова че машините с дължина по-голяма от N влияят по-малко от ε на средната оценка. Тогава може да изберем това N да бъде размера на тестовите машини и резултата ще е близък до този, който бихме имали ако вземем всичките машини със съответните им тегла.

Следващия въпрос: Щом сме избрали едно конкретно N, дали тестовите ни машини да бъдат тези с размер по-малък или равен на N или да бъдат тези, които са с размер точно N. Отговорът е, че няма нужда да включваме по-късите машини, защото всяка машина с размер N-1 има много еквивалентни машини с размер N (защото може да добавим едно ненужно състояние).

Добре, решихме, че тестови светове ще бъдат изчислимите светове, които се изчисляват от недетерминирана машина на Тюринг, която има размер N и това е поредния параметър, от който зависи нашата дефиниция. В [2] за този параметър избрахме конкретната стойност 20. Решаваме, всички тестови машини да участват с равни тегла (това е възможно, защото множеството е крайно).

Дали така избраното множество отговаря на принципа на Окам? Дали простите светове са по-вероятни от по-сложните. Отговорът е: Да. Действително всички машини участват с еднаква тежест, но простите машини имат огромен брой еквивалентни (които изчисляват същия свят), докато най-сложните нямат нито една еквивалента машина (със съответната сложност разбира се, в случая със сложност 20). Тоест, колкото по-прост е един свят, толкова повече машини с размер 20 го изчисляват и токова повече този свят влияе на средната стойност на функцията Success, а тази средна стойност ние наричаме коефициент на интелигентност.

Кой е подходящия модел?

Казахме вече, че машините на Тюринг не са подходящия модел за описание на света. Ние бихме искали в света да има прости зависимости, които да са на повърхността и да са лесно откриваеми, а в дълбочина да се откриват все по-сложни и по-сложни зависимости. Машината на Тюринг представлява една зависимост, която може да е доста сложна, но разбереш ли я, тогава си разбрал света. Малко по-добре стоят нещата с недетерминираните машини, защото случайността е една безкрайно сложна зависимост. Тоест, това е зависимост, която никога няма да можем да я разберем, защото разберем ли я тя става псевдо-случайност (като пример вземете псевдо-случайните числа, които генерира компютъра).

Може ли една сложна машина на Тюринг да бъде частично описана с някакви по-прости зависимости. Може, но това не е характерно за модела на машината на Тюринг. Там обикновено или разбираш света, или нищо не разбираш.

Ако търсим модел на света под формата на детерминира машина, то твърде скоро (т.е. след съвсем кратък жизнен опит),  ще се окаже, че първата машина на Тюринг отговаряща на този жизнен опит е толкова сложна, че на практика е невъзможно да я открием. Предимството на недетерминираните машини е, че винаги ще можем да намерим модел на света (колкото и дълъг да е жизнения опит). Друг е въпросът, доколко този модел ще е адекватен и до колко ще ни върши работа, защото недетерминираната машина не ни казва точно какво ще се случи на следващата стъпка, а ни казва, че може да се случи това или онова. В най-добрия случай, ни дава вероятността, с която ще се случи това или онова.

Добре, кой е подходящия модел на света? Трябва да си мислим света като сума от различни фактори, които може да са свързани, но в голяма степен са независими. Разбира се, един такъв по-добър модел ще ни е нужен, ако искаме да напишем конкретна програма удовлетворяваща дефиницията на Изкуствен Интелект, но за самата дефиниция това не е важно.

Работи на други учени

Повод за написването на тази статия стана публикацията [5], където двама учени от Швейцария се опитват да обобщят дефинициите от [1, 2]. Тяхната идея е била да се отърват от параметрите, от които зависи дефиницията в [2] и да получат едно ново понятие за коефициент на интелигентност независещо от никакви параметри.

Те са премахнали ограничението на дължината на живота и са предположили, че живота е безкраен, но при тях най-важно е началото на живота и на всяка следваща стъпка оценките олекват, като се умножават по коефициент на олекване.

Разбира се, коефициента на олекване (обезценка) също е параметър и те просто за заменили един параметър с друг. Освен това, тяхното представяне противоречи на идеята, че началото на живота не е важно, а по-важно е какво се случва след като програмата вече се е обучила. При тяхното представяне, най-важната част от живота е самото му начало и от един момент нататък живота така се обезценява, че практически е без значение какво прави програмата. Разбира се, в [2] също има един момент (максималната дължина на живота) от който нататък няма значение какво прави програмата, но поне до този момент всички оценки са равноправни. Тоест, при нас е: „Върви, върви и спре“, а при тях е: „Затихва, затихва, затихва и така до безкрайност“

Трябва да признаем, че авторите на [5] са разбрали, че коефициента на обезценка е параметър, от който тяхната дефиниция зависи и са предложили втори вариант. За съжаление, този втори вариант по-добре да не бяха го предлагали, защото в резултат са се появили големи недомислици, които компрометират цялата им статия. По-подробно за този втори вариант сме написали, малко по-надолу.

Другия параметър, от който авторите на [5] се опитват да се отърват е сложността на света. Ние сме избрали една конкретна сложност (т.е. брой състояния на машината на Тюринг, която генерира света). Те са предпочели да направят сума от всички сложности, като са използвали коефициент на обезценка 1/2. Като резултат се получава, че при тях средната сложност е 2 (ние сме избрали за този параметър числото 20). Тоест, ако искат да разрешат и по-големи стойности за средната сложност, ще трябва да заменят числото 1/2 с друг параметър. Тоест, отново заменят един параметър с друг.

От параметъра 0.7 те се отървават като не казват какво е Изкуствен Интелект. Казват какво е коефициент на интелигентност, но колко трябва да бъде този коефициент, за да бъде една програма призната за Изкуствен Интелект, не казват.

За съжаление, нашите швейцарски колеги са пропуснали да цитират българския първоизточник. Друг проблем е, че те не са успели да разберат много от детайлите на оригиналните статии и затова в получения като резултат текст има прекалено много грешки и неточности.

Ето някой от най-фрапиращите грешки допуснати в [5].

Там пише, че от тезиса на Чърч следва, че света е изчислим. Действително в [1] пише, че от тезиса на Чърч следва, че Изкуствения Интелект е програма, но не и че света е програма. Дали света е изчислим или не, дали е детерминиран или не е, това са въпроси чиито отговор не знаем и никога няма да научим. Това е, нещо което няма как да бъде проверено, защото не съществува експеримент, чиито резултат може да отговори на тези въпроси. (Въпросът детерминиран ли е светът е разгледан подробно в [3]. Въпросът изчислим ли е светът е аналогичен.).

Когато са дефинирали коефициент на интелигентност, така са го дефинирали, че се е получило нещо, което е безкрайност за всяка програма. Там те не са предвидили, че броят на програмите нараства експоненциално с увеличаване на дължината им. Това може да го приемем за грешка от недоглеждане, още повече, че е ясно как тази грешка може да бъде поправена. (Там се прави сума от успеха на програмата в различните животи, т.е от функцията Success. В тази сума не трябва всеки член да се умножава по 1/2 на степен сложността, а трябва да се вземе средното за съответната сложност и то да се умножи.) По-нагоре, когато казахме че в [5] средната сложност на света при тях е 2, това беше при предположение, че тази грешка е оправена. Ако оставим нещата така както са ги написали, то средната сложност е безкрайност и сумата, която наричаме коефициент на интелигентност, също е безкрайност. Тоест, ако не се коригира грешката понятието коефициент на интелигентност се обезсмисля.

Най-сериозния проблем в [5] това е втория вариант, който се предлага, за да бъде избегнат коефициента на затихване. Там множеството на световете е различно и съответно различна е и функцията Success (тази която за всеки живот казва какъв успех е достигнат в този живот.)

Да обобщим какво се е получило в [1], [2] и в двата варианта на [5].

В [1] се разглежда безкраен живот в множество от светове, които са без фатални грешки. В [2] се предполага, че живота е краен. В първия вариант на [5] живота е безкраен със затихване, което е същото, все едно че живота е краен. Във втория вариант на [5] се предполага безкраен живот в свят където всичките грешки са фатални. Тук проблемът не е в това, че може да имаме фатална грешка (фаталните грешки не пречат в [2] и тук също няма да пречат). Проблемът е в това, че всички грешки са фатални. Тоест, няма поправими грешки. Човек не се учи от фаталните си грешки, може би се учи от фаталните грешки на другите, но не и от своите фатални грешки. Затова тази концепция противоречи на идеята за обучението.

Във втория вариант на [5] функцията Success е растяща. Тя е определена да бъде сумата от всички оценки, които са числа в интервала [0, 1]. Нормално е да смятаме, че през живота функцията Success може да расте и да намалява. Когато тя трайно започне да намалява, това може да го сметнем за поправима грешка. Авторите на [5] са предпочели тази функция да е растяща, което значи, че устройството не може да прави поправими грешки. Единствената възможна грешка е от тип „пропуснати ползи“ и тази грешка винаги е фатална, защото ползите пропуснеш ли ги веднъж, повече няма как да ги хванеш. Освен това, при пропусканите ползи няма обратна връзка. Тоест, когато функцията Success се променя, това устройството го разбира, но когато е пропуснало ползи, това няма как да го разбере. Евентуално, може да го разбере в бъдещето, но живота е безкраен и това значи че и в бъдещето няма да го разбере. Винаги устройството ще се надява, че ползите не са пропуснати, а ще се появят съвсем скоро.

Много странно и нелогично е решението на авторите на [5] да ограничат сумата от оценките. Това ми напомня на един мой преподавател, за когото студентите разправяха, че имал ограничение на шестиците и че трябва да си от първите изпитани, защото по-нататък шестиците свършвали и колкото и да знаеш, шестица няма да получиш.

Това ограничение те го налагат, за да може функцията Success да бъде в интервала [0, 1]. Вместо да изкривяват света по този ужасен начин, по-добре би било функцията Success вместо да бъде сумата от оценките, да бъде средното им аритметично (както е направено в [2]). По този начин функцията Success нямаше да бъде растяща.

Заключението е, че при втория вариант (на дефиницията на коефициент на интелигентност) авторите на [5] използват светове, при които обучението е невъзможно. Успехът на устройството в такъв свят зависи единствено от късмета му, а когато световете са много късмета престава да влияе. Тоест, всички програми са еднакво интелигенти.

Поставяме си въпроса дали авторите на [5] изобщо са разбрали, че в [1] и [2] става дума за устройство, което се обучава и което ще постигне добър резултат в следствие на това обучение или те си мислят, че устройството се е родило обучено. В началото на [5] действително се казва, че на устройството трябва да му се даде достатъчно време, за да се обучи, но после предлагат два варианта на дефиниция, които противоречат на тази идея (особено втория вариант).

Вярно е, че при дефиницията на Тюринг, също имаме устройство, което се е родило обучено, но там става дума за един конкретен свят. Може устройството да се роди обучено за един конкретен свят, но няма как да се роди обучено за всеки свят.

Последната забележка, която ще направим за [5] е странното разсъждение по въпросът дали оценката трябва да е част от света или част от устройството. В началото на [5] те уверено са поставили оценката като част от света и е малко странно към края на статията да започнат да разсъждават къде й е мястото. Те сами си отговарят на този въпрос като казват, че ако разрешим на учениците сами да си пишат оценки, то всички биха станали отличници.

Въпреки всичко, объркването на Shane Legg и Marcus Hutter по въпроса къде трябва да бъде поставена оценката има своите основания. Те си задават въпроса, оценката при човека дали не са чувствата на болка и на удоволствие (от храна, секс, музика и други източници на удоволствие). Отговорът, който ще им дадем е следния: Човек няма вградена оценка. При него оценката се дава от света чрез еволюцията. Според тази оценка в света оцеляват тези които оцеляват и които успеят да се размножат. Самият човек не я получава тази оценка на готово. По-точно той никога не я получава. Ако е живял според еволюционната оценката, която той не знае, то той ще оцелее достатъчно дълго време и в следващото поколение ще има такива подобни на него. Това е причината, поради която хората цял живот търсят смисъла на живота (търсят го защото не го знаят). Що се отнася до чувството на болка и удоволствие, това не е смисъла на живота, а това е инстинкт. Тоест, човек се ражда донякъде научен и знае, че болката е нещо лошо, а удоволствието нещо добро. На тези инстинкти не трябва да се вярва сляпо. Например, чувството на болка е погрешно, когато зъболекаря ви вади зъб (стига зъболекаря да вади правилния зъб, разбира се). Горчивата храна също инстинктивно се възприема за лоша, но с времето човек започва да харесва горчиви храни като кафето и бирата. Чувството на удоволствие също често е погрешно.

Въпреки всичките забележки, които изредихме, статиите на Shane Legg и Marcus Hutter са много ценни за нас, защото това е първото признание на дефинициите от [1, 2]. Освен това, анализа на грешките допуснати от нашите швейцарски колеги също е полезен, защото той показва къде нещата не са достатъчно добре обяснени. Очевидно е, че Shane Legg и Marcus Hutter са поработили много сериозно по темата и за нас беше ценно да проучим техния опит да подобрят нашата дефиниция. Там където те не са разбрали дефинициите от [1, 2], вината е по-скоро наша, за това че лошо сме обяснили. В резултат на този анализ бе подготвена тази статия, която се надяваме да помогне на тях и на други бъдещи изследователи в областта на Изкуствения Интелект.


Искам да благодаря на професор Димитър Скордев и професор Тинко Тинчев за направените от тях забележки и за съветите, които ми дадоха във връзка с тази статия. На професор Скордев искам да благодаря още за това, че на времето той ме провокира да напиша дефиницията [2], като каза по повод на дефиницията [1] следното: „Тази дефиниция въобще не е формална. Вие твърдите, че тя може да бъде формализирана, но въобще не е ясно как това може да стане!“ Това, беше една конструктивна критика и в неин резултат се появи дефиницията [2].


[1] Dobrev D. D. AI - What is this. In: PC Magazine - Bulgaria, November'2000, pp.12-13 (www.dobrev.com/AI/definition.html).
[2] Dobrev D. D. Formal Definition of Artificial Intelligence. In: International Journal "Information Theories & Applications", vol.12, Number 3, 2005, pp.277-285. (www.dobrev.com/AI/).
[3] Dobrev D. D. AI - How does it cope in an arbitrary world. In: PC Magazine - Bulgaria, February'2001, pp.12-13 (www.dobrev.com/AI/).
[4] S. Legg and M. Hutter. A Universal Measure of Intelligence for Artificial Agents, In
Proc. 21st International Joint Conf. on Artificial Intelligence (IJCAI-2005), pages
1509–1510, Edinburgh, 2005.
[5] S. Legg and M. Hutter. A formal measure of machine intelligence. In Proc. 15th Annual Machine Learning Conference of Belgium and The Netherlands (Benelearn'06), pages 73–80, Ghent, 2006.
[6] S. Legg and M. Hutter. Universal Intelligence: A Definition of Machine Intelligence, Minds & Machines, 17:4 (2007) pages 391-444.