Research-Study of a Self-Organizing Computer
Total Page:16
File Type:pdf, Size:1020Kb
RESEARCH-STUDY OF A SELF-ORGANIZING COMPUTER by Mario R. Schaffner N75-10715 (NASA-CR-14 0 5 9 9) RESEARCH-STUDY OF A 175-0715 SSELF-ORGANIZING COMPUTER Final Report ryof Tech.) 268 p HC (Iassachusetts Inst. $8.50 CSCL 09B Unclas ___G3/60 17145 for the National Astronautic and Space Administration Contract NASW - 2276 Final Report Massachusetts Institute of Technology Cambridge, Mass. 02139 USA "k,. --;_,I p 1974 _July " PREFACE The title of the report deserves some explanation. The sponsoring Agency, the Guidance, Control and Information System Division of NASA, Washington, D.C., was interested in knowing about a hardware system pro- gramed in the form of finite-state machines that was developed at the Smith- sonian Astrophysical Observatory, and gave this contract with this title. The opportunity has been taken to study further and document the approach used. The result of the work can be properly labeled as an "organizable" computer. The capability of this computer to be organized is such that undoubtedly it would significantly facilitate the establishment of "self- organizing" systems, as soon as proper programing systems are added to it. However, no work could be made, in the limits of this contract, on self- organizing programs, although determined programs are amply documented. "Self Organization" is not a clearcut notion. All complex systems have some degree of self-organization. However, the interpretation to be assumed here is that taken in the context of artificial intelligence: the development of means for performing given tasks, in relation to an environ- ment. Essential to this approach is the establishment of criteria for evaluating performance. In this sense, self-organization has attributes of thinking. Turin (1950) in his "Can a machine think?" conjectured that a pos- sible computer (a projection of the Manchester computer of that time), fur- nished with enough memory and programs, could produce results undistinguish- able from.those of human thinking. This shows that a self-organizing system has two main components: an organizable physical part, and a programing part. Different emphasis can be given to either of the two parts. This re- port presents the organizable part in the form of a programable hardware and its programing language. The program part for the self-organization can be considered as a continuation of the present work. - iii - PRECEDING PAGE BLANK NOT FILMED, TABLE OF C 0 NTENTS page PREFACE iii Chapter 1. MOTIVATION FOR A NEW APPROACH I 1.1 Unsatisfactory Aspects in the Use of Computers 1 1.2 The Compiler Approach 5 1.3 The Approach of the Language Directed Computer 8 1.4 A Global Approach 12 Chapter 2. WHY ABSTRACT MACHINES? 15 2.1 Inferences from Psychology 15 2.1.1 Introduction 15 2.1.2 Developmental structures 16 2.1.3 The spatiotemporal frame 18 2.1.4 Words and imagery 20 2.1.5 Concluding remarks 26 2.2 Modeling and Representation 27 2.3 Automata Theory 33 2.3.1 Introduction 33 2.3.2 Functions and structures 34 2.3.3 Formalizations 35 2.3.4 Automata and languages 36 2.3.5 Connections with psychology 36 2.3.6 Interchangeability between program and machine 38 2.4 Cellular Spaces and Computing Structures 41 2.5 Inferences from Neurology 46 2.5.1 Introduction 46 2.5.2 A look at the central nervous system 48 2.5.3 Inferences from the central neural system 55 2.5.4 The McCulloch-Pitts correspondence 59 -v - 2.6 Outline of the Approach Taken 63 2.6.1 Synopsis, part 1 63 2.6.2 Function and structure 67 2.6.3 Synopsis, part 2 70 Chapter 3. THE FORMULATION OF A SYMBOLIC SUBSTRATUM 73 3.1 Preliminaries 73 3.2 Elementary Machines (FSM Automaton) 78 3.2.1 Symbolic formulation 78 3.2.2 Structural formulation 79 3.3 Compounded Machines (CPL Automaton) 82 3.3.1 Symbolic formulation 82 3.3.2 Structural formulation 82 3.3.3 Discussion 86 3.4 Comparison with Other Formal Systems 88 3.4.1 Comparison with commonly formulated finite- state machines 88 3.4.2 Comments in respect to Turing machines 90 3.4.3 Considerations in regard to cellular spaces 92 3.4.4 Considerations in regard to formal languages 94 Chapter 4. THE ISOMORPHIC IMPLEMENTABLE SUBSTRATUM 99 4.1 General Structure 99 4.1.1 Interface with the environment 99 4.1.2 Program allocation 101 4.1.3 The automatic flow of data 102 4.2 Implementation 104 4.2.1 The programable network 105 4.2.2 The programable memory 109 4.3 Discussion 110 4.3.1 Pipelining 110 4.3.2 Addressing 111 - vi - 4.3.3 Parallelism 113 4.3.4 Computer architecture 114 4.4 The CPL 1 Processor 117 4.4.1 Factual information 117 4.4.2 Description 118 Chapter 5. THE PROGRAMING LANGUAGE 121 5.1 Introduction 121 5.1.1 The role of the programing language 121 5.1.2 Preliminaries on the user language 125 5.1.3 An experiment in applying modes of thinking to computer features 127 5.2 The User Language 130 5.2.1 Structure of a program and its representation 130 5.2.2 Input prescription I 134 5.2.3 Data transformation F 135 5.2.4 Transition function T 143 5.2.5 Routing R 149 5.3 An Implentation of Machine Language 153 5.3.1 Outline 153 5.3.2 The format of the card 154 5.3.3 The morphology of the words 156 5.4 Discussion 158 5.4.1 Functional and technical characteristics 158 5.4.2 Similarities with other programing languages 168 Chapter 6. COMPARISON OF PROGRAMS 173 6.1 Introduction 173 6.1.1 Available works on program comparison 173 6.1.2 Criteria of comparison 174 6.1.3 Description of the data used in the tables 177 - vii - 6.2 Real-Time Processing of Weather Radar Signals 178 6.2.1 Structural characterisation of radar-echo 182 patterns 6.2.2 Distribution of precipitation intensity 189 6.2.3 A compounded program 193 6.2.4 Recording of Weather echoes 196 6.2.5 Measurement of statistical characteristics of 198 weather echoes 6.2.6 Measurement of the dispersion of short means 202 6.2.7 Real-time data handling 205 6.2.8 Measurement of the antenna pattern with solar noise 208 6.2.9 R.A.D.A.R. 211 6.2.10 Real-time numerical models 214 6.2.11 Computation of the Fast Fourier transform 218 6.3 Real-Time Processing of Meteor Radar Signals 223 6.3.1 Recognition and recording of faint meteors 223 6.3.2 Experiments of strategies 229 6.3.3 Noise measurements 231 6.4 Exploratory Programs 232 6.4.1 Numerical model of the dynamic of a fluid 232 6.4.2 Analysis of echo-pattern turbulence and movement 236 Chapter 7. CONCLUDING REMARKS 243 7.1 The Essence of the Approach 244 7.2 Results Obtained and Extrapolations 246 7.3 Topics for Further Study 249 REFERENCES 253 - viii - Chapter 1 Motivation for a New Approach 1.1 UNSATISFACTORY ASPECTS IN THE USE OF COMPUTERS Every year we become accustomed to seeing computers increase their speed, their capacity, and their endowment of automatic procedures. Reli- ability is not of concern any longer; on the contrary, we have come to ex- pect infallibility. The cost-performance ratio decreases continuously. In sum, computers do not present technological problems. However, there are some unsatisfactory aspects in their use, as outlined in the following. In modern life, computers are becoming almost as numerous as automo- biles, and the feeling develops that computers are going to be an indispens- able companion for many everyday activities. However, we observe that while the majority of automobile users drive their automobiles themselves, a sig- nificantly smaller portion of computer users do their own programing direct- ly; as a matter of fact, a new profession has developed for the operation of these machines. Note, moreover, that the data we have to process, and the dynamic systems we have to consider in driving an automobile are much more complex than the very elementary mechanization of a currently typical com- puter program. In the course of our analysis we will find an interpretation for the difference in interaction that occurs with automobiles and computers (section 2.1.4, page 24). Others (see for instance Sammet, 1969) use a different analogy. It has been said that if the telephone companies had not gone to dial telephoning, then every woman between the ages of 20 and 50 would have been forced to be- come a telephone operator in order to keep up with demands. Similarly, at the rate computers and their applications are developing, it may be neces- sary for vast numbers of people to become programers. In fact, programers -1- may well have to outnumber significantly the number of people who have prob- lems to solve, inasmuch as the problems themselves become more and more com- plex. Clearly we need to deal with computers directly, just as everybody today dials directly his telephone connections, and almost everybody drives his own car rather than obtaining the service of a professional driver. Naturally each user would like to do this with maximum application to his problem and with minimum attention to the annoying intricacies of the computer itself. In order to obtain a general view of this situation, independent of particular applications and computers, we shall try to identify the essential, common protagonists involved in the use of a computer.