Proceedings of Datafair 73, pp 314-320, 1973
AN EVOLUTIONARY APPROACH TO ARTIFICIAL INTELLIGENCE C.F. REYNOLDS
Department of Computer Science
In attempting to design a computer system which models human intelligence the following factors have to be taken into consideration:
- Intelligence must have evolved in simple steps.
- The delocalized nature of intelligence suggests a large number of comparatively simple processing units working together rather than a single massive program.
- Once a minimum information processing capability has developed further progress in intelligence is more likely to be due to learning new techniques rather than the much slower process of evolving new mechanisms.
- Natural language is, in evolutionary terms, very recent and is more likely to be the result of intelligence rather than its cause. The brain's internal "assembly language" is more likely to be expressed in visual rather than oral terms.
This paper discusses how work on the CODIL language throws light on the above factors. In particular analogies are drawn between the decision making unit of the CODIL interpreter and the simple processing units, and the CODIL associative/virtual memories and the brain's short/long term memories. The significance of the difference :ill syntax structure between CODIL and natural languages is also discussed. The paper ends with suggestions for further research.
Several years ago the author was faced with a number of complex information processing applications where considerable flexibility and an excellent man-machine interface were essential. This type of problem is virtually impossible to solve using conventional techniques. For instance flexibility is often limited by the need for a precise a priori definition of the requirements. This need leads to a poor interface between the information processing system and the manager who wishes to change the system to meet rapidly changing commercial pressures. However, it would be insulting to suggest that the average intelligent manager is unable to modify (or even understand) the COBOL programs that work for him because of an inability to understand Englishlike statements, and it is clear that the difficulties in this type of system arise from some deeper conceptual obstacle concerning the way in which information is processed within a stored program computer. In order to tackle this type of problem the author proposed a language with the following design requirements:
- The language must be simple enough for it to be understood and used constructively by non-computer personnel.
- The language must be sufficiently flexible and robust for new requirements to be incorporated into a working system by the application staff as and when needed.
- The language must be self-documenting.
- The resulting systems must be economic.
The design aims were achieved by abandoning the dual concepts of "program" and "data" and replacing them with the single concept of "information". Research versions of this language have now been implemented under the name CODIL (1, 2, 3) and it combines a good mancomputer interface, the ability to handle complex non-numerical structures in a flexible manner, and a reasonable degree of efficiency.
|Fig 1. Structure of the CODIL Processor|
The CODIL Processor
The CODIL processing system consists of five principle parts which are shown in Figure 1. Processing is controlled by a small decision making unit (DMU), which could be implemented in hardware (4, 5) but has so far only been implemented in software. CODIL can be considered as the symbolic assembly language. for the DMU although the analogy should not be taken too far. The DMU can call on a comparatively orthodox library of subroutines and read or write information from three different parts - the input/output devices (typically this could be a teletype), a comparatively small associative memory (AM), and a potentially very large paged virtual memory (VM)
There are a number of features that distinguish this system from a conventional stored program computer. The most obvious difference is that the system holds everything in a single information format rather than in a number of distinct program instruction and data formats. The DMU's role is not, primarily, to obey instructions but to compare and move items automatically, using the small associative memory.
The Representation of Information
It must be realised that the CODIL processor is no more "intelligent" than is the processor of a conventional computer. An empty system has almost infinite potential but can do nothing unless it is supplied with information to process. In CODIL there are three distinct levels at which information is represented. At the lowest level there are the individual elements of information. The middle level deals with the relation between these elements and the highest level handles the bulk organisation of the information within the computer system.
The basic element of information in CODIL is called a data item and a formal definition is given in the following statements:
<data item>:: = <data name>| <data name> ANY| <data name> NONE| <data name><logical relationship><data value><data name> :::= <a name identifying a set><logical relation>:= . = | > | < | = < | >= | ><<data value>::= < digital representation of any member of the set>
A data item thus represents a partition of a set (usually a single member of the set) and possibl3 data items would be "NAME = JONES", "YEAR =(1899", "DISEASE >< MEASLES", and "PRINT LINE = THIS IS A VALID DATA ITEM". It is essential to realise that all information in CODIL is held as data items and in the last example the value is no more nor less than one of the character strings that might form a line of print, even though, under certain circumstances it may be obeyed and the words "THIS IS A VALID DATA ITEM" printed out.
In comparing CODIL with human information processing it is clear that there must be a correspondence between data items and the word structure of the human memory. Although the finer details will differ enormously because of the very different media on which the information is stored the following points are probably common:
- The basic structure is very simple and independent of the way in which the item may be used.
- All information input into the system must be classified according to known concepts (data names). One consequence is that the same raw information can be interpreted in different ways if different concepts are applied.
The next level of CODIL concerns what, in natural language terms, is the construction of sentences and the linking of these into texts. A simple sentence such as "Macbeth murdered Duncan with a Dagger" can be described using a large number of different items such as "WORD 1 = MACBETH", VERB =: MURDERED", "MURDERER: =: MACBETH", "NUMBER OF WORDS = 6" and even "SENTENCE = MACBETH MURDERED DUNCAN WITH A DAGGER". By suitable selection it is nearly always possible to reduce this potential jumble to a single CODIL statement such as "MURDERER = MACBETH; VICTIM = DUNCAN; WEAPON = DAGGER". If one starts with another statement containing the same information, such as "A dagger killed Duncan; the murderer was Macbeth" this can be reduced to the statement "WEAPON = DAGGER; VICTIM = DUNCAN; MURDERER = MACBETH". Similarly "According to Shakespeare Macbeth used a dagger to murder Duncan" can be reduced to "AUTHOR = SHAKESPEARE; MURDERER = MACBETH; WEAPON = DAGGER; VICTIM = DUNCAN". As for most purposes the order of the items does not affect the meaning different natural language sentences can be reduced to equivalent CODIL statements. In fact one of the big advantages of this structure is that new items, such as "PLACE = INVERNESS" can be added to any of the above statements in any position without ambiguity.
In most cases the CODIL system will be handling large numbers of statements and where these are on related subjects it would be wasteful to repeat commonly occurring items. The number of items to be stored can be reduced by bringing common items to the head (left hand end) of each statement and discarding duplicates between adjacent statements. The following example is taken from a file of biological field information (6).
In each statement the initial items, to genus, are the same and are not repeated, while in the last three statements both the species and the cave are the same. Many files, covering a wide range of applications, have been set up. Extracts of a file of biographies taken from Who's Who (7) have been published elsewhere (3, 8) and papers on other applications are in preparation. Another file, based on a New Scientist "Tantalizer" (9), is given in the Appendix.
The highest level of the CODIL language is concerned with the organisation of the files of statements in the paged virtual memory and is not relevant to this paper. A more extensive description of the language is given is reference 2.
The Decision Making Unit
The DMU in a CODIL system has an extremely simple structure. At any moment it can "see" only a single statement, called the facts statement, which is held in the (programmed) associative memory and addressed by data name. It can also see a single item which is called the criteria item. As all CODIL files consist of a list of statements each consisting of a list of data items the processing can best be described as a series of operations on these statements. The algorithm is outlined in Figure 2 and the main steps are as follows:
- Test the current criteria item to see if it is the last item in a statement.
- Non-terminal items are compared with the items in the fact statement and a true or false assessment is made.
- If the item is true the next item in the same statement is selected as the new criteria item.
- If the item is false the first new item in the next relevant statement is selected.
- Terminal items are by definition true if selected. They are processed in one of two ways depending on whether their data name corresponds to a system function.
- If the name corresponds to a function the function is entered and the appropriate operations are performed by conventionally coded subroutines. (One of these routines is used to obtain new facts statements).
- All other non-terminal items are new facts about the information being processed and are appended to the facts statement.
|Fig, 2. The CODIL Decision Making Unit|
The power of the algorithm arises from the way it interacts with the information structure and from the fact that it can be used recursively. For instance the Bridges of Konigsberg problem can be represented in CODIL and, by using the description of the possible crossings recursively, the system can exhaust all the large number of incorrect routes in about 8 seconds on a System 4/70 computer. Another technique is to read the facts statements and the criteria items simultaneously from the same file. If the file is also used for output and suitable end conditions are included the result is to make all possible logical deductions on the file. This technique has been used to solve several New Scientist "Tantalizers" (9) and details of one of these is given in the Appendix. It has also been used to deduce the price of an order from a file containing statements that described the order, the customer, various products, etc. However it should be noted that there are very much more efficient ways of carrying out this application using CODIL. In more practical terms the system can be used to store a wide range of scientific information, which can also be processed and retrieved.
A MODEL OF HUMAN lNFORMATION PROCESSING
|Fig. 3 Model of Human Information Processing System|
Figure 3 shows the principle features of human information processing as it is represented in a CODIL based model. The teleprinter of figure 1, which provides an interface between the CODIL system and the outside world is replaced by sense organs and the various muscular activities that cause speech, writing, etc. The subroutine library is replaced by the primitive actions that the brain's activities can initiate. The associative and virtual memories are equivalent to short term and long term memory and the decision making unit retains it overall control. Quite clearly these comparisons only apply at a logical level and the very different hardware involved means that at the physical level one must expect major differences. Some of these differences will be examined in more detail later.
The Associative Memory/Short Term Memory
There appears to be a number of marked similarities between the CODIL associative memory and the human short term memory. For instance information stored in the associative memory is highly volatile (although not forgotten by "accident") and must be explicitly transferred to the virtual (long term) memory if a record of the information it contains is to be retained. In addition it has been observed that for the majority of problems the associative memory can be very small. It seldom contains more than 12 items (often nearer 6) in any problem where it would be easy for a human to perform the same activity without the aid of paper and pencil or other aide memoir. This suggests that if CODIL is used to handle a human type of information processing task the associative memory holds about the same amount of information as the human short term memory. Both handle information by its meaning rather than by address and neither can handle array information directly because this would involve addressing the items by means of a calculated address.
The Virtual Memory/Long Term Memory
The CODIL virtual memory and the human long term memory both serve as a repository for permanent information which reaches it via the associative memory/short term memory. In CODIL information is usually retrieved in the same statement (context) as it was stored. It is not possible to go immediately to any stored item and it is not possible to recover every bit of information relating to a particular subject unless this information was previously gathered together and stored. Similar restrictions probably apply to the human long term memory but are not so apparent due to its parallel rather than serial structure.
The idea of taking some facts, which describes a situation of some kind, and assessing these facts against some criteria is the cornerstone of both CODIL and human decision making. In both cases the facts and the criteria may come from either the outside world or the virtual/ long term memory with equal ease. To take a human example the facts could represent an external view of traffic on a road and the criteria could be the external question "Can you see a red bus?" or the internal question "Is it safe to cross the road?". Alternatively the facts may be something remembered and the criteria related to an exam question being answered. In addition information may be used as either facts or criteria. Thus "CITY = GLASGOW; COUNTRY = SCOTLAND" can be used directly as facts or to make the deduction that if we are talking about Glasgow then "COUNTRY = SCOTLAND" is a relevant piece of information.
One apparent difference between the model and human decision making is really one of nomenclature. In CODIL a simple decision is one cycle round the algorithm charted in figure 2, and this might well be considered too trivial to describe as a decision in human terms. In fact one of the features of the model is that it suggests that human intelligence might be explained in terms of large numbers of very simple decisions.
In comparing the CODIL language with natural languages the most noticeable thing is the completely different syntax structure. However in a large number of application areas it is possible to translate natural language texts directly into CODIL at a very reasonable speed and with a little practise read files out loud as English. (One of the disadvantages of CODIL is that it cannot be read out loud as such because the relations between the data items is visual rather than verbal).
A closer examination of the difference reveals that in general CODIL and natural languages can convey the same information as long as the subject matter is sufficiently well-formed for data names to be selected. CODIL is far less satisfactory for handling abstract ideas or informal information. In addition it is not all that easy to say that object A is bigger than object B without recording the sizes or to define that. all members of set C are also members of set D. These last two limitations result from the original design requirements for a robust and economic system and could be overcome, at least in part, in any attempt to design a system primarily to model human intelligence. Even if this were done the conceptual difference between CODIL and natural language would remain and a possible reason for this is examined in the following section
THE MODEL IN EVOLUTIONARY TERMS
In the previous section is was shown that there are a number of superficial similarities between CODIL and human information processing. Further direct comparison would be unproductive because of the limited design aims of the CODIL system and the very different hardware involved. A more productive approach is to take the basic concepts of information language processors and show how they can be used to describe a possible evolutionary model for human intelligence.
The basic building block of the evolutionary model to be described is the information comparator unit shown in figure 4. These units can be linked together in various ways to produce "higher" level units which have a similar over all structure but which exhibit more powerful logical performance. Suggested levels are listed below.
|Level 1||The Criteria and fact items are both single bits taking the values 0 or 1.|
|Level 2||Level 1 units are organised in series to produce simple bit string comparator units.|
|Level 3a||Level 2 units are organised in parallel with each unit comparing the same criteria item with a different fact item. (The CODIL DMU can be used quite satisfactorily at this "subset" level).|
|Level 3b||Level 2 units are organised in series to allow the comparison of items with a "structure"|
|Level 4||The two types of level 3 comparator units are combined to give a comparator with level 2 units in series and parrellel. (This is the level at which a single CODIL decision can be considered to work).|
|Level 5||More complex decisions could be made by linking a number of level 4 units in series. (This is approximately equivalent to using the CODIL DMU recursively).|
|Level 6||A totally delocalised system could be described in terms of a large number of level 5 comparator units organised in series and parallel. Only a few of these units might be active at anyone time.|
The importance of this level structure is that it shows that very simple comparator units can be organised into information processing systems at least as powerful as CODIL simply by taking the units in series or parallel to give successively more complex units. As the distinction between levels need not be as rigid as the above list might suggest it would seem possible that intelligence could have evolved simply by slowly increasing the maximum level of organisation of simple comparator units. In addition one would expect that information from the sense organs is first processed by the lowest levels of comparator unit and is passed through successively higher levels unit it reaches the highest levels in the brain. This process would be repeated in reverse to control muscular movements, etc.
Quite clearly the response of such a system to any particular input depends almost entirely on the information already contained in the system. Beyond a certain point such a system can acquire new processing skills simply by acquiring information on these skills. At this stage it will be far more efficient to learn new techniques than to wait 'upon evolutionary improvements of the underlying processor logic. Further evolution will require an increase in the information storage capacity of the system coupled with an increased rate of input of new information to allow the system to acquire new techniques within a suitable period. If one assumes a completely delocalised system there should be no great difficulty in evolving an increased brain size and this suggests that the limit to the evolution of intelligence, in terms of an information language processor model, could well be the rate at which new information can be learnt.
No attempt has yet been made to explain trial and error leaning in terms of the current model. However the model is relevant at a higher level, such as when a mother animal trains her young using the memory of the training she received when young. In such cases this means obeying information remembered at a much earlier date for a different purpose. In an information language processor system this could mean using as criteria information originally stored for use as facts. While this activity implies some selection mechanism it is inherently very much simpler than any model than can be envisaged in terms of the stored program computer concept. In this latter type of system the appropriate data would not only have to be selected but it would also have to undergo some form of compilation type process and it is very difficult to see how a compiler based system might evolve.
Learning by observation and simple training is obviously much faster than unaided trial and error but may still be sufficiently slow to restrict the overall information processing capacity. Obviously much higher learning rates can be attained by passing information directly between individuals using some kind of language. This capability is observable only in humans and here the performance is very high. One possible explanation lies in the observation, made in the previous section, that the structure of CODIL differs from natural languages. If one examines examples of CODIL files it can be seen that the items are represented by character strings and the linkages between the items are represented by their position on the page. This sharp division into "object description information" and "relative position information" would almost certainly map onto the type of memory structure that might serve to handle visual information. This hypothesis can be supported by the fact that vision is very much older than language and it is much more probable that the information structure underlying intelligence is a modification of existing structures than that a completely new structure should have evolved in a few million years.
In terms of the evolution of language the dichotomy of the internal information structure has an important consequence. Speech is uni-dimensional but there are two types of distinct but related information to be passed over a single channel. In order to do this the information system must be able to map 'information into a different form of syntax and unscramble it again afterwards. This requires a powerful information processing capability plus the ability to agree a syntax between individuals before anything but the most trivial communication can take place.
Once a suitable language has become available which can communicate information processing techniques, such techniques may be passed directly from generation to generation. New, more powerful techniques will be developed and as the number of techniques increase it becomes much easier to devise new and better ones, One of the consequences of learning better ways of learning is that, in terms of the species as a whole, there should be an explosive increase of apparent intelligence as the efficiency of the learning process increases with time. Another consequence is that the underlying mechanism could become completely overlaid with these advanced techniques so that it is almost impossible to examine the underlying mechanism directly. This would explain why attempts to construct computer programs which perform what are considered to be highly intellectual" activities, such as playing chess, have not made any significant contribution to the understanding of human intelligence. If this explanation is correct it suggest that the different syntax structures of different natural languages simply represent different conventions for transmitting information by word of mouth. The variety of language forms, together with the very large number of artificial languages, such as music, mathematical notations, etc., would suggest that the natural languages represent just one part of a generalised information pro cessing system. The alternative, that languages reflect the deeper internal logic of the brain, would lead one to expect that the specific ability to talk in natural language would evolve long before there was any general purpose language ability.
In this paper similarities between CODIL and human information processing have been noted. The approach has been extended to give an evolutionary model of human intelligence in which the basic processing mechanism is comparatively simple and the most important aspects of intelligence arise from information that has been learnt. In particular the ability to talk in a natural language is merely an example of learning and that such languages do not directly reflect the way that information is held in the brain. However it must be realised that some ideas put forward in this paper are highly hypothetical and the main aim of this paper is to suggest ways in which artificially intelligent systems might be constructed rather than to present a polished theory on the evolution of intelligence. In particular the following areas of research could well prove extremely profitable.
(1) The design of a CODIL-type system with improved concept-handling and string processing facilities with a view to developing a more intelligent system.
(2) Simulation of a comparator network to investigate the behaviour of information language processors organised on a parallel rather than a serial basis.
(3) The study of the problems of translating from natural language into an information language and vice versa, using the information language to control the translation process.
(1) C.F. Reynolds, "CODIL, Part 1. The Importance of Flexibility," The Computer Journal, Vol. 14, No. 3, pp. 217-220, 1971.
(2) C.F. Reynolds, "CODIL, Part 2. The CODIL Language and its Interpreter," The Computer Journal, Vol. 14, No. 4, pp. 327-332, 1971.
(3) C.F. Reynolds, "CODIL. An Information language for Man-Computer Interaction," ManComputer Interaction, IEE Conference Publication No. 68, pp. 211-217, 1970.
(4) C.F. Reynolds, "Improvements in or relating to Data Processing Systems," U. K. Patent 1,265,006.
(5) C.F. Reynolds, "Information Handling Systems for Eliminating Distinctions between Data Items and Program Instructions, If U.S. Patent 3,633,179.
(6) C.F. Reynolds, "Handling Cave Fauna Records on a Comput.er," Trans. Cave Research Group of Great Britain, Vol. 13, pp. 160-165, 1971.
(7) Who's Who, Adam and Charles Black, London, 1965.
(8) C.F. Reynolds, "Report of BCS Advanced Programming Study Group Meeting on CODIL," The Computer Bulletin, Vol. 14, pp. 244-245, 1970
(9) M. Hollis, "Tantalizer No. 111, MacAristotle," New Scientist, Vol. 43, pp. 287, 7 August 1969.
The following computer listing gives the original New Scientist "Tantalizer" (9) in the form of comments, followed by the equivalent CODIL statements. Various attempts are made to find a solution. The first is unsuccessful.
The second finds an answer but not the one required. (The reader may find it helpful to follow this through and see how the deductions are made from the CODIL description of the problem). The third attempt uses a single file as a source of facts, criteria and also for output in order to obtain the correct solution.