BMHHffi ■BBS Hll SB 1111111 Bagaggga ■ffir iHii ■ BBWB |1MB ^H Ban ^ : * Bis WmVSbfSt imm I ^ .''. ■ B9 H hob aniML 9BU sBoKSfSc VZKC ««B Eft&SSBZMHH JCOJffX 9WMWtWPW ffflBfff^BW^ ra» MBK&tmnNra Hkk sSgMRBgg* SSvS rauo&iHaKooSx£(. JUCIOuu&OGlcQauuBul MpWBWMWttC wSH MMM6CD HH HHBHUflnnHx RSHhhBk MM LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAfGN 510.84 U&r no. 824-823 cop. Z L16 l_O-l096 21th uiucdcs-r-t6-82u a v _ FROG (FORMULATION OF A ROBOT ORGANIZATION THAT GENERALIZES) A HARDWARE EXPERIMENT IN MACHINE COGNITION 2 i by Debasish Bose August 1976 Digitized by the Internet Archive in 2013 http://archive.org/details/frogformulationo824bose UIUCDCS-R-76-82U FROG (FORMULATION OF A ROBOT ORGANIZATION THAT GENERALIZES) A HARDWARDWARE EXPERIMENT IN MACHINE COGNITION BY DEBASISH BOSE August 1976 Department of Computer Science University of Illinois Urbana, Illinois 6l801 This work was supported in part by the Department of Computer Science at the University of Illinois, Urbana-Champaign, and was submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical Engineering at the University of Illinois. 5 4- ACKNOWLEDGEMENT The author wishes to express his gratitude to his advisor, Professor S. R. Ray, for suggesting this thesis topic and for his continued guidance and friendship. He is also very grateful to Professor W. J. Poppelbaum for the opportunity to work in the Information Engineering Laboratory and for his support, advice and understanding. A special word of thanks is due to Frank Serio for his invaluable suggestions during the design of the mechanical assembly of the project and for his pre- cision construction, in the Electronic Shop, of the various parts. Sam McDowell and Roger Lewis, also of the Electronic Shop, did an outstanding job in the fabrication of the various printed circuits and the panel layout. The author acknowledges their help. In addition, the author wishes to offer his sincerest thanks to Kathy Gee for the patience and skill with which she typed the thesis, and to Stanley Zundo for his very personal care in drafting the figures. IV TABLE OF CONTENTS Page 1. INTRODUCTION 1 2. CENTRAL PRINCIPLES 6 2.1 Cognitive Mechanisms: Definition of Terms 6 2.2 Learning Strategy 8 2.3 Recognition Strategy 11 2.k Evaluation of Correlation Values 12 3. SYSTEM DESCRIPTION 15 3.1 The Set-up 15 3.2 The Stimuli 15 3.3 The Decisions 20 3.U Data Flow Structure 22 3.5 The Front Panel 22 3.6 The Board 26 3-7 The Movable Block- and Motion Control 26 k. THE BASIC LOGIC ELEMENTS 30 k.l The Basic Elements 30 k.2 The Memory Elements 31 5. SYSTEM DESIGN kl 5.1 Structure of the Memory kl 5.2 Memory Integration Unit 1+ 5 5-3 Decision Unit 1+9 6. HARDWARE ORGANIZATION 53 6.1 Machine Representation of Numbers 53 6.2 Hardware Realization of the Basic Logic Elements 5*+ 6.3 Realization of T*-elements 62 6.k Overall Hardware Organization TO 7. RESULTS AND CONCLUSION 80 7.1 Discussion of a Typical Sequence of Trials 80 7.2 Results in Summary and Concluding Remarks Qk APPENDICES 89 A. Summary of a Sequence of Trials 89 B. Memory Requirement and Response Time for the Proposed Scheme. . 9I4. REFERENCES 96 VITA 97 1. INTRODUCTION Artificial Intelligence: (a) the ability of machines to organize information into meaningful patterns: ability to recognize, store, recall and manipulate meaningful patterns in playing games, solving problems, answering questions, etc. and in controlling the actions of other mechanisms (b) the ability of a machine to adapt to its environment, particularly to respond to patterns of stimulations not explicitly foreseen in its design; (c) the observed performance of such machines as measured by comparison with, or in competition against human intelligence. [l] This attempt to define the objectives of the area of investigation termed Artificial Intelligence (Al) shows that it is quite enormous in its scope. The investigations in this area, to date, seem to have only scratched the surface of a potentially very rich field of research. On one hand, AI has drawn its ideas from a variety of more or less formal disciplines like logic, information theory, statistical decision theory, behavioral psychology, etc. On the other hand, AI has accumulated within its folds simple ad hoc informal algorithms to solve specific problems Workers in AI have tried not to be prejudiced toward making their systems strictly biological or humanoid. That is the reason why AI has developed into a discipline by itself. But it must be added that "although AI is not aimed at replicating the organization of a biological organism but only its behavior , yet any insight provided by psychological introspection should be profitably used. "[2] A cognitive mechansim as an artificial intelligence scheme may be described as follows (see Figure l.l). A stimulus of some kind (a scene, a symbol, a sentence, etc.) is first preprocessed by a sensor which performs In the sense of psychologists; meaning, a response judgement requiring an extended time"consideration" of the stimulus data as opposed to a re- cognition task in which the response is realtively straight-forward and automatic . PREPROCESSED STIMULUS COGNITIVE MECHANISM INTERPRETATION Figure 1.1 General Cognitive Mechanism an unbiased transduction (like that performed by a TV camera, or a microphone). The cognitive mechanism performs a more subtle, and not unbiased, kind of transduction to produce an interpretation . The cognitive mechansim contains two basic constituents: a model of the world and an algorithm (activity) which performs the interpretation of the stimulus under the guidance of the model. The conjoint of the map and the algorithm may appropriately be called a "cognitive memory" in that it exhibits both the static (passive) property of storing data and the dynamic (active) property of recognizing stimuli. The product of the cognitive activity is, as we have already mentioned, the "interpretation" which can be characterized as the linking of features of the stimuli to features of the map. The cognitive map may be looked upon as a set of competing hypotheses or concepts (like the descriptions of abstract objects and relations in the case of systems analyzing natural scenes) in a complex relational hierarchy or heterarchy and constitutes what can be called a "world model". In most cases, this world model is adaptive in nature where the model learns from and is under constant revision based on the experience of the system with known inputs. Often, the central problem in an AI system is to develop a "world model" based on experience, so that an interaction of the perceived stimulus with the model result in some sort of identification. Also important is the incorporation of a mechansim to revise the world model continuously in order for it to be better adapted to a better understood situation. Talking about worlds models (or "micro-worlds" as they choose to call it) Minsky and Papert assert : One cannot overemphasize the importance of this kind of scenario both in technical and in everyday thinking. We are absolutely dependent on having simple but highly-developed models of many phenomena. We see this problem — of using schematic heuristic knowledge — as a central problem in Artificial Intelligence. [3] The existence of a world model is supported, for example, by the classical research of Jean Piaget [h] . The concept has since been postulated in various forms by several investigators in the area of psychology and artificial intelligence (see, e.g. L5J»Ch. h) . More recent evidence has been presented by Eric Lenneberg [6, Ch. 7-9]. He concludes that the basis of human communica- tion is a model of the constraints and realtionships among perceived elements in the sensory environment. His conclusions ^indicate that the world model processes a sensory input from the general (i.e., gross context) to the specific (i.e., toward more minute detail) by stimulating successive states corresponding to inferred conditions and relationships. Phenomenologists and Gestalt psychologists have observed that recognition of ordinary spatial and temporal objects by living beings seem to proceed from indeterminate, global anticipation to more specific and detailed search. In human speech recognition, for example, it is observed that the phoneme comes after the fact; it is constructed, if at all, as a consequence of perception not as a step in the process of speech recognition. In his analysis of speech recognition Oettinger, therefore, concludes: This drives me to the unpopular and possibly unfruitful notion that maybe there is some kind of Gestalt perception going on, that here you are listen- ing to me, and somehow the meaning of what I'm saying comes through to you all of a piece. And it is only aposteriori, and if you really give a damn, that you stop and say, "Now, here was a sentence and the words in it were of such and such type , and maybe here was a noun and here was a vowel and that vowel was this phoneme and the sentence is declarative, etc. "[7] Pattern recognition schemes, based on searching through lists of isolated traits, although works moderately efficiently when applied to small models, fail to work as efficiently when applied to large ones, mainly because of the enormous amount of time spent in searching through large volumes of data. It appears that the world is experienced as fields within fields. Bits and aspects of objects in the world are not experienced as isolated facts, but as nested series of contexts. This paper develops a formalism for the adaptive development of a world model in an uncertain environment suitable for efficient cognition in accordance with the principle of "processing from the general to the specific." The model is then employed to simulate the feeding habits of a small animal where the device sustains existence by trying to recognize objects based solely on visual clues in an artificial world with sources of potential food supply and hazards. This hardware demonstration system is called FROG (Formulation of a Robot Organization that Generalizes). 2. CENTRAL PRINCIPLES 2.1 Cognitive Mechanisms: Definition of Terms Consider a cognitive mechanism (of the type mentioned in Chapter l) operating in an environment consisting of various classes of stimuli (objects to be recognized). Each class of stimulus is uniquely characterized by the value of its feature or sensory input vector S S ? . . S , where n is an arbitrary dimension. In order to allow for variations within the same class a small amount of spread is allowed around each value. The sensory inputs S n , S_ . . S are derived from one or more sensors on the mechanism. A certain 12 n amount of preprocessing is assumed in the generation of the sensory inputs. Example of sensory inputs are parameters like color, relative shape, relative size, distance, position etc. These inputs are allowed to take on values in the signal continuum to 1, i.e., they are fuzzy sets. The process of assigning a numerical value (or a membership grade, as it is called in the theory of fuzzy sets [8]) to an actual feature value is likely to be subjective. Assume that a learning encounter of the mechanism with a stimulus (e.g. , an animal trying to feed on an object) is associated with a multi-parameter reward Vector. The reward vector may be made up of parameters (fuzzy sets) such as taste value, pain inflicted etc. Each class of stimulus again has a unique reward vector. Figure 2.1 shows a schematic diagram (more detailed than that in Figure l.l) of such a cognitive mechansim. Every presentation of a stimulus to the mechanism first induces a recognition (or read) cycle where some response values are generated by a cognitive algorithm acting on the sensory inputs. The response values are anticipated reward-parameter values or functions SENSORY INPUTS REWARD (LEARNING CYCLE ONLY) WORLD MODEL VARIABLE PART OR MEMORY (DATA DEPENDENT) 7% V FIXED PART (BUILT-IN KNOWLEDGE) 0/ / CO V AND LEARNING CH v^ RESPONSE ^> DECISION UNIT A STATUS SIGNALS (INTERNAL) > DECISIONS Figure 2.1 Cognitive Mechanism: A Modified Schematic Diagram thereof. The generation of the response values is assisted by the variable part of the world model or memory , which accumulates the experience with elements of the sensory world. These response values together, possibly, with other status signals (such as, somatic signals like tiredness, hunger etc.) are pro- cessed by a decision making algorithm or decision unit to arrive at some decision(s). The decision making is, of course, influenced by the fixed part of the world model which incorporates built-in reflexes. Depending on the decision(s), there may or may not follow a learning (or write) cycle when the reward value is inputted to the device for an augmentation of the world model according to a learning algorithm . In a generalized situation each individual part in Figure 2.1 may be postulated to affect every other part. The domain and the direction of influence implied by the arrows in the diagram are sufficient for the particular situation simulated in FROG as a cognitive mechanism. 2.2 Learning Strategy To explain the learning strategy let us assume the context of a small animal trying to avoid the bad tasting stimuli amongst its cohabitants. The various classes of stimuli are uniquely specified by the three sensory inputs S , S_ and S (e.g., three visual features like color, shape and size). The reward is a single parameter; the "bad taste" value of a stimulus. At birth, the device will attempt to feed upon a relatively broad range of objects. Each feeding attempt is followed by internally generated signals measuring the tastiness of the food object. Upon encountering a very bad tasting object with inputs S *, S * and S * the world model adjusts strongly to reject as food any further objects having stimulus S * and S * and S *, to reject less strongly any object having double joint combinations of the stimulus inputs, to reject even less strongly the input values occurring individually. If some other object, 0~» has a bad taste and shares some properties with (say the joint occurrence of S * and S o*)» then its effect is to strengthen the rejection of S * • S * as a property associated with good food, thereby tending to generalize that this joint property implies "inedibility." Figure 2.2 illustrates the basic concept in a three-dimensional space. The darkness of shading is proportional to the strength of rejection of stimulus [S *, S *, S *] due to single occurrence associated with a negative result (e.g., a bad taste). The occurrence of a negative result associated with the inputs [S *, S *, S *], for example, will add increased rejection to the pair S * • S* as well as to the S * and S * volumes. In other words, evidence that the stimulus S * • S * is associated generally with "bad taste" is being accumulated. This multi-dimensional correlation space (matrix) may be thought of as a filter. Sensory inputs processed through this filter results in the response. This filter, therefore, constitutes the variable part of the world model. The adaptive development of the filter is made faster for multiple joint occurences with the result that the device tends to reject large fractions of the stimulus range as food only when evidence has become quite strong. It is to be noted that, in a real-life pattern recognition situation, the feature space will typically have more dimensions than three. In this discussion, as well as in the illustrative simulation, FROG, the problem is restricted to a 3-dimensional situation merely to restrict the complexity of the learning process without sacrificing or simplifying the inherent difficulties of the problem. The approach is perfectly general and can be extended to any dimension. 10 S 2 *« S* Figure 2.2 Adaptive Filter: Relation to a Stimulus Space of 3 Dimensions 11 If the reward is multi-parameter, a separate correlation space has to be developed for each parameter of the reward. 2.3 Recognition Strategy As mentioned before, the cognitive activity in the biological world seems, largely, to proceed from the general to the specific. The order of processing seems to be intimately connected to the fact, that in order to survive, living organisms have to react quickly. The recognition strategy described below is in accordance with this observation. When a stimulus is presented to the mechanism, it tries, first, to pro- duce a response by examining the sensory inputs taken individually. It refers to its world model to see what it knows about each of these sensory input values taken individually, without paying attention to the particular combination in which it appears. The strongest correlation values corres- ponding to the sensory inputs determine the response. If this response is not adequate (according to some set criteria) for a decision, the memory is consulted for response based on the sensory inputs taken in pairs. Further, if necessary, the data base in the world model is looked up for what is known about the inputs taken three at a time and so on. Obviously, the number of possibilities at the first (the most general) level is much smaller than that at the second level, and very much smaller than that at the third level and so on. For example, consider the case where there are only three sensory inputs S , S~ and S_, and a single para- meter reward R. If for each of these signals ten different values are recognized, then there are a maximum of 300 correlation values (10 x 10 along each axis) to remember at the first level, a possible 3000 entries in the second level and a list of as many as 10000 values to search through in the third or the most specific level. 12 This strategy makes the search more efficient at the risk of making errors due to over-generalization every once in a while. Also, the system is capable of handling new situations with partial matches. 2.U Evaluation of Correlation Values This section specifies the quantitative evaluation of the correlation values between various unique combinations of the sensory input values and the corresponding values of the reward input. The memory (see Figure 2.1) is hierarchial in nature with various levels. In the top level (level l) the sensory inputs are associated individually with the reward values. Level 2 retains experience corresponding to the double joint combinations of the sensory inputs and so on. As mentioned before, a separate stimulus-response correlation space (to be thought of as a 'submemory') has to be developed for each parameter of the reward. We, of course, will concern ourself with the elements of only one submemory with sensory inputs S , S . ..S , and one reward input R. As the cognitive mechanism has more and more learning encounters with various stimuli, let us assume, that at any point in time, corresponding to a particular value S of the sensory input S. (i=l,2....or £.), it comes * across the reward value R a total of m* times. This experience can be summarized by storing in an unit memory cell in the most general level (level l) a numerical correlation value of the form: {mind.mVr^)} . (f^S*) . R*} when n is the number of encounters necessary for full learning in level 1 (further explanation follows). The function f should be chosen appropriately * in order for the sensory input value S. to have a desired influence on the correlation value. Suggested forms of f are: f, (S.) = constant = 1 (say) i (s i or f,(S. ) = S. 13 The rationale behind this choice for the form of the correlation value is as follows . The use of the product as a correlation function implies that more striking the feature (i.e., larger the sensory input value) and/or higher the reward value, stronger is the experience. The factor min(l,m*/n, ) is a confidence function which makes it necessary to have n repetitions (write cycles involving the same input values) for the correlation value to achieve full potential. So, a level 1 memory cell stores the following quantities: A value each of S. , R and m, plus the correlation value, n is a built-in parameter determined by the location (i.e., the level) of the cell within the memory. During any recognition (or read) cycle, if the mechanism comes across a stimulus with the value S. for the sensory input S., then this memory cell in level 1 outputs the current correlation value. Similarly, in the second level (level 2), a unique combination S*, S* of values of two sensory inputs S and S (p,q = 1, 2, ... , p ^ q) and the corresponding value R* of the reward, sets a level 2 memory cell whose * » output for the same values S and S input to the cell during a read cycle is: {min(l,m*/nj} . {f (S*,S*) . R*} 2 2 p q where m* is the number of encounters with stimuli having a value R* for the reward and the values S , S for the pth and the qth sensory inputs, and n XT *i is the number of encounters needed for the correlation value to reach full potential. The function f p can be specified to be a convenient function of the sensory input values. In FROG, the nonlinear function of 'maximum' is used for f ? . lU ft A memory cell in level 3 sets to a new set of three input values S , ft ft S and S (x,y,z = 1,2... A, x 4- y 4 z) and R* to form the correlation value: y z {minU.mVnJMfJS ,S S ) . R*}, J 5 x y z the quantities m* and n_ being defined in a manner similar to the above cases, ft ft ft ft ft ft In FROG, f.(S ,S ,S ) = max(S ,S ,S ). 3 x y z x y z For repetitions and read-outs, it is not necessary to have an exact match between the presented values and the stored values. Some spread (+AR in the sensory input values, +AR in the reward values) may be allowed around the stored values to satisfy the condition of a match. Note, that by specifying n > n_ > n_ etc. we can assure that multiple joint occurrences are adapted more quickly than single occurrences of the sensory inputs. Also, note, that the memory cells in the different levels have different numbers of sensory inputs. The details of the structure of the memory and how the outputs of the memory cells, during a recognition cycle, can be used to provide the response will be illustrated in discussing the system FROG later. 15 3. SYSTEM DESCRIPTION 3.1 The Set-up FROG is an autonomous mini-robot, whose objective is to sustain its existence. It is a movable block which is capable of moving back and forth between several fixed locations on a demonstration board under the on-line control of a special-purpose computer to which it is connected by a cable (Figure 3.1). Whenever it is alarmed, FROG takes refuge in one of the locations, which is its safe resting place. At other locations any one of a fixed number of prey (food with varying taste) and enemies is presented to FROG in a specified manner. In order to feed upon the desirable stimuli and to avoid the not so desirable or the dangerous ones, FROG has to move between the locations . FROG is used to simulate the nature of errors and the behavioral traits shown by the proposed learning scheme during the learning phase (remember that some repetition of encounters is necessary for full learning). The behavioral pattern will, of course, be a function of the sequence in which the stimuli are encountered and the extent to which the stimuli shares features amongst each other. 3.2 The Stimuli The cohabitants of FROG's environment are some prey (edible and inedible) and enemies. The machine learns to discriminate between these by means of their visual characteristics. According to Maturana et al. in the "Anatomy and Physiology of Vision in Frog" [9] the ganglion cells in the retina of a frog form five natural classes which break down every image into five main characteristics which are transmitted to the brain. 16 Figure 3.1 The Set-up IT Four of them act on the visual image to perform complex analytical operations that remain invariant under changes of the general illumination and changes of the general outlook of visible environment, the fifth class measures light intensity. These operations of the ganglion cells are briefly described by their names: Class 1 Sustainted edge detection — presence of sharp edges. Class 2 Convex edge detection — presence of convex dark edges. Class 3 Changing contrast detection — presence only of changing patterns. Class k Dimming detection — occurrence of adequate darkening of the receptive field. Class 5 Darkness detection. The brain of a frog utilizes these sensory signals along with other predicates for its cognition of the objects around. Without a loss of generality, we assume that in the artificial world of FROG the various classes stimuli are uniquely specified by the following visual characteristics: i) color, ii) size (relative), iii) shape (relative). It is assumed that the total spectrum for each of these attributes is mapped onto the interval to 1 by the eye of FROG. So for each stimulus presented to FROG, these numerical values (each in the range to l) are input to FROG specifying the color, the relative size and the relative shape of the stimulus. Internally FROG generates a signal which is the measure of its hunger. 18 There are three distinct types of stimuli. The first is the class of good tasting ones which are associated with a reward parameter called the good taste value, g.t. (0 O ^ — . cr o z o < _j z _^ M ^^ < /^N i£ Q UJ Q / \ O z o m < 3 cr V / _J O < v_y CD or _j cr < ^ 5 _i 2 ^ O 3 O Z *- < z O \, UJ < UJ 1- ^> >- cr 2 CO *- < 1- O < CD /~N Q o z _j ro ( ) UJ 3 < \y cr o or 2 00 z i o h- UJ ^ — — ^ O - z _i c/> < o _l cr Q < O s * _i 2 O ^ o 3 3 e> ■—i <\ < m z < cr a UJ 2 H UJ £ 2 _!<.<_> YMBO 3 R0XIM VISUAL EARAM cr o _i o UJ 0. < I UJ N 00 u 00 1 1 o •H -P a a; 0} a) ft « o •H H O CQ I •H -P W P o ■p CO CD H > O P 0) •H CO CO < cu H ■3 O O H VO O O H O O H O O H O O O LT\ O O H O O H O O H O O O K -3" OHO Ph O rH O 0. OHO P t-q S M OHO E< on OHO 02 OHO OHO O O O cu H O O H O O H O O H O O H H O O H O O H O O ■ CO o M H CO H K W Eh O <$ (X 3 o w H Eh W < CO Eh 3 < co CO £r> < M H % Q S O Q M o O < < *— « O PQd. H o o H H H H H H H H H H H O O rH H H O H H H H H O O H O O O H H H H H H rH H H H H H o O H H H H O O H H H O H H H H H H O O O O o H H H H H H ' H(V oo CO CO CO K W O § w CnI O e M O CO 00 on c\J • CvJ H on VO CM CM H H VO LP* -=J- MD VO IT\_3- J- h cm on CO CO 00 CM w > VO Cvj on on 00 CO CO H H CM 00 CO CO on w on CO CM CO JiJ 21 A v CH MOVABLE BLOCK IC VISUAL INPUTS COLOR, SHAPE, SIZE) => J> HUNGER WORLD MODEL DECISION UNIT z o o Ui a 111 2E III a: J < U- _i < ^v Figure 3.3 Functional Sketch of FROG 22 3.U Data Flow Structure When the sensory (visual) inputs are presented to the MEMORY, its out- puts from the various memory elements are processed by the MEMORY INTEGRATION UNIT (MIU) to form the response, the data relevant for decision making. The response value(s), the hunger condition and the information about the position of the stimulus (location signal) interpreted through the DECISION UNIT (DU) result in a decision (see Figure 3.h). When comparing this diagram with the structure detailed in Figure 2.1 one should recognize l) the MIU as the recognition algorithm, 2) the DU as the decision algorithm, and 3) the conjoint of the MEMORY and the built-in conditions of DU as the world model. Figure 3.U shows the data flow structure of the system. The STIMULUS PRESENTATION UNIT (SPU) can be programmed or manually controlled to decide on the stimulus to be presented. The BOARD is the environment of FROG, where the appearance of a stimulus at one a few fixed locations is indicated by proper displays. The sensory (visual) signals are sent to the MEMORY for a read (note the read/write signal to indicate recognition/learning cycle). The reward values (the good taste, the bad taste and the pain values) are inhibited during read cycles. The location signal goes to the DU. The decision is made known to' the MOTION CONTROL UNIT (MCU) and the SPU. If the decision is to feed, the SPU sends the sensory inputs and the reward values for a write into the MEMORY. Miscellaneous status signals go from the SPU to the MCU. MCU controls the movement of the MOVABLE BLOCK (MB) appropriately. The value of the hunger signal is augmented in accordance with the decision. 3.5 The Front Panel FROG is required to act upon one stimulus at a time, i.e., one stimulus per trial or presentation. The stimulus for a trial and the location at which 23 MEMORY HUNGER => Iz MEMORY INTEGRATION UNIT (MIU) => c DECISION UNIT (DU) LOCATION DECISION STIMULUS PRESENTATION UNIT (SPU) c £> MOTION CONTROL UNIT (MCU) c MOVABLE BLOCK (MB) Figure 3.k Data Flow Structure 21+ it should appear is determined by the switches on the control part of the front panel (see Figure 3-5). The SPU can be operated in either SINGLE or MULTIPLE mode. In the SINGLE mode, the observer lets his/her choice known to the SPU by pressing the appropriate buttons under the lables STIMULUS CHOICE and LOCATION CHOICE on the panel. On pressing the ENTER, switch the cycle of operation begins whereby the visual data is sent to the MEMORY for a read-out. Appropriate displays on the monitor side of the panel indicates the TRIAL NUMBER, the POSITION OF FROG, the LOCATION OF THE STIMULUS, the HUNGER value, the STIMULUS being presented and the DECISION. Indicators also light up on the BOARD to indicate the LOCATION of the stimulus. Depending on the decision, MB may or may not move. The end of the cycle is indicated on the panel and the observer is requested the NEXT CHOICE. Each cycle takes a lot of time if MB has to move around. In order to show the effect of a large number of trials, it is helpful to be able to disable MB and quickly run through a number of trials. This can be done by throwing the NUMBER OF PRESENTATIONS switch to MULTIPLE. In this mode MB does not move. We can specify an augmentation of the memory by an arbitrary number of trials by dialing in the desired number in the two-digit thumbwheel switch. The observer can specify any one stimulus (1,2,3 or k) or a random (R) selection of those. The latter can be done by pressing the R button under STIMULUS CHOICE, in which case all the stimuli appear in a random sequence. A random selection of the LOCATION is possible by pressing the R button under the LOCATION CHOICE. The R buttons are not effective in the SINGLE mode. (A random selection in the SINGLE mode can, however, be achieved by going to the MULTIPLE mode and setting the thumbwheel switch to one.) On pressing the ENTER switch, the system automatically goes through all 25 Figure 3.5 The Front Panel 26 the read and the necessary write cycles, update all internal variables and augment the MEMORY. MB is not moved so that the current position of MB remains fixed. After the requisite number of trials, the NEXT CHOICE indicator comes on. 3.6 The Board The BOARD (see Figure 3.6) has four locations. Location I is FROG's safe resting place or home. The stimuli can appear in the other three loca- tions. Appearance of a stimulus at any location is indicated by a light lighting up at that location. The surface of the BOARD is painted black to minimize the light reflected from it. The paths joining the four locations can be lit up individually by light bulbs embedded deep under the track. The usefulness of all this will become evident in the following section when the motion control of MB is discussed. 3.7 The Movable Block and Motion Control The movable block (MB) is shown in Figure 3.7' It has two independently driven rear wheels and a small caster wheel in the front. This allows MB to be driven forward or backward and also to be turned left or right about an axis within itself. The drive circuits for the motors are on MB. The method by which movement of MB between the locations is controlled is chosen for its simplicity. It is also inconspicuous enough that the control method is not immediately apparent, visibly or audibly, to a casual observer. This requirement could have been better satisfied by other methods (like radio control) , but that would have added unnecessary complication to the system. The motion of MB between the two locations is controlled by lighting up appropriate segments of the track from underneath and using a control system employing photocells at the front end of MB. The control is pro- grammed to turn MB in a counterclockwise direction to hunt for the illuminated 27 Figure 3.6 The Board 28 Figure 3.7 The Moveable Block 29 track. Once the photocells are over the lighted track, the control makes MB follow the track. The intensity of the light is higher at the end of the track which is detected to signal the stopping of MB on reaching the destination location. 30 k. FROG: THE BASIC LOGIC ELEMENTS U.l The Basic Elements All of the logic elements in FROG are drawn from a set of nine basic elements, defined hereafter, which operate in the signal continuum to 1. All inputs, x., and outputs, y, have values in the continuum unless noted Selective Sense Indicator "Memory (MEM) otherwise. Nearest Element Name k Symbol Analog Definition Complement ( O x ->©-+y x NOT y = l-x k Minimum (m) AND y min (x. ) i=l ^ k Maximum (M) OR y max (x. ) i=l 1 Product (P) — y = (x-Mxg) Equivalence (E) x 1 ">' 2 Equiv . (fuzzy) y y = x if |x 1 -x 2 | <_ 0.05 otherwise x l^. y = x x , if x 2 > 0.5 x -►MEM)- *Transmittance (T) x->T, x+y y = otherwise y = 1 if x > y = otherwise y = when first powered "on." If x' is the first occurrence of x > 0, y = x' thereafter. y=0 intially. If x* is the occurrence of x > 0. There- after, y = min(l,i/n).x' , where m = no. of times the input value x' has repeated itself. *See the following section for further explanation. 31 k.2 The Memory Elements 1. MEM-element The MEM-element is initially "unset" (no value stored) and its output is zero. It "sets" to (stores) and begins to output its first nonzero input. The output of a "set" MEM-element is invariant and constant. At any point in time the output is the stored value. Subsequent inputs will neither change the stored value nor affect the output. 2. T-element The T-element is also initially "unset" (i.e. no number stored) and its output zero. The T-element sets to the first nonzero input and begins to output the product — . (stored value) in a constant manner. The "stepping parameter" n is a nonzero positive integer. The next time the T-element encounters a nonzero input close to the stored value (additional logic insures closeness), a stepping process occurs by which the T-element' s output 2 ' 1 is stepped to (— ) . (stored value). This process of stepping by adding — to the fraction multiplier — occurs each time a value the same as the stored * n value is input to the T-element until the term — = 1. At this point the T-element outputs the full value of its currently stored contents and can be considered to have reached "full potential". Any subsequent inputs to this element will not cause the stepping process to occur or affect the stored value. At any point in time after a T-element has reached full potential its output will be its stored value. The particular value of its stepping parameter, n, is an inherent in- variant characteristic of a T-element. In FROG, it is useful to have three variations of T-elements, having stepping parameters of k 9 2 and 1. This results in FROG having T-elements that come up to full potential quicly (n = l) , slowly (n = k) , or at an intermediate speed (n = 2). 32 3. T*-element The principal macroelement of FROG's memory is a T*-element. It corresponds to the unit memory cell referred to in Section 2.U. A T # -element, shown schematically in Figure U.l, is constructed out of the nine continuous logic elements described in Section U.l and some delay elements. A T*-element has a maximum of three inputs (A , k to A~) for the sensory (visual) signals of the stimuli and an input B for a reward (nonvisual) signal. A T*-element stores a set of values of a specific combination of the three visual characteristics taken one, two or three at a time. It also stores a value of nonvisual characterstic of one kind (e.g. a bad taste value) associated with the particular combination of values of visual characteristics stored. The T*-element forms a product of the maximum of the visual input values stored with the non- visual value stored. The output of the element depends on how many occurrences of the given combination of visual inputs and the nonvisual input FROG has come across and will be described later. Another input to a T*-element is a write regulating signal C. The element has two outputs: Output D is the main output of the T*-element and output E is a modification of input C. The T*-elements are connected in a row. Figure U.2 shows three of them connected together. Each of these elements retain a specific combination of values of two visual inputs. The visual inputs and the input B are the same for all the elements. However, input C, the regulating input NBHOOD, is set at 1.0 for the T*-element #1 (the leftmost T*-element) while input C for T*-element 02 is output E (the modified NBHOOD) of #1. The pattern is repeated. To understand the operation of a T*-element consider a T*-element which is the leftmost one in the 'chain' described above. 33 SENSORY (VISUAL) INPUTS N = l,2 OR 3 REWARD (NONVISUAL INPUT) NBHOOD 1 ' ' • • f • r ! ' ' fti 2 N c T*- ELEMENT D E 4t ! I ' T -OUT MODNBHOOD (MODIFIED NBHOOD) Figure k.l A T*-Element (Schematic) 3U VISUAL 2 VISUAL 3 NONVISUAL ♦ -•- < >— -— H > _ii \L b f \f ^L V S ' w N ' v V V A ! A 2 B C A X A 2 B C A X A 2 B C D E D E D E V ' 1 y V Figure k.2 A Typical Chain of T*-Elements 35 Assume FROG has just "eaten" a bad tasting stimulus. The stimulus has specific values for its visual characteristics and had taste. Assume FROG wants to record the specific combination of the values of the second and the third visual inputs (visual- and visual ) . The value of the second visual input appear on the A line and that of the third visual input appear on the A p line. The value of the had taste is placed on the B input line of the chain. Now, refer to Figure k.3 for the following discussion. Consider what happens in "block 1. If the B input value is nonzero, a 1.0 is input to the m-element of block 1. Another input to this m-element is the signal NBHOOD, which has been set initially at 1.0. The third input to this m-element (the complement of the output of the now "unset" MEM-element in Block 3) is also 1.0. The output of this m-element (which is 1.0) becomes an input to the M-element of block 1; the other input (the output of the still "unset" MEM-element of block 3) is 0.0. The output, then, of the M-element is the same value (1.0) that was output from the m-element. This output, which is _> .5, gates in the visual inputs through the S-elements in block 2 and the taste input through the S-elements in block 3. These stimuli then "set" the MEM-elements in their respective blocks. The MEM-elements, after being "set", begin to output the values of visual and nonvisual signals that are still being input to them. These values reach the E-elements, and since each of the elements has two equal inputs, they now output the values of visual inputs (in block 2) and the taste value (in block 3) that were input to the T* -element. The M-element in block 2 now select the maximum value of the visual inputs. One input to the block h is the maximum of all the visual input values stored in the MEM values of block 2. The other input is the taste value stored in the MEM-element of block 3. Each of these inputs go to a Si-element. 36 VISUAL INPUTS V A 2 V BLOCK 2 0" m NONVISUAL INPUT B V QJ BLOCK 4 NBHOOD C V BLOCK 1 © (MEM (t)J BLOCK 3 I J— H ' BLOCK 5 [F] = delay element E NBHOOD TSTAROUT Figure U.3 Logic Element Realization of a T*-Element 37 Since the inputs are nonzero the Si-elements begin to output 1.0. The inputs also go to a P-element which forms their product. The product is the x, input to the upper S-element in block h. The x p input to this S-element is the minimum of the outputs of the above two Si-elements. Since these outputs are each 1.0, the x input to the S-element is 1.0 and the output of the P-element is gated through to the T-element. At this point, the E output of the T*-element, the modified version of the NBH00D signal becomes defined. The E output of the T*-element is 1.0 only if in block 5 the delayed C input to the element is 1.0 and there is no output from the upper S-element of block k. The 1.0 on the C input (NBH00D signal) is delayed for long enough span, y, to allow a signal to be output from the upper S-element of block k (i.e. to allow it to become reliable). Until this happens, since the upper input to the m-element in block 5 is zero, the E output is zero. Now, when the upper S-element of block h has an output value > 0, the side input to the m-element in block 5 becomes 0.0, so that even after the delayed NBH00D signal reaches the top input of the m-element, the E output continues to remain zero. To return to block h t the output from the S-element has caused the T-element to "set," i.e. store this value and begin output ting — x this value. Th e T-element output becomes the x input to the lower S-element in block h. The x input to this S-element is the minimum function of (l) the SI function of the visual input to block h which is 1.0 and (2) the complement of the SI function of the nonvisual input to block h which is 0.0. Thus the x input to the lower S-element in block h is 0.0 with the result that the D output of the T*-element is 0.0, which is what it should be, for this is a "write" into the memory cell, not a "read" out of it. This is a complete "write" cycle for T*-element #1, but now let us consider what happens to the still "unset" T*-element #2. Its A , A p and B inputs are 38 the same as that for the first cell, but the C input, NBHOOD (before and after modification by T*-element #1) is now 0.0. The effect of this will be to cause zero to be output by the m-element in block 1 and since the MEM-element in block 3 is unset, the output of the M-element will be 0.0. This zero is the x ? input for each of the S-elements in blocks 1 and 2 with the result that the visual and nonvisual inputs to the T*-element will not be gated into the T*-element. However, let us look at the output E of this second T*-element , for it will be input for the T*-element #3. The complement of the SI function of the upper S-element in block h will be 1.0. This value will be one input to the m-element in block 5; the other will be the value coming out of the delay unit. However, this value, both before and after delay time, y, has elapsed, will be 0.0. Therefore, after one memory cell in the chain has been written into, no "unset" T*-element to the right of that memory cell may be written into. Now consider what will happen if a different set of A , A input values are input to the chain. They will reach the T*-element #1, the one that is "set." As has been said previously, a "set" T*-element always gates the A and B inputs to block 2 and 3. Since the MEM-elements are already set, the new inputs will not affect them, but will be compared with the MEM-element outputs at the E-elements. Since we are assuming that at least one visual input value is not within allowed tolerances for the E-elements, one or more E-elements in block 2 will output zero. The visual output value from block 2 will then be zero. So both the S-elements in block 7 will be inhibited, and the D output of the leftmost T*-element will be zero. Also the E-output of this T*-element will be 1.0 after time y. So input C of the T*-element #2 is 1.0 and this will become "set" in exactly the same manner as the leftmost T* -element. 39 The process by which a T*-element is written into a second or third time is very much like that by which an "unset" T*-element is written into. Recall that only in the case in which all E-elements of blocks 2 and 3 output a value, will an input reach the T-element. Thus, only in repeated occurrences of the values stored in the MEM-elements (or values within the 0.05 neighbor- hood of these stored values) will the T-element go through the stepping process The NBHOOD signal functions solely to tell the chain that a T*-element has been written into for a given combination of visual inputs and, hence, once this occurs, not to write into it for a different set of visual inputs. This signal also makes sure that the writing of a new combination proceeds sequentially down the chain from left to right. All of the above discussion pertains only to "writing" into the T*-element memory cells. Now the question arises how is a T*-element caused to output the current output state of its T-element? The process occurs contextually, when FROG has just seen a stimulus and its memory cells must be consulted to see if FROG has had any experiences with this stimulus in its past and if so, whether it was a good or a bad experience. Obviously, no nonvisual input is presented to the memory in this case, for feeding has not yet taken place; thus, the nonvisual input to a T*-element during a read cycle is zero. The "reading" process occurs in the following manner. The visual inputs are presented to all T*-element in the chain at once (reading, it will be seen, does not have ot occur sequentially, as does writing). The visual inputs will be gated into block 2 of each of the "set" T*-element in the chain. If the current visual input values are close enough (to within +_ 0.05) to that which are stored in the block 2 MEM-elements, then the E-elements in block 2 will output nonzero numbers; if not, no read will occur. Now recall that the ko Xp input to the lower S-element in block k is the minimum of two inputs (l) the SI function of the visual output from block 2, which is 1.0 and (2) the comple- ment of the SI function of the block 3 E-element output, which (since the B input to the T*-element is zero) is 1.0, with the result that this second input to the m-element is also 1.0. Thus, since the m-element is outputting 1.0, the current output status of the T-element is caused to be output; no stepping of the T-element will occur for there is no input to it in the read cycle. A write into an "unset" element cannot possibly occur by accident during a read cycle, for if a T*-element is "unset" and the nonvisual input is zero, then the visual stimulus input will not get past the S-elements in block 2. Ul 5. FROG: SYSTEM DESIGN 5.1 Structure of the Memory The structure of the MEMORY is highly modular. The principal building block of the MEMORY is a T*-element. The MEMORY is divided into three sub-memories (see Figure 5.1). The first is the GOOD TASTE MEMORY (GTM), which associates the distinguishing sensory (visual) input values of various stimuli with their good taste values. The second is the BAD TASTE MEMORY (BTM), which associates the visual feature values of bad tasting stimuli with their taste values. The third is a PAIN MEMORY (PM) , which associates visual featurs of dangerous stimuli with the amount of pain they inflict. The nonvisual (reward) inputs to the GTM, the BTM and the PM are the good taste value, the bad taste value and the pain value respectively. The three visual inputs are received by each of these. Each of GTM, BTM and PM is again divided into three levels. Level 1 associates the nonvisual input values with the three basic visual features of the stimuli taken individually. Levels 2 and 3 associate the nonvisual inputs with the combinations of three visual features taken two and all three at a time, respectively. The level 1 of each memory has three chains of T*-elements . The T*-elements in these chains are identical. The T*-elements of the first chain in GTM remembers the relation between various values of S (differing by at least +_ 0.05) and the corresponding good taste values. The T*-elements the second and the third chain do the same with S and S_ respectively. Similar operations are done by level 1 chains in the BTM and the PM. k2 H PJ IO H H H 3 3 3 o o o 2 2 2 0. Q. 0. A i 1 1 i 1 1 1 ™» 1 1 < \~ r 1 a. — ► r— 4 C\J ro — ►■ .-i cvj ro — -*. .-. z z z < < < 2 1 Q- 1 X I X o o o I J A A A h N IO 1 III r- r- r- 3 3 3 ,_! CM IO N IO (O co co co 1 co co co co O o o ■h ~* cm cm 2 2 2 ■ CO CO CO CO r- r- H ■H CO CD GO 1 ^ t.' 1 i 1 t- ' r m | ' — * t— 1 CVJ to — 1 — »- — 1 (\ J ro — 1 ► ^- 1 — Z z 2 » 2 1 < < < ! 1- 1 I I X GO 1 o c_> c > i 1 i , i i A / } il A k h cvj ro r- r- r- 3 3 3 h c\j ro cm m k> | CO CO CO CO CO CO 1 CO o o o ~. -< <\J CM 2 2 2 CO CO CO CO (- r- r- 1 ^ o o o r I i 1 t- 1 - O | ' ro 5 1 z C\J z J rO ^" r- 1 | z 1+3 The level 2 of each memory has three more chains of T*-elements. The level 2 T*-elements are also identical to each other but differ slightly from the level 1 T*-elements. Each chain remembers unique values of a given combination of two different visual features and the corresponding GT (or BT or PAIN) values. The first chain receives S and S , so that unique combinations of S and S_ are remembered. The second chain receives S and S„, and the third S p and S . The level 3 of each memory has one chain of T*-elements. Each element stores and correlates a unique set of values of three visual inputs and a nonvisual input. The different combinations of S , S and S values and the corresponding nonvisual input values are remembered in the level 3 of GTM, BTM and PM. A T*-element is, therefore, a relational memory between some elementary volumes of the sensory space and the reward space. Each T*-element is related to a node of behavior by reasons of its physical location in the MEMORY . When a stimulus is presented to FROG, only the sensory (visual) inputs are sent to the MEMORY for a read (recognition cycle). All "set" T*-elements whose stored visual input vlaue(s) fall within 0.05 of the given input values, will output the current correlation value stored in its internal Transmittance (T) element. A T*-element for which the input value(s) do not match the stored value(s), or for an element which is still "unset", the output is zero. The maximum of the outputs of all T*-elements in each level of each memory is regarded as the level output. Figure 5*2 shows the organization of the T*-elements within a typical chain and the interconnections of the chain outputs to form the level output. Thus the level outputs from each of GTM, BTM and PM are the maximum of the T-element outputs in the individual kh w; UJ ^r r'-^ •—t (*) CM rO z v^/ z Z .*^TV < /\\ < < X X X u c_> <_) I-* u 111 m cu CM a •H rH CM _| ^ < < CO CO > > < 3 CO > Z o Q O c X CD Z _J _l < < 3 3 CO CO > > OJ to -I -J < < 3 3 CO CO > > h5 levels. The nine outputs are labelled GTM0UT1 - GTM0UT3, BTM0UT1 - BTM0UT3 and PM0UT1 - PM0UT3. In the level 1, the T*-elements contain T-elements which have n = k, so three repetitions are necessary for full learning. In level 2 n = 2, so one repetition is sufficient for the correlation value to achieve full potential, In level 3, the most specific level in FROG, n = 1, thus learning is immediate. 5.2 Memory Integration Unit During a recognition (read) cycle the visual feature values are sent to the MEMORY. The three level outputs from each of GTM, BTM and PM are then handled by the MEMORY INTEGRATION UNIT (MIU). The MIU compares three signals at a time, starting with the three level 1 outputs. This comparison is done in an element called the MEMORY INTEGRATION SUBUNIT (MIS) described later. The outputs from the MCU are ALARMOUT, MIUOUT and NODECF (see Figure 5.3). If FROG senses a prey (good or bad tasting) there "will be an output, MIUOUT, proportional to its desire to eat. But if the memory outputs are too feeble or too confusing for a meaningful response, the NODECF output be- come 1.0. The logic realization of the MIS is shown in Figure 5.U. There are three inputs to the MIS; the three level outputs from the levels of GTM (or BTM, or PM). There are three outputs: MISOUT, ALARMIS and NODEC. if comparison of the input values result in a response (the response criteria are explained below) then either MISOUT or ALARMIS has a nonzero output; if no response can be generated, these outputs are zero. The third output, NODEC, tells the MIU whether there is a response or not; if a decision has been made, this output is zero, if not, it is one. GTM0UT1 BTMOUT1 PMOUT1 GTMOUT2 BTMOUT2 PMOUT2 GTMOUT3 BTMOUT3 PMOUT3 U6 MIS ALARMIS1 MISOUT1 NODEC1 MIS ALARMIS2 MISOUT2 4*0 S J— NODEC2 MIS ALARMIS3 MISOUT3 NODEC3 =NODECF M ) »-ALARMOUT { ~^~* MISOUT Figure 5.3 Block Diagram of a MIU hi GHZ) dOlS CO M 2 a3 o o •H ■p a) tsJ •H H cd _0.5 GTMOUT BTMOUT is the largest and >_ 0.5 BTMOUT PMOUT is the largest and >_ 0.5 PMOUT None of the input is largest by definition and/or all of them are < 0.5 1 Thus it is necessary for the numerically largest input to be greater than 0.5 and greater than the next input value by at least 0.05, if a decision is to be made. If these conditions are not met, then the outputs MISOUT and ALARMIS are zero and the output NODEC is one. A MIU consists of three MIS moduels with some additional logic to connect the modules (see Figure 5.3). The first MIS compares the level 1 outputs of the three memories. If no response is generated, based on the above criteria, then the outpus MIS0UT1 and ALARM0UT1 are zero and N0DEC1 is one. This allows the level 2 outputs to be gated into a second MIS. If comparison in this MIS yields no response the outputs MIS0UT2 and ALARM0UT2 are zero and N0DEC2 is one. The process continues for each of the MIS modules in a similar manner. If no response is generated after comparison of level 3 outputs, the N0DEC3 (= N0DECF) is made 1.0. The above discussion assumes that no response is generated in any of the MIS modules. If, however, a response is generated at the nth MIS module, then NODEC will be 0.0. This, by means of the m-elements between each module, U9 will cause 0.0 to be the x input for all of the S-elements of the yet unused modules, preventing (l) any further comparison and (2) the NODECF from becoming active (it remains 0*0). Thus there will be only one non- zero input to the two M-elements and this will be the output at either MIUOUT or ALARMOUT. The comparison within the MIU is so sequenced that it proceeds from the most general level of learning to the most specific (level 1 to 3). 5.3 Decision Unit The decision unit is the subunit of FROG that makes all the decisions. Inputs to it are (l) ALARMF (2) MIUOUTF (3) HUNGER (k) the three basic visual inputs (5) NODECF (6) LOCATION (the signal which tells FROG in which location the stimulus has appeared) and (7) POSITION (the signal which tells FROG its present position, i.e. the location in which it presently is). The outputs from it are the various decisions. The decision logic is as shown in Figure 5»5« From the inputs we derive a signal called FEED. Whenever the MIU comparisons yield an output, NODECF is zero. So the second input to the left hand M-element is zero. The output of this element is therefore equal to MIUOUTF. But when the MIU comparisons are indecisive, NODECF is 1.0 and MIUOUTF and ALARMF is zero. Under this circumstance, the output of the M-element equals 1.0, if hunger is >_ 0.5, or zero, when hunger is < 0.5. The output of the M-element is one of the input to the top m-element. The other inputs to it are HUNGER and the innate visual stimulus . (INNATESTIM) , which is simply the maximum function of the three visual characteristics. It serves in the early trials to tell FROG whether or not what it sees is a stimulus, before its memories have learned enough about the stimuli. 50 m O Al -*oc 1 u Q ! uj UJ v^ u UJ U. o UJ bl U. VI t- D O 2 tr < _j < m O V -*@ 13 UJ V ' rr UJ u. Z o (- < o o _l II o 1- a J G O •H W •H t) a> Q IA LA •H 51 The output of this m-element goes to a M-element. The other input to this M-element is nonzero only when hunger reaches the point of starvation (hunger = 1.0); when FROG is starving this input assumes a value equal to the innate visual stimulus. Thus, when FROG is at the point of starvation, its feeding impulse would be fairly large, i.e. FROG will eat any stimulus re- gardless of what its memories say about its good or bad taste. When FROG is not starving, the output of the m-element determines the value of FEED. FROG can assume one of four decisions as detailed in Table 5.2. The tabulation is self-explanatory. 52 co O •H en •H o CU Q CD En co -P a cu o u D] co CU 3 -P • • rt O •iH CO co aJ o Cu U 3 ^ p CO CU o % H fl bO -p 2 - H CO cu § cu a a 4) A cu ,2 •H •H CO TJ P Tj cu P P -P -H •H H CO CO V C Cd C • •H co iJ C P S a CO CO CO o cd < CU •H o 3 cu CO 3 cu .d ^ CU P •H H U •H i TJ CO 0) U CO -P a O -rl Ch o cd a cu o a o O «h ft CU o •H «H o •rH o E H •H xi o P cd a P K T* •H EH H CO CO E CO Pn cu H o •H P •H Tl a o o w C! O •H CO •H O CU Q Pn EH o CO B p o CM CO O CU Q 53 6. HARDWARE ORGANIZATION 6.1 Machine Representation of Numbers The logic of FROG is designed in terms of a set of nine basic logic elements which operate in the signal continuum to 1. One signal value can be distinguished from another by comparing them in an E-element (equivalence element). The E-elements can distinguish between two numbers which differ by at least 0.05 in their values. If, in the range to 1, we choose a set of n values such that they differ from one another by at least 0.05 in value (i.e. are distinguishable) and any other number chosen in the range to 1 is not distinguishable from one or more of the above set of numbers, then 10 < n < 20. In other words, in the range to 1, we can, in the limit, have a maximum of 20 distinguishable numbers, while the minimum is 10. So instead of working with a continuous range of values for the input variables we can quantize the input range to n levels. A variable x can assume one of n values depending on the level in which it falls, n = l6 is a convenient number so that the inputs can be coded into a k bit binary number. The machine representation of X of a variable x(0<_x J >• Y UJ o z UJ _l > o UJ m.s.b. > — l.s.b. 4-BIT MAGNITUDE COMPARATOR m.s.b. m.s.b. A 3 A 2 Ax A A = B B3 Bj Bi Bq >- l.s.b. l.s.b. > Y UJ > o UJ UJ m.s.b. M l.s.b. m.s.b. =0 s.b. — > l.s.b. >• Y l.s.b. at V) < zo -©- r >- m.s.b. m.s.b. — > X ■< 11 > H€>LZ L >- l.s.b. >• Y -> J l.s.b. Figure 6.2 Realization of Some of the Basic Logic Elements for FROG. (l.s."b. = least significant bit, m.s.b. = most significant bit) 56 LOGIC ELEMENTS NAME SYMBOL REALIZATION ;jsh 17^' y^ *, ■ 4 BIT MAGNITUDE COMPARATOR 4 BIT MAGNITUDE COMPARATOR Z33~^ ZX£^ y Figure 6.3 Realization of ra- and M- Elements. (l.s.b, significant bit, m.s.b. = most significant bit), = least 57 The M-element is similarly defined. Figure 6.3 shows the realization of that too. The Memory (MEM) Element The MEM-element is initially "unset" (no value stored) and its output is zero. It "sets" to (store) and "begins to output its first nonzero value. The output of a "set" MEM-element is invariant and constant. At any point in time the output will be the stored value. Subsequent inputs will neither change the stored value nor affect the output. A hardware realization of this element is shown in Figure 6.U. Use is made of D-type bistable latches (SN 7^+75) • Initially the circuit remains in a stable state with zero input, zero output (input and output lines all low) and the clock line high. The first time the input assumes a nonzero value, i.e. one or more the the input lines become nonzero, the output follows suit. This causes the clock line to go low (assuming the reset line to be low) and lock the input data into the latches. The output is now held steady and it remains unaffected by the input. The latches may be cleared by holding the input lines low (zero input) and making the reset line high. This makes the clock line high and puts the circuit back to the initial conidition, whereupon the reset line can be made low again. The Product (P) Element If x and x_ are the inputs to a P-element, the output y of the element is the product, x x , of the inputs. The product _of two U-bit binary numbers x and x is easily obtained by a stochastic method. Figure 6.5 shows the block diagram of the P-element The principle of operation is detailed below. Multiplication of two binary numbers by stochastic methods has been discussed in more details by Y. K. Wo in his doctoral thesis [lO], 58 LOGIC ELEMENT NAME SYMBOL >- O UJ — >{mem) — >y m s b X < I s.b. REALIZATION D CL D CL D CL D CL 4- BIT BISTABLE LATCH (SN7475) <3 m.s b -^ » — > > Y is b. RESET ri Figure 6.1+ Realization of the MEM-Element (l.s.b. = least significant bit m.s.b. = most significant bit). 59 LOGIC ELEMENT NAME SYMBOL REALIZATION o z> a o - Y Y ^ f Y m ■ B A*B AB A-B A» (n) X V V V V V V V V 4-BIT LATCH WITH LOCKOUT BINARY TO SRPS CONVERTER FRESH INPUT (FI) V M COUNTER FRACTION MULTIPLIER 8-BIT COUNTER COUNT UP Figure 6.6 Realization of a Transmittance (T.) Element (Schematic) (l.s.b. = least significant bit, m.s.b. = most significant bit. 62 same as that used in a P-element. This SRPS is passed through a circuit called the FRACTION MULTIPLIER which suppresses n - z pulses for every successive group of n input pulses (z = output of M-COUNTER) in order to achieve a multiplication by the fraction z/n = min(l,m/n). The output SRPS is converted back to an equivalent 8-bit binary number Y simply by accumulating the pulse sequence over a suitable length of time in an initially cleared 8-bit binary counter. Although, the stored value in the 4-bit latch stays unaltered in time, the output is recalculated using the current value of z everytime a pulse appears on the FI line. Thus the output of the circuit, stored in the counter, is Y = min(l,m/n) x stored value. 6.3 Realization of T*-Elements In order to provide for six different stimuli, only forty- two T*-elements are needed. The distribution of these elements in the various levels of GTM, BTM and PM is as follows: GTM BTM PM level 1 6 (#00 - 05) 6 (#06 - 11) 6 (#12 - IT) level 2 6 (#18 - 23) 6 (#24 - 29) 6 (#30 - 35) level 3 2 (#36 , 37) 2 (#38 , 39) 2 (#1+0 , Ul) Ik + ik + Ik = k2 total There are two T*-elements per chain in each of GTM, BTM and PM. The T*-elements in different levels have different numbers of sensory inputs and different stepping parameters (see Section k .2) . A level 1 T*-element has one sensory input and its stepping parameter n is k. In a level 2 T*- element, the number of sensory inputs is two and n = 2. A level 3 T*-element has three sensory inputs and for it n = 1. Instead of building forty-two T*-elements in hardware, FROG's circuitry is designed with one generalized T*-element module which is used forty-two times during any MEMORY read or 63 write operation. Data relevant to the forty-two elements are held in banks of registers (semiconductor memory IC's). The T*-element module performs proper fucntions on appropriately selected data. The circuit realization of the T*-elements is shown in Figures 6.7 through 6.10. The circuit 'T*-element part I' (Figure 6.8) shows the data memory for forty-two T*-elements, comprising of twelve l6 words x 4-bit word semiconductor memory ICs (SN 7489). These chips are organized as three rows of chips to give 48 rows of data words. The data for the forty- two T*-elements are stored in the word rows through kl 9 and selected by a 7-bit address on the lines LMADDR1 - 4 and LME1 - LME3. The left col umn of ICs stores the A 1 input values (DMEMINl). The next column of ICs stores the A 2 input values (DMEMIN2). The third column with one IC holds the A input values (DMEMIN3). The fourth column of ICs hold the nonvisual (B) input values (DMEMIN4). The rightmost column of ICs hold a 4-bit word for each T*-element. These are essentially some status bits. The first bit (DELSET) is to indicate if the T*-element is set or unset; DELSET = "0" means that the T*-element is yet unset and DELSET = "l" 2 signifies that the element is set (written into). The next three bits (DM3 - DM1 ) specify how many times the corresponding element has been written into, i.e., the current value of the parameter m (Section 4.2). The 4-bit comparator ICs (SN 7486s) form the E-elements of blocks 2 and 3 of T*-elements. These compare the stored values with the inputs. The results of the comparisons (LEQ1 - LEQ4 signals) decide if the element should read out its output value during a read cycle, and if it should get written into during a write cycle. The logic for doing this is in the center of the circuit 'T*-element part II' (Figure 6.8), which generates the LWRITE and LREAD signals. "0" = logic zero. "l" = logic one. 6k yj< »«t«X>44. ^yt »MCMis|j.| 7y< JMf«rug. i j< >mCmini-| PL, -P g H W I * En Pn 65 DMI >* — - J>M2 >^-* 5EISET -A-* pwt yt-^»d •$ 9 % % © Sf a, C O » N 5 20 -11 < 3>HI 2»* psFftje*i«>i»- PH4 > JMEMIM4 ' ? j?- g Xfe > PWE < PC LI ^-^ rm 32 > L«fAD Ji>L W RJTE H >t*«wff 0- j>MeMiMi-i >ff s »H[MtWJ.I»V »memi w2-i >rf- $1 GfeBi ASUS || JJMEMt Ml - 1 >^- 5T iMtMlKll-^V^- OM« ©ajS'BiisStt **• H — — ® R n 1 ty?T fg <©^ rs*-tnf- l» ■-■5 **SSj-. Wi -< +5V (5) i < 6>-ui 77,7t -w ai « ei AS n M A* Ai*«<» l A0 ^60 Ai £ 61 At J- 12 A3 K M a* A**a L in 'III if 1 _i _ o * e -p U cd PL. -P CD a 0) H W I * Eh CO VO CD U S) •H 66 The four ICs (numbered 1 through k) on the left side of the circuit in Figure 6.8 generate the maximum of the sensory inputs. This is the DINNATESTIM value, when all the sensory inputs are applied to the circuit. When writing into a T*-element, a product has to be formed of the maximum of the applied inputs and the reward input value. To do that the two numbers are converted into two independent synchronous random pulse sequences (SRPS). The 8-bit pseudo-random number DRNG1, generated elsewhere in the system, is used for the conversion. The random number generator is cycled through 255 states. The two SRPSs are multiplied by the AND gates in the lower center of the circuit diagram. The output sequence (DRAWRPS) goes to the 'fraction multiplier' (Figure 6.9) • The 2-bit signal DN2 - DN1 in 'T*-Element part II' specifies if the selected T*-element is in level 1 or level 2 or level 3. Before a write cycle, the current status bits (DELSET, DM3, DM2, DM1 ) are loaded into the H-bit latch SNT^l?^ (IC #13). If DELSET = "0" and the element is being written into, or if DELSET is already a "l" , then DELSET' is made equal to a "l". The number specified by DM is incremented by a 1 if the element is being written into and the number has not already reached the maximum value (i.e., already equal to the stepping parameter, n), and is returned as DM'. The four bits DELSET', DM3', DM2', DM1' are stored back in the memory 1 This quantity has previously been referred to as the INNATESTIM signal in Section 5-3. In the actual hardware system, to all signal names another letter is added at the front to denote the nature of the signal. The con- vention followed is: A D at the beginning of a signal name signifies a data signal or data pulse train; a P signifies a timing signal; an L signifies a level status or a level control signal. Also a bar is drawn over the signal name if the signal is active low. A note should be taken of these facts w-en decipering the for the signal names. 61 * 71,75 priwMNIT V- - ? p:i msf. ii <. ®u» — i 4 |n r-'<® ©"H *4 CK© A® J @ l© n te PWl X®GTj£ \ T ¥ *— < 3>T«TARNO-l * Psf TNBHiOD A A Figure 6.9 Fraction Multiplier 68 ICs as the new status bits, true after the current write cycle. All of this is performed by the logic on the left hand side of 'T*-element part II 1 . The output of the flipflop at the center of the circuit is the LNBHOOD signal. During the write cycle of any trial, the NBHOOD flipflop is set if the T*-element addressed happens to be the first in the chain. This is deter- mined by seeing if the DTSTARNO value is even. The flipflop is reset if this T*-element is written into. So, for the second T*-element in any chain, the LNBHOOD signal is 1.0 only if the first in the chain is not written into in that trial. The purpose of the 'fraction multiplier' circuit (Figure 6.9) is to multiply the product from 'T*-element part II' by the fraction min(l,m/n). This is done by the suppression of an appropriate number of pulses from the product SRPS (DRAWRPS) and accumulating the rest of the pulses in an 8-bit binary counter (one for each T*-element). This number is then the correlation value for the T*-element and the counter serves as the inherent memory of the T-element inside. The exact pattern of suppression, of course, depend on the values of DM' and DN bits which respectively specify m and n. The flipflops and the four logic gates immediately below the flipflops take the product SRPS (DRAWRPS) and generates four sequences with x pulses out of every group of four pulses suppressed, where x = 0, 1, 2 and 3 for the four sequences. This corresponds to multi- plication by 1.00, 0.75, 0.50 and 0.25 respectively. The selection logic (AND - OR - INVERT gate) at the center of the diagram is set upto select the right pulse sequence. The selector is appropriately controlled by the logic at the bottom of the Figure, the inputs to which are DM' and DN bits. In order to hold the correlation values of the forty-two T*-elements, the same number of 8-bit binary counters are needed. The correlation value is needed only in U-bit precision for subsequent calculations. So, the last 69 ifli > 72 102 >- 60 J8 ::®>r =H^r C@v 4^ :=®V .704 105 >- lofc 2% Wo v« > T -1' T I^HU > -i— 7/. 7g 4^ -TTisV <^ — :^>r iS>r S®>- -© o o H M tat - - 1 t$ I I gnu ¥ 74 IM @ HE v a a ■ 74i>3 OS) 1 I T Vofv wnt? 74193 ® T IS Jli 74193 © 1 £ v< C f (§) ~~ 1 © © A A. H crit c © 74 195 (D I n * b J3 C?®i ?g>"- Scs^r 4t5H — ^ 0,fc r> 0°4 7* w> *i *o VI «> > 009 >0|O » 0H -> an ®i yr>e)i5 >0\S t — ir>0'8 I B>^'9 5S>^° rf^*-^ 62i *sfc 12 A A A A A A ff> o ; ^ 2? it H h hhHh Figure 6.10 Counter Card 70 four bits need not be stored. This is effectively achieved by making the pulses accumulate in a U-bit counter in the fraction multiplier and then by accumulating the carry pulses (DOUTRPS sequence) in a second H-bit counter to give the top four bits of the correlation value. A separate counter is provided for each T*-element addressed. Forty-two U-bit binary counters (forty-two SN7^193s in seven 'counter' circuit boards, with six counters per board as shown in Figure 6.10) are provided and selected appropriately. 6. k Overall Hardware Organization The overall hardware organization of FROG is shown in Figure 6.11. Each box represents a circuit card in the actual set-up. The function of each of these circuit cards is described in this section. The four circuit cards 'set up 1' through 'set up H' have preset switches for programming-in the visual and nonvisual input values for the six different types of stimuli. When the stimulus number is specified, the signal DSTIMNO, the three sensory (visual) input values get defined on the DVISIN1, DVISIN2, DVISIN3 lines. Also the reward value (GT, BT or PAIN value) is made available on the appropriate one of the three outputs DGTSTIN, DBTSTIN, DPAININ. As we mentioned in the last section, reading or writing from the T*-elements is sequential, because there is really one T*-element moudle which, in con- junction with relevant data, is used forty-two times. So during any read or write cycle, the bookkeeping is done by the use of a 6-bit binary counter called C0UNTER2 in the 'register' card. The value of this 6-bit signal goes from the 'register' card to the 'decoder' card. The four least significant bits of DTSTARNO are used for the U-bit LMADDR for the 'T*-element part I» card. The other three bits LME1 - LME3, going to 'T*-element part I', are generated by decoding the top two bits of DTSTARNO in the 'decoder* card. 71 I [ugggnn^ ittttttt D6TSTIN ^ ll&TSTIN v FC 1(1 j^tS^ ^> r^ BVISINJ. a: o u uJ _J (.a p st;mno ^ I/) UJ X o i UJ Z s taws' LSW1 £ I3KT P cC Ul t; s or pLOCJN 83 II LSW7 CfNTtR |lf O •H -p oj N •H d bO Vi o a) a] W H O •H 72 The 'decoder 1 also generates twelve control signals LSEL1 - LSEL12 from the DTSTARNO signal. These go to the 'selector' circuit, the function of which will be explained shortly. Forty-two more control signals LDOO through LDkl are generated in the 'decoder' card from the DTSTARNO signal. These control signals go to enable the forty-two l+-bit binary counters in the seven 'counter' cards. When DTSTARNO value is zero, LDOO is active, i.e., goes to "0", with all other control signals remaining at "l". When DSTARNO value is twenty-three, LD23 is "0", the rest staying at "l" and so on. These signals enable the input to the proper counter during a write or a clear operation. The fourth signal which is generated in the 'decoder' circuit is the 2-bit DN signal, which specifies the level number of the T*-element, being selected by the value of DTSTARNO signal in the following manner: DN2 DN1 Level # <_ DTSTARNO £ IT 1 1 17 < DTSTARNO ± 35 1 2 35 < DTSTARNO <_ kl 3 This 2-bit signal also indirectly specify the stepping parameter n for the selected T*-element. This signal is used both in 'T*-element part II' card and in 'fraction multiplier' card. The 'selector' card has as its inputs the signals coming from the 'set up' cards. It generates as its outputs, the data inputs to the 'T*-element' cards (DMEMIN1 through DMEMINU). Obviously, the inputs to the 'T*-element ' cards depend on the DTSTARNO value. The inputs for the various values of the DTSTARNO values are shown in Table 6.1. Necessary selection signals LSEL1 thorugh LSEL12, derived from DTSTARNO in 'decoder*, comes to 'selector' card to do the proper selection. 73 Table 6.1 Selector Circuit: Input-Output Relationship DTSTAPNO DMEMIN1 DMEMIN2 DMEMIN3 DMEMINU 00 DVISIN1 0000 0000 DGTSTIN 01 DVIRIN1 0000 0000 DOTSTIN 02 DVISIN2 0000 0000 DOTSTIN level 1 03 DVISIN2 0000 0000 DOTSTIN OTM Oil DVISIN3 0000 0000 DGTSTIN 05 DVISIN3 0000 0000 DOTSTIN 06 DVISIN1 0000 0000 DBTSTIN 07 DVISIN1 0000 0000 DBTSTIN 08 DVISIN2 0000 0000 DBTSTIN level 1 09 PVISIN2 0000 0000 DBTSTIN BTM 10 DVISIN3 0000 0000 DBTSTIN 11 DVISIN3 0000 0000 DBTSTIN 12 DVTSIN1 0000 0000 DPAININ ■ 13 DVISIN1 0000 0000 DPAININ 111 DVISIN2 0000 0000 DPAININ level 1 15 DVISIN2 0000 0000 DPAININ PM 16 DVISIN3 0000 0000 DPAININ 17 DVISIN3 0000 0000 DPAININ 18 DVISIN1 DVISIN2 0000 DGTSTIN 19 DVISIN1 DVISIN2 oooo DOTSTIN 20 DVTSIN1 DVTSIN3 0000 DGTSTIN level 2 21 DVISIN1 DVISIN3 0000 DGTSTIN GTM 22 DVTSIN2 DVIGIN3 0000 DGTSTIN 23 DVISIN2 DVISIN3 0000 DGTSTIN 2U DVISIN1 DVISIN2 0000 DBTSTIN 25 DVISIN1 DVTSIN2 0000 DBTSTIN 26 DVISIN1 DVISIN3 0000 DBTSTIN level 2 27 DVISIN1 DVISIN3 0000 DBTSTIN BTM 28 DVISIN2 DVISIN3 0000 DBTSTIN 29 DVISIN2 DVISIH3 0000 DBTSTIN 30 DVISIN1 DVISIN2 0000 DPAININ 31 DVISIN1 DVISIN2 0000 DPAININ 32 DVISIN1 DVISIN3 0000 DPAININ level 2 33 DVISIN1 DVISIN3 0000 DPAININ PM 3U DVISIN2 DVISIN3 0000 DPAININ 35 DVISIN2 DVISIN3 0000 DPAININ 36 DVISIN1 DVISIN2 DVISIN3 DGTSTIN level 3 3? DVISIN1 DVISIN2 DVISIN3 DGTSTIN GTM 38 DVISIN1 DVISIN2 DVISIN3 DBTSTIN level 3 39 DVISIN1 DVISIN2 DVISIN3 DBTSTIN BTM ko DVISIN1 DVISIN2 DVISIN3 DPAININ level 3 \ kl DVISIN1 DVISIN2 DVISIN3 DPAININ PM Ik The function of, the inputs to and the outputs from the 'T*-element part I' card, the 'T*-element part II' card and the 'fraction multiplier' card have been explained in Section 6.3. As has been mentioned in Section 6.3, the correlation values are stored in the seven 'counter' cards, each having six U-bit binary counters. The input to these counters are enabled by forty-two control signals LDOO through LDhl coming from the 'decoder'. During a read-out from the MEMORY, as the control sequences through the forty-two T*-elements, everytime the stored sensory input values match the presented sensory input values, the LREAD signal goes from a "0" to a "l". This signifies that the corresponding T*-elements should output its stored correlation value. The status of the LREAD signal for the forty-two T*-elements during a read-out, is stored in a sequence in a ^2-bit shift register (actually a U8-bit shift register of which the first forty-two bit positions are used) in the 'shift register' card. These forty-two bits are available as forty- two control signals, LROO throug LRUl, to enable the outputs of the proper counters in the 'counter' cards. The forty-two U-bit numbers from the seven 'counter' cards are compared in M-elements in seven 'comparison' cards to generate the nine level outputs (three from each of GTM, BTM and PM) in a manner as discussed in Section 5.1. The circuit of a 'comparison' card is functionally equivalent to the following arrangement shown in Figure 6.12. The input-output relationship of this arrangement, shown in terms of the basic continuous logic elements is fairly self-explanatory . 75 M M M J& ?*> Figure 6.12 Comparison Card: Continuous Element Logic Diagram The level outputs go to the three 'MIS 1 cards which realizes the MIU as detailed in Section 5.2. The six U-bit numbers (MIS0UT1 - 3, ALARMIS1 - 3) and the DNODECF signals coming out of these 'MIS' cards go into the 'max elements and DU' card. In this circuit, first the DMEMOUT and the DALARMOUT signals are generated by use of M-elements (see Figure 5-3) • These signals along with DINNATESTIM, DHUNGER, DNODECF are processed in the circuit realiza- tion of the decision unit (DU) to result in the decisions (DDIN signal). The signal LPOSEQLOC entering the 'max elements and DU' circuit is a signal that indicates if the position of FROG is the same as the location of the stimulus. The DDIN signal is U-bit wide, one bit goes to a "l" to indicate the decision in accordance with the Figure 5-5- The circuits in the 'comparison', the 'MIS' and the 'max elements and DU' cards being pruely combinational, are fairly straightforward. The circuit cards described uptil now occupy the lower rack of the FROG assembly (see Figure 3.1). The following paragraphs give description of the circuit cards in the upper rack, and other variously mounted circuits. The signals from the switches on the front panel come to the circuit board called 'switches and RNG2'. This circuit board has a psuedo-random 76 number generator to generate, if required to do so "by selection of the panel switches, a random sequence of stimuli at random locations. The type of the stimulus chosen for a cycle is outputted as a 3-bit signal DSTIMIN from this card. The location choice is indicated by a 2-bit number DLOCIN. The motion override signal, LOVERRIDE, and the enter pulse, PENTER, from the panel are also available as outputs of this card. The 'register' card essentially consists of several latches for storing various signals. The HUNGER register is in the form of a 4-bit counter, which stores the current value of the hunger signal. Incrementation or decrementa- tion of this value is done by making the counter either count up or count down. The counter is protected by additional logic from overflowing or underflowing (i.e., if it is already at 1111, an attempt to increment will not affect the count, and if a 0000, attempt to decrement will leave the value unchanged). There is a provision, a 4-bit preset switch, by which the hunger value can be initialized to a desired value. The 'register' card has the counter C0UNTER2 which is used for keeping count when sequencing through the forty-two T*-elements (refer to Section 6.3). The outputs of this counter are the six bits of DTSTARNO. The STIMULUS register loads, at the beginning of a trial, the value of the DSTIMNO signal. This allows the switches to be changed for the next trial, while computation for the current trial is in progress. The decision, as generated in the decision unit, comes to the 'register' card as the DDIN signal bits and is stored in two separate registers. The two registers, the DECISION register and the DECISION DISPLAY register, are both loaded at the end of the read cycle, when the DDIN signal becomes reliable. The reason for having two registers holding the same quantity is that when a wrong decision (i.e., a decision to feed on a dangerous stimulus) is made, then following the encounter with the stimulus the DECISION DISPLAY 77 register is changed to show a flee, while the initial wrong decision is maintained in the DECISION register for reference. The output from the DECISION DISPLAY register and that from the STIMULUS register decoded to six lines (with one active at a time) are sent via cables to the 'monitor' circuit for the display of the decision (l of k) and the stimulus number (l of 6). The 'monitor' card is mounted behind the panel. The 'lighting and motion I' card has the circuitry which decides which lamp segments to light up on the board based on i) the position of FROG, ii) the location of the stimulus and iii) the decision about the stimulus. The current position of FROG is maintained in a 2-bit POSITION register in this circuit card, and updated at appropriate times. The location of the stimulus, as indicated by the DLOCIN signal from the 'switches and RNG2' card, is stored for a trial in another 2-bit register. This card also generates a command signal, PSTARTMOVE , for initiating the movement of the movable block (MB) at appropriate times. Lastly, the card has a 3-digit BCD counter called C0UNTER1 which keeps track of the trial number. From the 'lighting and motion control I' card, therefore, the pulse command signal PSTARTMOVE go to the 'motion control II' circuit. The DPOSITION ( 2-bit s) and DLOCATION ( 2-bit s) signals out of the appropriate registers, and the DTRIALNO signal (three U-bit groups) go on cables to the 'monitor' card for display of the position of FROG, the location of the stimulus and the trial number. Also, two more 2-bit signals, LSTART and LFINISH, generated in this card, go on a different cable to the 'lighting control II' circuit to indicate the starting and the end position of FROG every time a motion has to be initiated. The 'motion control II' circuit controls the movement of MB. The PSTARTMOVE command sets a flipflop in the circuit. The output LMOVE of the flipflop is delayed by one second to allow for the lamps on the board, when 78 lit up or changed, to settle to a stable pattern. This delayed signal LM goes via a flexible cable to the circuits in MB to start the motors. The stop signal LP4 (active low), which is generated as soon as the end of the track is detected (see Section 3-7), is relayed back on this cable to reset the flipflop. This immediately deactivates LMOVE and LM signals to stop MB. The dc power to the two motors are also provided from this card to MB through the cable. Two potentiometers can be adjusted for partial control of the currents in the individual motors. This helps in balancing the speeds of the two motors . The 'lighting control II' card is a 17 inch wide card which is mounted below the lower card rack (see Figure 3.l). It has twenty six circuits for driving lamps. Eighteen of these are for driving segments of under-the- track lights, four for stop lights indicating end of track, and four lights for indicating the four locations on the board. The signals received by 'lighting control II' circuit through the cable from 'lighting and motion control I' are DLOCATION (2-bits), DPOSITION (2-bits), DSTART (2-bits) and DFINISH (2-bits). These signals are decoded to light up the appropriate lights and light segments. The 'monitor' card is mounted at the back of the panel. The DTRIALNO signal (three BCD digits) is displayed on three BCD 7-segment LED displays as the TRIAL NUMBER. The hunger value is displayed on a linear display with fifteen LEDs. The DPOSITION signal is displayed on a 7-segment LED display to indicate the current position of FROG. The DLOCATION signal is similarly displayed on another 7-segment LED display. The stimulus number, given by the 6-line DSTIMULUS signal, and the decision, given by the set of four signals (DREST, DALARM, DFLEE, DFEED) come to the 'monitor' card 79 from the 'register' card. These are displayed by LED lamps. The circuit in the 'monitor' card is purely combinational. The remaining four cards, 'system clock and busy flip-flops', 'control I', 'control II', and 'control III ', generates the necessary control signals for the proper sequencing of all operations. 80 7. RESULTS AND CONCLUSION 7-1 Discussion of a Typical Sequence of Trials In order to investigate the behavior of FROG, the machine was run through a sequence of 50 trials, in which all the stimuli were presented in a fairly- arbitrary fashion. A trial by trial summary of the run is given in Appendix A. This section gives a discussion of the results. The run started with three consecutive presentations of stimuli of type 5, which are dangerous for FROG. In the very first presentation (trial #l), FROG ignored this stimulus because it knew nothing about the stimulus, and it was not hungry enough (hunger = 7/15 < 1/2). In the next trial, since hunger value was greater then 0.5 (hunger = 8/15), FROG was tempted to feed on the stimulus. The encounter was obviously painful, and so, FROG had to flee from the stimulus. The single encounter provided some learning in level 3, which made FROG correctly recognize a stimulus of type 5 to be. a dangerous one in trial #3. Inspite of the fact that the hunger value was high, FROG avoided the stimulus in this trial, For the next three trials, FROG was presented with stimuli of type 1, which are good tasting. The presented stimulus was fed upon each time. The first time (trial #M, the decision was hunger-forced. But the next two times, the decisions were memory assisted, with the cognitive mechanism making correct inferences. Following this, a stimulus of type 5 was presented. FROG decided to feed on it. This obviously was a wrong decision. This happened because of the shared feature (the color, black) between a type 1 stimulus and a type 5 stimulus. The encounters with type 1 stimulus in trial #s U,5 and 6 had biased it into generally associating the color black with good taste. So, in 81 trial #5, on seeing a black stimulus FROG concluded that it must be good tasting (a level 1 decision) without paying much attention to the particular combination in which this feature appears. A previous encounter with a stimulus of type 5 (trial #2) was not of help, because it did not provide sufficient counteracting evidence in level 1 (the most general level). This trend continued in the next trial (#8), when a wrong attempt to feed on a type 5 stimulus was once again made in confusion with a type 1 stimulus. This trend got corrected in the next trial. The stimulus was correctly recognized and avoided. Presentation of a stimulus of type 1 in the 10th trial was followed by a feeding action. Since it was the fourth time a stimulus of this type was eaten, even the level 1 T*-element outputs were brought up to their full potential. So a full learning of stimuli of type 1 was achieved at the end of this trial. A type 3 stimulus was presented for the first time in trial #11. It is red, round and small. FROG did not have an encounter with anything red and/or small before, but did have some unpleasant experience with something round (stimulus of type 5). So FROG's reaction to a type 3 stimulus was one of avoidance. Obviously no learning took place. A stimulus of type k was introduced for the first time in trial #12. Except for its color, which is yellow, it looks very similar to a stimulus of type 1. A type k stimulus is a bad tasting stimulus. Because of the similarity of stimuli of types 1 and k and because of the pleasantly rewarding experience with type 1 stimuli, FROG decided that the new stimulus must be good tasting too and fed on it. The same behavior was witnessed in the next two trials as well. Be- cause of these feedings, the situation was corrected in trial #15 , when a type 4 stimulus was ignored, being recognized as a bad tasting stimulus. 82 Trial #16 saw the first introduction of a type 2 stimulus. Because of its yellow color, it was initially thought to be of type h, which FROG had just learned to be a bad tasting stimulus. So the presented stimulus was ignored by FROG. FROG was again tested with some type 5 stimuli in trial #s IT and 18. In trial #17, FROG attempted (wrongly) to feed on it, in confusion with a stimulus of type 1, which has the same color. Although, FROG had apparently learned to distinguish a stimulus of type 5 from a stimulus of type 1 (witness trial #9)> the encounter with a stimulus of type 1 in trial #10 led FROG to believe, once again, that the color black is associated with good taste. FROG's attempt to feed on a type 5 stimulus in trial #17 resulted in full learning of a type 5 stimulus. The second presentation of a type 2 stimulus was in trial #19 > when FROG recognized it to be a dangerous one. This is because a type 2 stimulus is of the same size as a t^ pe 5 stimulus, and a large number of unpleasant encounters with type 5 stimuli had already taken place by that time. But inspite of this warn- ing from the memory, FROG decided to go ahead and eat the stimulus because the hunger condition was at its maximum (starvation point). In the next eight trials (#20 through 27), FROG was presented with type 2 stimuli only. During the trials 20 through 25, FROG consistently reocgnized type 2 stimuli to be dangerous ones (being biased by #5) s but fed on it in trials 21, 23 and 25, being starvation forced. These four feeding attempts caused full learn- ing of stimuli of type 2 5 and helped reverse the trend. This is evidenced by FROG's decision to feed on stimuli of type 2 in trials 26, 27, and later in trials 1+7, hQ as well. A type 6 stimulus appeared for the first time in trial #28. Based solely on color, a type 6 stimulus is similar to a type 3 (a bad tasting) stimulus. Based on size, a type 6 stimulus is similar to both a type 2 (good tasting) 83 stimulus and a type 5 (dangerous) stimulus. Because of these shared features, more than one submemory (GTM, BTM and PM) outputted equal values resulting in no generated response at these levels. Since nothing was known about a stimulus of type 6, no response came from level 3 either. So, the MIU generated no output and NODECF signal was 1.0. Under this condition, FROG decided to feed on the stimulus based solely on the hunger value (hunger = 1100). This feeding attempt was obviously followed by a fleeing reaction. This encounter produced enough learning for FROG to stay away from a stimulus of type 6 in the very next trial (#29). This decision, of course, was primarily guided by the level 3 output from PM, with no response generated in levels 1 and 2 as in the last trial. In the next eight trials (#30 through 37) » stimuli of type 3 were pre- sented seven times. In each of the first six presentations (trial #s 30, 31, 32, 33, 35 and 36), the reaction of FROG was similar to what it had been towards a type 3 stimulus in trial #11, i.e., one of recognizing it to be a dangerous one (confusing it with a type 5 stimulus, which has the same shape). Starvation forced attempts to feed, however, were made in trials 30, 32 and 36. These three feedings caused FROG to recognize a stimulus of type 3 correctly in trials 37 and 39 • Although the stimulus avoided in trial #37* it was fed upon in trial #39 > because the hunger value was 1.0. This feeding resulted in full learning of type 3 stimuli. In the middle of this long spell with type 3 stimuli, a stimulus of type h was slipped-in in trial #3^. It was correctly recognized as a bad tasting stimulus. A starvation condition, however, caused forced feeding, also resulting in a full learning of stimuli of type h. FROG's reactions to stimuli of type 6 were tested in trial #s 38, *+0, hl t and k2. In trial #38, a type 6 stimulus was correctly recognized by 8U FROG as a dangerous stimulus, but, once again, a starvation condition existing caused FROG to attempt to feed on the stimulus anyway. The next time a type 6 stimulus was presented (trial #1+0), FROG decided to ignore it thinking it to be of the kind of a type 3 stimulus (both being red). The reaction was the same in the next trial (#1+1), although hunger = 1.0 forced FROG to make a feeding attempt with unpleasant outcome. The same behavior was repeated the next time as well. These attempts to feed on a type 6 stimulus, in sheer desperation, resulted in a full learning of stimuli of type 6. The remaining trials (# 1+3 through 50) are significant. By trial # 1+2 each of the six different types of stimuli had been fed upon (or attempts had been made to do so) at least four times. All the stimuli were fully learned. In other words, the T*-elements were not going to be incremented or adjusted any further. Therefore, it is important for FROG to have recognized all the different stimuli correctly. An examination of the responses will show that this is definitely the case. 7.2 Results in Summary and Concluding Remarks At birth the tendencies of the device are guided by the hunger value and/or the innate sensory input value of the presented stimulus. The reactions of FROG toward the various types of stimuli depend, among other factors, on the sequence in which the stimuli are encountered and the extent to which features are shared. For example, in the given run, whereas the good tasting stimuli of type 1 were fully learned in four appearances, the stimuli of type 2, which are good tasting too, had to be presented eight times before they were fully learned. In general the good tasting stimuli have a better chance of being adapted faster, because they are more readily fed upon. Avoidance of the bad tasting or dangerous ones slows down the learning of those types. 85 Given a sufficient number of presentations (usually k to 10 appearances) each type of stimulus is learned correctly. However, because of the shared features between the different types and because of FROG's inherent tendency to make gross decisions, errors result in the learning phase. There are three distinct types of errors made by FROG. The first is to decide to feed on a stimulus of the bad tasting or dangerous type. Errors of this type are easily corrected, for the feeding encounters result in additional learning which alleviates the problem. The second type of error occurs when a good tasting stimulus is avoided. This response is not self-corrective; with feeding inhibited, additional learning is not possible. Only starvation forced feeding helped reverse the situation in this case. A third type of error is made when a dangerous stimulus is avoided, being mistaken as a bad tasting stimulus or vice-versa. Although this behavior inhibits proper learning, its effect is not altogether undesirable. However, since this type of error means avoidance, the stimulus types are not learned properly and might subsequently lead to type 1 error. Admittedly the device is not always perfect; it makes mistakes. It is these mistakes which make the simulation more realistic, showing that "pro- cessing from the general to the specific" is a very plausible mode of operation of the nervous systems in the biological world. In this simulation, for the particular choice of the stimulus types, an examination of trials k3 through 50 show that except for stimulus of type 2 and k t which were resolved only by examining the level 3 outputs, all others were resolved at level 2. If the mechanism makes a sequential search through the data in its world model (i.e., memory) during a read cycle (as would be the case when 86 the mechanism has only one processing element), we can argue that there will be an improvement in the response time, when attempts are always made to make decisions on a gross context. The response time is the time between the presentation of the stimulus and the making of a decision about it. It is not possible to exactly calculate the improvement in response time by organizing data in various extra levels (of generalization), because the improvement is data dependent. But, in most cases, where some general trends and natural clusters exist in the stimulus range, an improvement of the response time is to be expected. This point is further elaborated in Appendix B. Note must be taken of the fact that generalization from the observed data gives the ability to respond to new stimuli. In this simulation, similar stimuli, however, were purposely made to be of absolutely different nature. Therefore, memory assisted approach to a new sitmulus usually meant incorrect prediction (cf,, trial #s 11, 12, l6). This facility can, of course be conceivably exploited more for the good of the mechanism in a different situation. In order to respond to new situations, the scheme uses extra memory over a scheme in which the observed data is retained in a simple ordered list. Although the extra memory requirement is not of an alarming proportion (see Appendix B\ it is probably possible to reduce the requirement by employing a few simple tricks. One method that seems to be of promise, is to release the memory elements (and the related data) which are not used during read-outs over an extended period of time. Thus, for those stimuli which are recognized by considering the level 1 or level 2 outputs, data relevant to such stimuli in the lower levels may be discarded. Alternatively, all memory elements may, periodically (e.g., every trial), have their contents reduced by a small amount, unless they are read out or written into in that period. Also, the elements may then be released if their contents become too small. This 87 can well simulate the decay or loss of memory observed in living beings. No attempt has been made to incorporate this in FROG. The operation of FROG is sensitive to the assignment of values to the fea- tures. A proper discrimination of the various classes of stimuli is dependent on the adjustment of these values. So, the learning process in FROG is a supervised learning. Although it is possible to propose methods of statistically adapting to the proper values, schemes using unsupervised learning have generally been found to have unsatisfactory results. Incorporation of built-in premises and biases, or taking a heuristic approach, seems to provide better results in most machine cognition activity. It might be added that even in living organisms, a lot of knowledge and innate tendencies are handed down from generation to generation. This may be thought to belong to the group intelligence of the species, which an individual specimen of the species does not totally adaptively acquire from its own experience. Other situations, where this type of modelling (using generalizations and using quick decision making based on the principle of "processing from the general to the specific") will probably be quite suited, are as follows : (a) A complex system which is required to respond quickly to some critical modes of failure, where an exhaustive list of failure patterns' is either too long to search, or cannot be completely specified. Such systems probably have to take some quick precautionary measures based on inexact judgements, and then go into further details to resolve the cause of failures. Since all modes of failure cannot be predicted and simulated ahead of time, an adaptive system becomes necessary. This might find use in automatic maintenance of a complex network or system, such as a large electornic switching systems in telephone networks. 88 (b) An interactive advisory system where machines are employed to advise and guide human beings in locating problems based on a pattern of symptoms. It is conceivable that the machine, at all stages, will probably need to make inexact decisions about probable causes, and ask the human subject meaningful questions to get to the final interpretation. A medical diagnostic program can probably be thought in these lines. 89 APPENDIX A SUMMARY OF A SEQUENCE OF TRIALS The sequence consisted of 50 trials. A summary of the run is given in the following pages. A guide to the various columns is given below: Trial# - serial number of the trial. Stimulus - the number of the stimulus presented in the current trial. HUNGER - current value of FROG's hunger. FEED - value of the FEED signal. ALARMOUT - value of the ALARMOUT signal. Decision - mode of action decided upon by FROG for the stimulus pre- sented. Abbreviations used are: F = FROG decided to feed on the stimulus. R = FROG decided to rest and ignore the stimulus. A = FROG is alarmed by the presence of the stimulus. FF = FROG decided to feed on a dangerous stimulus , and flee to its safe resting place on encounter. Primary Reason - Entries to this column are the signals which were primarily responsible for the decision. The following abbreviations are used: h = HUNGER. i = INNATESTIM. GTMr = level r GTM output. BTMr = level r BTM output. PMr = level r PM output. 90 iH \f\ CO +3 c CD o o CD P CJ cd m u o o C CD U P> cd cd T3 Cm O cc! Cd cc! a) T3 cd cd V, O 43 JC 0) £ ,C x: ,C A ,c P p p ttf p p p P P P P tc •H •H o c •H •H •H •H CJ •H •H C > > CD •H !* > > > CD U > a c G m w M C G C M C C M o O O a) O O O o O o O cd -H •H o 0) •H •H •H •H o •H •H CD co CO H 10 CO CO CO CO CO .H 3 3 •tf 3 3 2 3 -d 3 3

LTN 'Cf i/> ir\ T3 OJ a) a> cd cd CD cd a! 0) cd cd CU «M >d o o o O O Tl 01 ^J M X! X! ft ^3 x: u ,C .G Jh CU -p •P o ■P P o -P p o ■P ■P o bC ■P o •H £ > > Js > > •H cu h G G c C a M U c O c a o C a o a Pi O M M co O o •H o o •H o o •H o o •H a) O p O •H •P •H •H -P •H •H ■P •H •H P CU a a co cd CO CO a) CO CO cd CO CO cd rH PI 3 > »d n" c «M 0 m CO T) m cd £ •H > •H > > > •H c G C C U a g c G G G C o c O JU c a o U o O M c G O g O «H M o •H o •h cd o o •H o •H •H crj c O •H o •H crj -p •H -p •H ■P 0) •H •H -p o -P -P CU •H •H ■P •H •P CU c 10 cd CO 03 rH CO to cd cd crj H CO CO crj CO CTj rH s > p- 3 > TJ > £ js P > 2 > B crj Cd rH c g crj G a) rH o o -p o -P p o o -P u -P ■P 3 o o •P O CO «M o o to o W X K r H >. H U o h H II •H H rH r - r P, a o ■H 0] ■H M, u 01 Q Eh D O rH r: H K O < H J < Q rH H H P rH pt. H Oh W H O H H H O rH II «=. H O O O O O o o II •H o ft, O c o o o c o H II rH H O O O O O O H H H H II H H C H II H Ph H H O H H H H H H H H H H H II II •G A fl H H rH H H H rH H H H H H II rH II OJ II 0J Eh c P pq PC n K O O O o o o o o o H H H H H H H H pt, O O O O H II ^3 H H H H H H H H II II H H *T' P P pq pn H K O o o o o o o o o H H tr-, o o o o H H H H H H H H II