Giving the AI definition a form suitable for
Dimiter Dobrev Institute of Mathematics and Informatics
Bulgarian Academy of Sciences 1113 Sofia, BULGARIA
April 3, 2013
This article tackles a number of technical issues related to the
AI definition. These include the format of the data, the Undef and
Nothing symbols, different ways of defining the meaning of life, as
well as the introduction of the concept of 'incorrect move'. These
are issues of no material importance, if we are interested in the AI
definition from a purely theoretical point of view; however, if we want
to develop a real program satisfying that definition, we are to find
these issues important.
If you want to answer the question: 'What is AI?', the first thing to do would be to consider whom you are giving your answer to, and what is the purpose of your answer - whether your aim is to convince the reader that AI exists and it possesses certain features that are interesting from a theoretical point of view, or you want to write an instruction for creation of AI, in which your reader will find useful practical advice and technical tricks that could help him in his actual attempt to write the program called AI.
Let's first take for example another device called 'computer'. If we want to define it, first we have to consider whom we are giving our definition to. Perhaps our readers are mathematicians and are interested in the questions: 'Is such a device actually existing?', 'What are its features?', 'Could we reduce
it to another device that we know? (i.e. reducing the matter to the previous case)'. Mathematicians would be happy to have a definition like the 'Turing machine' or like the 'unlimited register machine' since what they need is an easy to handle, simple description. If you want to prove by induction, you will have to check for each and every instruction of the Turing machine whether it preserves the induction assumption. The good thing is that all instructions of the Turing machine are of one and the same type. If you decide to prove by induction using the model of a real computer, you will face the problem that with it the possible instructions are hundreds and it is almost impossible to check for each and every of them whether it preserves the induction assumption.
If you want to answer the question: 'What is a computer?, and if your answer is intended for engineers, then you will have to say something about CPU and memory, buses for data transmission, the numeral system utilized to encode the data, etc.
The difference between mathematicians and engineers is first the way they think, and second - the aim they pursue. For the mathematicians the concept is interesting from a theoretical point of view, and the engineer wants to create a real product and that's why he is interested in a series of technical details, which are irrelevant for the mathematician.
Here is a...