ARTIFICIAL INTELLIGENCE AND ARTIFICIAL ENVIRONMENTS

 

Herman Ruge Jervell

Unversity of Oslo

 

Dedicated to Svennik Høyer on his 60th anniversary

 

 

 

 

0. Let us introduce the communication triangle. At the three vertices we have publishing, broadcasting and computing. These can be thought of as the three pure activities within communications. Most activities can be thought of as a mixture of the three. In this paper we«ll take a closer look at computing - the youngest and least investigated activity. Among other things we«ll get to the semantics of computing as used in communication. But first a brief sketch of the history of computing.

 

1. The prehistory of computing starts with Gottlob Freges fundamental work from 1879 (Der Begriffschrift) and 1893 (Grundgesetze der Arithmetik). Frege was the first to describe a substantial piece of knowledge in a formal way. His immediate goal was to show that the laws of arithmetic were analytic and not synthetic. But to do this he had to develop a formal language. He discussed the relation between formal languages and natural languages, the two aims of logic - logic as language and logic as calculus and many other issues. Frege regarded himself as a logician or a mathematician, not a philosopher, but through his work he set the problems for some of the most interesting debates in this centurys philosophy. As we all know Freges big project was stopped by Russells paradox in 1903. This was a big blow to Frege Ñ he never recovered. His philosophical points were ignored Ñ or came up much later in a cruder form. It is an irony that the only work of Frege which is part of the standard reading in philosophy, "Sinn und Bedeutung", was a side issue for Frege. His main works were mostly ignored. After Russells paradox in 1903 Freges problems were kept alive by a Bertrand Russell himself and by Edmund Husserl and Ludwig Wittgenstein.

 

2. Frege created the first formal language and started to discuss the relation between formal and natural languages.

 

 

Here we have both a start of a new technology and the main foundational problem connected with that technology. This is certainly so in logic, but also in a number of other fields. Frege casts a long shadow into other fields - into computer science, theoretical linguistics, cognitive science and communications. Some are well aware of Freges work, others had to reinvent it.

 

3. Let us now go further with the prehistory and the history of computing. It took a long time after Frege to get up to the same level. It was first in the 1920«s and the 1930«s that the development of formal languages came up to Freges standards. (Russell and Whiteheads "Principia Mathematicae" is a step backwards with respect to formal precision.) In 1931 we have the fundamental work of Kurt Gšdel where the idea of a formal language and a formal system were used in such a way that there were no room for unclarity. We then come to Alan Turings work from 1936. He gave an analysis of the idea of algorithm and connected that with mechanical calculations. The mechanical calculations were done on turing-machines which are still used as a model of computer.

 

4. Through the world war electrical engineering reached a technological level were it was possible to build electronic turing-machines. The experience with the development of radar was particularly important, but ideas from telephone exchange and book-keeeping machines were also important. In any case around 1944-45 projects were initiated in USA and UK to build electronic turing-machines.

 

5. In mechanical apparatuses there is usually a distinction between making the gadget and letting it operate. In computers this distinction is blurred, or rather as Turing showed in 1936 does not exist. We all know this from practice with computers. A computer is a general instrument. It can be made into all kinds of gadgets by using the keyboard if you know how to program. To make the computer work in different ways is a logical activity not a mechanical activity.

 

6. The media breakthrough of computers came in the US presidential election in 1952. To process the data of the 1950 census a UNIVAC computer had been used. In 1952 there were a couple of such computers. They were used to predict the outcome of the election early of the election night Ñ competing with news agencies and opinion institutes. The UNIVAC won by a good margin, and the computers made it.

 

7. Until 1954 computers could best be compared with other laboratory apparatuses. The compufor special purposes

 

For a few years UNIVAC was the common term used for a computer, like XEROX for a copying machine.ters were handmade , and the people operating them were usually part of the team that built the computers. Until 1954 no computers were made into more than a dozen copies. In 1954 IBM entered the computer business. IBM had a long tradition of making book-keeping machines and dominated the punched card business. Around 1954 they came out with the IBM 650 and IBM 704. The first was ultimately produced in a couple of thousands copies - the first mass produced computer. The second set the standards for scientific computing.

 

8. With the mass produced computers the idea of programming came to the fore. IBM started a project in 1954 of making a formula translator for the IBM 704 led by John Backus. The result was FORTRAN (FORmula TRANslator). This was the first programming language. It is still very much alive. Backus problem was to make a formal language for algorithms and translate this into statements in machine language. It was meant as a help for all the customer who had a specific formula they wanted to calculate, but did not bother to find their way into the intricacies of the interior of the computer. The main work in the project was to find a smart way of translating the formulas such that the result was about as good as an experienced operator could do. Backus hoped that the loss of efficiency were less than 30 %. The FORTRAN was a huge success. Originally it was meant as a language for IBM 704. There are a number of features in FORTRAN depending on the special design of IBM 704. (Especially input/output, and the numerical IF-statement). But scientist got used to expressing their algorithms directly in FORTRAN and other companies developed ways the FORTRAN could be translated into machine statements for their machines. With the completed FORTRAN compiler in 1958 programming as a machine independent activity had started, and computer science as an independent subject became a possibility.

 

9. The programming language LISP was also made for IBM 704. John McCarthy made it in 1958-60 using among other things ideas from Frege (The lambda-calculus coming from Alonzo Church around 1940, and from him from Freges manipulations of "Wertverlauf"). LISP is the main language for artificial intelligence applications. Other programming languages came. We have COBOL (1959), ALGOL(1960), BASIC(1964), SIMULA(1967), PASCAL(1970) - and many others. (All the languages have developed. It is therefore not clear which date to put to a certain language. The years in parenthesis should be taken cum grano salis).

 

10. The ultimate breakthrough for IBM came with the 360-series from the mid sixties. (IBM 360 is meant to indicate the 360 degrees of a circle). IBM produced a large series of computers - from small business machines to huge scientific computers

 

. The same programs and essentially the same calculations could be made on all of them. There was only a difference of speed and capacity.

 

Many firms leased a small IBM 360, and as the firm grew larger it could change it to a larger IBM 360 without any change in the software and new teaching of personell.

 

11. If we now look at computing from a communications perspective there came a number of major changes in the 1960«s and 1970«s. The first computer were obviously stand alone machines. Their only connections with the outside world were through the cards, tape, keyboards or screen. There were no connections with other computers. In fact in a typical scientific computing centre in the 1960«s the input would be a stack of cards. The stack would be fed into a small computer, together with other stacks to produce a tape. This tape was then carried to the large computer and run. The result came out as tape. The tape was then brought to a small computer which transformed the tape into stacks of cards and printouts on paper. The first major change came in the mid 1960«s with with a nu

 

The history of computing

 

Insecond In and consolidation The project of designing the 360-series was of similar size, cost and complexity as the Apollon project of putting a man on the moon.

 

multiprogramming. The idea was to have a big computer with a number of terminals put on it.

A number of users could be served simultaneously - or rather what seemed to the users as simultaneously. The programming language BASIC was designed to operate in such an environment. This idea was further developed as the idea of having a master computer in each region with outlets in every home. The consumer could then use and pay for the computer like they did for electricity and gas. This utilities-version of computing was never realized, but small scale versions of it appeared in a number of computer centres in the 1970«s and even later.

 

In the late 1970«s we get the idea of distributed programming. The communications are between equal partners, not a master/slave relationship. Now we get the first networks. It started with communications between computers on Hawaii and the project with the ARPA-net.

 

Computing is a technology. As all technologies it has various aspects. We will distinguish between social, material and logical technologies. The material technology is the material things and tools. Most discussions of technology have concentrated on the material technology. If we look at the history of computing from the point of the material technology we would emphasize the development of electronical gadgets. There is a major increase in speed in going from mechanical to electronical gadgets. A mechanical thing should not be moved faster than the speed of sound - 0.3 km pr second. Bot with the electronic gadgets we come much closer to speed of light - 300 000 km pr second. We use a factor of 1 million to get from sound to light. This factor of 1 million was realized quite early. It is remarkable that Turing in his design for an electronic turing-machine talked about switching times of about the same order of magnitude as we do today - or at most 1 order of magnitude less. The major change is in reliability, cost and size of parts Ñ and most important in the size of memory.

 

Before Turing no one had realized the importance of memory in machines for doing symbolic calculations. In his 1936 paper Turing showed that given a certain minimal memory in any turing-machine we could realize universal turing-machines. This means that instead of making new machines we could make only one and let all others come in the input as a description of the new machine. This is of course what we do in programming. We have this single computer, but with appropriate input we can let it work in any way we want it to. The complexity of a modern computer is less than the programs we run on it. To get to this point we need more memory than used to be realized in mechanical and electrical gadgets.

 

The turing-machine works by doing only one small thing at a time. But since we are doing it so fast we get a lot out of it. In a year there are around 31.6 million seconds. A reasonably fast PC does equally many things in a second as there are seconds in a year. So the computer can afford to break down a problem into very small parts and only do a small thing at the time.

 

Let us do a small calculation with respect to memory. In a computer we measure the size of the memory in bytes. One byte can be thought of as a sign in a small alphabet (256 signs). In practice we«ll use one byte to store a letter. A page of written texts contains around 2000 letters - 2 kilobytes. Let us now imagine a scientist writing on the average 1 kilobyte per hour. He works 1750 hours per year in 40 years. Altogether he produces 70 megabytes in his life. This is not more than can be contained on the harddisk of a PC. There are two points here : Computer memory is cheap and to really use the available memory we need to do more than having the memory as a store for pushing keys on a keyboard. We use it of course also for doing calculations on texts, copying texts other people have written etc.

 

If we now look at computing from the perspective of logical technology, we get down to tools for creating formal descriptions of a part of our environment. We need to talk much more about the programming languages and techniques for programming. We need to talk about artificial intelligence. The perspectives of social technology is also lacking in our sketch of the history of computing. Here we need to talk about artificial environments. Both artificial intelligence and artificial environments is lacking. With our sketch of development of material technology we have laid the groundwork for talking about these. In the remainder of this paper we«ll talk about artificial intelligence and artificial environments. We«ll claim that they should be thought of as twins. We cannot develop the one without developing the other. In most developments the artificial environments are lacking - and the descriptions are not understandable.

 

To prepare our way we start with a Fregean sketch of a theory of communications.

 

 

A semantical framework

 

We«ll distinguish between three levels. First we have the material level where we have the material tokens. These are the external signs of our communications. They could be individual letters on papers, actual sounds, electric pulses or what have you. Secondly we have the syntactical level. There we have syntactical types. Instead of individual letter occurrences we have a b c ... Ñ we have types of letters. The third level is the semantical level.

fourThere we have the intended meaning. There is a fourth level

 

-:LaserWriter