MIKROKOSMS and Robots
Proceedings of the First International Joint Conference on Artificial Intelligence. Integrated Artificial Intelligence Systems. Pages 541-556.
© 1969 International Joint Conferences on Artificial Intelligence
Abstract
This pape rpresents a computer program that simulates situations (called " MIKROKOSMS") in which severl entities (called " organisms ") wander around in an environment that includes one another plus other, apparently simpler, entities (called " objects"). The program has a rather simple set of "laws " of objects , which can be thought of as the laws o f physics of the MIKROKOSM. It also has the specifications for organisms - their input and output functions (called "perception" and "response"), their reward functions (called " motivation" or "needs"), and their mechanisms for building up internal memories (called "learning" and "hypothesis formation") that will ·help them to recognize objects in the future , and respond appropriately to them (for example, in order to maxi mi z e expected rewards). This program lays bare the processes that are needed to handle interactions among simulated organisms and objects, including the learning of hypotheses that will guide future action. The present program has only the simplest of pattern recognition, hypothesis formation and need-satisfaction capabilities. Its purpose is to make clear and concrete how such things can be interrelated in a complete system. Descriptors: Robots, mikrokosms,, computers, integrative systems, pattern recognition, learning, hypothesis -formation.
- Doran, J. E., Experiments with a pleasure seeking automaton. In: Machine Intelligence 3, (ed.
- Michie, D.) Edinburgh: University Press; 1968a, pp. 195-216.
- Doran, J.E., A simulated robot/environment system: progress and problems, 1968b.
- Gelernter, H., Realization of a geometry theorem proving machine. Proc. Inter- national Conference on Information Processing, Paris: UNESCO, 1959.
- Greenblatt, R.D., Eastlake, D.E., & Crocker, S.D., The Greenblatt chess program. Proc. Fall Joint Computer Conf., 1967.
- Koch en, M. and Uhr, L., A model for the process of learning to comprehend. In: Information Science (M. Kochen, Ed.) New York: Scarecrow Press, 1965.
- Minsky, M. and Papert, S., Discussion of MIT robot project. Presented at Int. Pattern Recognition Conf., Puerto Rico, 1967.
- Nagy, G., State of the Art in Pattern Recog- nition, Proc_ §edil!Q" §_O f the IEEE, 1968, Vol. 56, no. 5.
- Newell, A. and Ernst , G., The search for generality. Proc. IFIP Congress 65. New York, 1965, pp. 17-23.
- Newell, A., & Shaw, J. C., & Simon; H .A., Empirical explorations of the logic theory machine. Proc. West. Joint Comp. Conf., 1957, 218-239.
- Newman, C. and Uhr, L., BOGART: A discov- ery and induction program for games. Proc. 20th Annual Meeting of the ACM, 1965.
- Pingle, K. K., Singer, J .A. & Wichmann, W.M., Computer control of a mechanical arm through visual input. Proc. IFIP Congress 68, Edinburgh, 1968, pp. H140-H147.
- Pitrat, J., Realization of a general game- playing program. Proc. IFIP Congress 68, Edinburgh, 1968, pp. H120-H124.
- Raphael, B., Programming a robot. Proc. IFIP Congress 68, Edinburgh, 1968. pp. H135- H140.
- Samuel, A. L., Some studies in machine learning using the game of checkers.
- IBM J. Res. and Develop., 1959,1, 210- 229.
- Sutro, L.L. & Kilmer, Assembly of computers to command and control a robot. Proc. Spring Joint Comp. Conf., 1969.
- Toda, M., The design of a fungus -eater: a model of human behavior in an unsophis- ticated environment, Behav. Sci., 1962, ]_, 164-183.
- Travis, L. E., Experiments with a theorem- utilizing program. Proc. QQrtng_Joint Computer Conf., 1964.
- Uhr, L. (Ed.) Pattern Recognition, New York: Wiley, 1967.
- Uhr, L., Pattern Recognition, Problem Solv.!.!:!.9. and Learning. 1969 (in preparation).
- Zobrist, A., A model of visual organization for the game of GO. Proc. Spring Joint Co!P....P.._,_ Conf., 1969.
References were extracted automatically from the PDF and may contain errors.
Full text extracted automatically from the PDF; figures, tables and equations may differ. The PDF is the version of record.
_6bs!_ract
This pa per pre s ents a computer program that simula tes s itua tions (called "MIKROKOSMS") in which severl e ntitie s (called " organi s ms ") wan der a round in a n e nvironment tha t includes one another plus othe r, a ppare ntly simpler, entities (ca lled " obj ects"). The program has a ra ther sim pl e set of "laws " of objec ts , which can be thought of as the l aws of physics of the MIKROKOSM. It a l so ha s othe r s pecifications for organisms - their input a nd output functions (called "perception" and "res pons e"), their reward functions (called " motivation" or "needs"), and their mechanisms for building up internal memories (called "learning" and "hypo thesis formation") that will ·help them to recognize obj ects in the future , and respond ap propria t e ly to them (for example, in order to max imize expected rewards). This program lays bare the processes that are needed to handle inter actions among simulated organisms and objects, including the learning of hypotheses that will
MIKROKOSMS lAND ROBOTS 2 ' 3 by
Leonard Uhr and Ma nfred Kochen U. of Wis consin U. of Michigan
U. S. A.
But none of the above s eem to be exploring the issues for which the MIKROKOSM programs were developed (Kochen a nd Uhr 5 ). They do no t try to tear apart what we mea n by environments , objects, organisms , hypo the ses, learning, a nd so on. They do not try to vary, a nd to generalize about, thes e things. Rather, they look a t re la tively peculiar and rigid spaces (a checke r board , a logistic system), and the ir "organisms" (wh ich contain little in the way of pe rceptual systems, memory, or learning abilitie s) are rathe r £.9. hoc to their space (e.g., chess pieces , logical ex pressions).
guide future action. The present program has only the simplest of pattern recognition, hypothesis formation and need-satisfaction capabilities. Its rurpose is to make clear and concrete how such things can be interrelated in a complete system. Descriptors: Robots, mikrokosms,, computers, inte gra tive systems, pattern recogmtwn, learnmg, hypo thesis -formation.
Background
Several relatively simple and special-purpose precursors to MIKROKOSMS have been reported in the literature. Toda 16 discussed the decision making problem of organisms that move at some cost in energy in order to get energy-giving "mush rooms." Doran 1 .2 also examines very simple simu lated organisms moving through a space. Travis' simulation and discussion of problem-solving in the form of a chess knight moving in order to cover a board can be thought of from this point of view 17 · Indeed, all game-playing and theorem-proving programs can be thought of as simulating the pieces of the game or the expressions of the logis tic system as they move about the environment of the gameboard or the proof tree. (For examples, think of Samuel's checker player 1 4 , Greenblatt's chess player 4 , Zobrist's GO program 20 , Gelerntets geometry theorem prover 3 , Newell and Simon's logic theorist 9 · These programs become more per tinent when they attempt to be general over several games, for example, Newell and Ernst's General Problem Solver 8 , Pitrat's 12 and Newman and Uhr' s 10 to-some-extent-general game players.)
During the past few years four large "robot" projects have been developed (Pingle et a l 11 ; Minsky & Papert 6 ; Raphael 13 ; Sutro & Kilmer 15 ) and there turn out to be certain s imilarities be tween robots and MIKROKOSMS. Robots are real phys ical objects that wander around in our real phys ical world. Movies can be made of them; when they bump into walls or people they can leave scars. The objects in a MIKROKOSM are computer simulations that consist of internal representations of numbers and letters, of bits, or of magnetic or electrical impulses - whichever you prefer. They can indeed be photographed if a program monitors them onto a scope; and still another equally trivial program could monitor them by having plastic and metal physical objects moving around through a room, just as the scope monitor has grades of light moving around over a phosphorescent screen.
The differences of "reality," of physical "hardness" and ability to bump and scar, are differ ences that we had best leave to the ontologists. But there are important differences that we can understand. MIKROKOSMS force us to understand, or at least to code, our environments and their interfaces with our organisms (which simulate ro bots); whereas the robot researchers simply stick their real robots into the real world, and thus
1 For people partial to acronyms, MIKROKOSM might stand for: "Models of jnductive Knowledge in Responding Qrganisms Konstructed (from CHAOS by _Goncept-formation, !jeuris tics and _6daptation to Qrganization ~ensed) from Qnly §_ensation, Memory, and_§weat.
2 Robots on their way to the moon might be thought of as Real Qrbiting ]!its of Qstensible Ihin-gs.
3 This research was partially supported by NIH Grant, 12977.
(potentially) get all the advantages of real-world complexity into their environments. The cost they pay is the cost and the trouble of building robots (which is something that has turned out to take several years, several people and several hun dreds of thousands of dollars). This cost will go down and disappear. They may also pay the more important costs of reduced complexity of the orga-
nisms they can handle, and rigid behavior on the part of these organisms. Or at least this seems to be the case to date. Finally, they have not yet actually taken advantage of the complexity of the real world into which they can put their robots. We will re turn to these issues in the discussion at the end of this paper.
MIKROKOSMS Described
We will now give a brief description of MIKROKOSMS in the following way: l) An actual running computer program (called "MIKR0-1") will be discussed. This program is presented in the Appendix, along with an English-language "Precis" that gives a detailed statement-by-statement des cription of its processes and its flow of control. 2) Comments will be made about the general func tion embodied in each section of the program, with special emphasis on how it might be simplified to a bare-b:::>nes minimum. 3) We will discuss and suggest ways in which the function might be made more powerful.
The MIKROKOSM programs, at least as we conceive of them at present, break down into the following sections:
- Initialize parameters.
- Generate the initial state of the MIKROKOSM.
- Generate objects, and put them into the space.
- Generate organisms, and put them into the space.
- Compute environment-organism interaction (for each organism) .
- Print out the present state of the MIKROKOSM.
- Present its updated view to the organism.
- Let the organism process this view:
- Recognize objects.
- 2 . Conjecture pertinent hypotheses.
- 3 . Choose the most highly valued hypothesis.
- Update the MIKROKOSM to advance to the next time interval.
- Compute and effect physical law changes.
- Compute and effect changes resulting from organisms' acts.
- Have the organism learn as a function of feedback from eating
- Go to step III, advancing time by l unit.
Initialization of Parameters
The program must first be given a picture of the kind of mikrokosm space it should generate. This includes the dimensions of the space, the number of organisms and of objects in the space, and the characteristics of the organisms and the objects. This might be done in a very general way, by parametrizing all of these characteristics and having the program choose random values for the parameters. Or it might be done with precise des criptions of all the pertinent details.
MIKRO-l is a simple mixture of easily param etrized and built-in characteristics . The basic parameters (PARAMS) for a space are taken to be its row and column size (all spaces are 2-dimen sional), the number of organisms and the number of objects in the total space, and the distance that each organism can see. The program is given a set of standard values for these parameters (7 rows, 20 columns, 3 organisms each seeing 5 columns in either direction, and 4 objects) . But the program will attempt to read a data card at run time, on which new parameter values can be given to it.
The objects that will be placed into the space will be exact copies of the general object types (GENOBJS). These are descriptions of the set of points, (that is, the shape) of the objects, and of the physical qualities (such things as color, break ability, motion, weight, and caloric value).
Whereas information about the space is param etrized, and information about objects is stored in tables, information about organisms is embodied in code. [This probably reflects the relative simpli city of the space, and the relative complexity of organisms. But it probably also reflects the prim itive stage of this program: a better program would have better reasons for using parameters, tables, or code.] Essentially, an organism is some calls to subroutines that a) take a look, b) pattern recognize, c) test hypotheses, d) choose acts, and e) generate and learn new hypotheses.
Generation of the Initial State of the MIKROKOSM
The program uses the parameters that define the space to compute the average distance between objects and between organisms, and then generates and places the specified number of each. MIKRO-l makes several simplifications to shorten the code and speed up processing time. Some of these lead to peculiar characteristics, but all could be coded properly - in most cases with very little trouble.
Obiects_, Objects are generated first, by making one specific object from each general ob ject, in turn, until the specified total number of objects has been made. To avoid any need to check whether several objects are put into the same place (though in fact in MIKR0-1 space this will happen later, causing peculiarities but no fatal problems), all objects are put into the top row of the space, at distances computed so that the spec ified total number of objects will be equally dis tri buted. Initially, all specific objects of each gen era! type will be identical, except for position in the space. But as time passes objects may move , bounce, break, and in other ways change in value.
Or'l£lliSf!!.~ MIKRO-l now generates the specified number of organisms and dis tributes them uniformly along the bottom row of the space. An organism is simply a name that contains a set of lists with that organism's qualities (energy level, location, direction and force of motion), its hypotheses (after it has learned some), its present view of the space, and some memory as to its own acts and changes it has noted in its environment.
Organisms resemble objects in that they both have physical characteristics; but they differ in that only organisms store and learn hypotheses, view the environment, and have some memory. At present these differences reflect our own primitive thinking on the subject; it will be of great interest to see what differences remain when we have tried to force as much similarity as possible.
There are several major peculiarities to the space of objects and organisms generated up to this point. There is insufficient space to describe, discuss, and justify them all in detail, but briefly: Although objects have shapes in 2-dimensions, they are stored as though at points. This avoids the necessity of detecting and computing overlap between objects, which would either force us into 3 -dimensional space (which would be expensive of memory and processing time) or a peculiar physics of objects occupying the same point at the same time. The proper way to handle the space would be for all objects to reside, properly positioned, in a background of emptiness or noise (chaos). But this would introduce a number of processing steps that would make this aspect of the program far more sophisticated than needed for the low level of sophistication of the rest. So we store objects and organisms on lists, and designate their positions explicitly by the coordinate num bers, rather than implicitly by their actual posi tions in the framework of the space.
Com_EQ!ation of Environment-Organism Interactions
Printout. The program. outputs the present state of the mikrokos m before it begins the set of object-organisms interactions that will lead to change, and before each subsequent time period. This printout draws a picture of the current space, with its organisms and objects, and also exhibits the present state and innards of all objects and organisms.
Organism Views its Environment. That part of the total space that lies within its field of view is presented to each organism, in turn . Only the ex ternally-visible shape of objects (including the viewing organism) can be seen, and the position of each object is computed and given to the organism relative to its own position. Changes in these relative positions are also detected and given to the organism.
Pattern Recog_nition and Hypothesis -Testing. The organism now begins to apply its set of hypotheses to its seen view. [Specific hypotheses might be coded in advance into each organism's hypotheses table, but the alternative procedure that we prefer is to rely upon the organism's learning abilities to form these hypotheses through experiences gained in interaction with the environ ment.] For each object in its view, the organism checks to see if there is an hypothesis in its mem ory with that object as one of its premises. It is here that the program does a very primitive kind of "pattern recognition," in which the description of the object must match a template representation stored in the orqanism's memory.
The interesting thing about this process is the structure of an hypothesis, even in its overly-sim ple present form. An hypothesis is a statement about what the organism should do, and subsequent ly expect, when a certain thing(s) is recognized in the environment and the organism is in a certain state(s). At present the thing recognized is one of our simple and undeviating objects, recognition is effected by a perfect template , the acts are simple built-in sequences of code, and the expectations are of a certain amount of positive or negative change ("pleasure" or "pain"). But we feel justified in suggesting that it is fine to keep pat tern recognition as simple as possible, when we have so many other problems in the total system, and we know a great deal about how to make more sophisticated pattern recognizers. An especially appropriate type of pattern recognizer will be the sort of flexible heirarchical compound learning program discussed in Uhr 19 · We should also note that the recognition of more complex compounds of varying internal states within the organism can be handled in exactly the same way as external recog nition, for these are merely two (sets of) premises of an hypothesis. The issue of" planning" is cap tured in the setting up and learning of sequences of acts for the organism to do, which form the conse quences of an hypothesis, and also sequences of hypotheses that the program might act upon over time. It is in the individual hypothesis and the methods for choosing among hypotheses, that much of what we call "pattern recognition , " "planning, " and "problem-solving" lie. MIKRO-l handles these problems in the grossest and most primitive ways, but it also makes painfully and hopefully clear how our mechanisms for hypothesis -application and hypothesis-formation can be improved.
An hypothesis is conjectured to apply because something in the environment was found to be one of its premises, and hence implied it, and then the organism found that its own present state satisfied the inte.rnal state premised by the hypothesis, and finally computed a positive expected value of this hypothesis (which is a function of expected return from the object involved, the object's distance: a rough measure of difficulty of applying the hypoth esis; and the weight of assurance with which this hypothesis is held). After the program has found all such pertinent hypotheses, it chooses the one with the highest positive weight. [A better program would allow an organism to do more than one thing at a time, to decide what to do before it had spent all the time needed to examine everything, and to make decisions as a function of sets of mutually complementary hypotheses. A simpler program might ignore internal states, and merely choose a single act as a function of a single recognized ob ject. Such a program would be doing straightfor ward pattern recognition. The program might merely have one act, rather than sequences of acts, stored as the consequence of each hypoth esis. It would then be incapable of building up coherent strategies or plans. It is at this point, when a program is given the ability to build up sequences and compounds of characterizers of environments and of internal states, and of acts and expectations, that it begins to build up the capability of doing interesting pattern recognition, concept formation, serial prediction, problem solving, and planning.]
Up-dating the MIKROKOSM to Advance to the Next Time Interval
After all organisms have been given the chance to interact with their perceived environ ments, the UPDATE routines change the MIKROKOSM, as indicated by two lists: a) the physical qualities of all the organisms and object& and b) the UPDATE list of the organisms' chosen acts.
Physical Changes. The only physical quality that is examined by MIKR0-1 is the object's mo tion. The object is moved as indicated and, if it has hit a border of the space, is kept at that b:x der. [A better program would allow objects to accelerate in their motion, and to change direction, for example after hitting one another. The program should also compute other changes in objects , for example decay and cracking over time, and changes that are a function of interactions between objects, for example breaking or fading.]
Organisms' Acts. The acts that the organisms chose to put into UPDATE are now carried out. An act is a sequence of one or more things to do, and ea ch such thing names a subroutine that does it. At present, the program has subroutines that allow the organism to: 1) GET (move l step toward the specified obj e ct), 2) DESTROY (wipe out the specified object if it is 9-t the same location as the organism), 3) FLAIL (move l step in a ran domly chosen direction), and 4) EAT (wipe out the specified object, and also add the object's specified caloric content to its own internal energy level). This is a rather arbitrary set of primitive a cts, chosen primarily to get MIKROs started do ing something. But note that some are binary (DESTROY, EAT) and some unary (FLI'IIL, GET), and that stri~ _of acts can be compounded together.
Learning-. EAT is of special interest because only here is there real feedback to the organism, when its energy level is changed as a function of the object's caloric value (which can be negative , denoting a noxious object). It is therefore he re , and here only, that the organisms in MIKR0-1 "learn." [A more sophisticated program would have learning occur from a wider variety of feed back information - for example, from noting that objects are getting closer, or that a certain se quence of acts (as stored in the organism's running memory of past-done things) resulted in desirable or undesirable consequences. In MIKR0-1 there is only one overall "energy level, " which is changed when an object is eaten and its "caloric content" adds to or subtracts from that level. There might be several components of proper functioning - eg. protein, fat, water, oxygen, touching - and there might now be a need to develop characterizers about the self's patterning of these components , and changEl§_ in this patterning.]
When the organism's energy level is changed as a function of eating an object, the program hunts through the past done acts of that organism to find an hypothesis that led to acts with the eaten object as their object. Two types of hypoth esis are stored on the organism's past-done list: the single hypothesis chosen at each time interval, and the rest of the hypotheses conjectured. If no chosen hypothesis turns out to be about the objec t eaten, the organism goes through its conjectured hypotheses and, if one is found about that objec t , raises the value of that hypothesis, so that, since it is pertinent, it will more likely be chosen the next time . [This is a rather arbitrary thing to do , and should not be taken very seriously; it merely demonstrates how easy it is to program in variant types of learning. ]
The first pertinent hypothesis that is found is then up-weighted or down-weighted, depending up on whether the object eaten was positive or nega tive (noxious) in caloric content. [A bette r pro gram might change the weight as a function of the actual caloric value, as well as its sign.] If down-weighted, the new weight is examined to s ee if it has fallen below some acceptable minimum. If it has, the hypothesis is discarded. [MIKR0-1 arbitrarily sets the initial weight of an hypothesis at 5, and discards the hypothesis when its weight goes below 1. A more sophisticated program might keep a better record of the good and ba d conse quences of an hypothesis, and run more sensitive statistical tests to see whether the hypothesis has proved itself good or bad over a sufficiently la rge sample.]
MIKR0-1 generates a new hypothesis a) when an hypothesis is discarded and b) after each time period. [It would be better to keep some count of the amount _of space available for the organism's hypotheses - its memory size -and then eliminate the least valued hypotheses when there was not enough room for everything. Alternately, the organism's level of functioning and improvement rate on this level might be stored, with hypoth eses being discarded and generated as deemed best to improve further. A number of extremely interesting aspects of learning pop up at this pointJ
The variety of new hyp::>theses MIKR0-1 can generate is limited. If the caloric content of the eaten object was positive, the consequent acts of the hypothesis will be "get, eat:" if negative, they will be "get, destroy." The object's descrip tion is stored as one premise, so that the simplest kind of whole -template pattern recognition is learned and used. The initial expectation and weight of all hypotheses are set at the same level90 and 5. The program checks whether a newly generated hypothesis has already been discarded in the pas t; if it has, it doesn't bother to generate it again. [This is a subtle issue; if the mikrokos m were noisy or changed over time, organisms should be able to try hypotheses again. On the other hand, if there is a large set of possible hypotheses, learning might be slowed dangerously if the organism tried again hypotheses it had al ready found worthless.]
Printout
The program listing ends with the code that prints out the state of the mikrokosm after each time period. This printout is cumbersome, and need not be described in detail. Essentially, the actual 2-dimensional representation of the mikrokosm is printed as a matrix, all organisms and objects that still exist are listed, and the con tents (the internal states) of these organisms and objects are given.
M IKRO-l is already too complex to lay bare the minimal structure of a mikrokosm, yet it is far too simple to be very convincing or interesting. Our intent is that this is the first in a continuing series of more complex and more sophisticated programs. These will look into each of the aspects of a mikrokosm separately (pattern recognition, hypothesis formation, heirarchical compounding, planning, inductive learning, discovery, and so on). It should also be instructive to simplify, to try to get at the essence of, mikrokosms by: a) getting at their bare bones, and b) general izing, eliminating as much as possible of the built-in.
Motivation
There are a number of reasons why MIKROKOSMs seem interesting things to worry about and to simulate.
A) They force those of us interested in model ing intelligent processes (whether "artificial" and/or "natural") to take into account all aspects of our problem, and to contend with the central issue of integrating into a visible whole the various functions that we typically study separately. On the one hand many of us (including the authors) argue that our problem is far too big, so that we should simplify as much as possible; and that, further, not until we have far larger computers will our models exhibit diverse, flexible, and interest ing behavior, which we feel may to a great extent be a function of size of memory . So we separately study "pattern recognition" or" concept formation" or "verbal learning" or" problem solving" (e .g. , "g3me playing," "theorem proving," "seria l predic tion") or "dec is ion functions" or "responding" (moving a "hand" oran"arm" or a "robot"). This is, we hope, right and proper. But we should also be gin to combine these various functions. They are merely pieces of a total program, and we had better start worrying about whether we can ever get those pieces working efficiently together.
- By putting the different functions together at the precise level of computer code, we gain the opportunity to generalize across them. We should force ourselves to do so. One gets the impression from papers and talks about some of the "rob::>t" projects that they intend to take a pattern recogni tion program, and a question-answering program, and a concept formation program, and a theorem proving program, and maybe a few other programs, and put them together into a Frankenstein monster. On the contrary, we should use this opportunity to tear apart and try to understand our code and the functions we are trying to compute, so that general purpose routines are achieved. For example, almost certainly most if not all of "pattern recognition" and" concept formation" should be performed by a single subroutine. Those aspects of pattern recog nition that involve deductive inference should have subroutines in common with problem -solving. And so on. We must confront ourselves with general criteria for theory-building: keep the set of con structs as simple, elegant, non-redundant, power ful , and insight-producing as possible.
- The MIKROKOSM situation raises some extremely interesting new questions of generality. For example, when we work with typical pattern recognition or artificial intelligence programs the patterns or other external objects with which they interact are merely presented to them. But now we must describe objects in the same kind of computer code with which we describe our perceiving, prob lem-solving organisms. We can now try to describe both objects and organisms with the same subrou tines and the same tables, and we can begin to ask how they are similar, and how they differ. This fo cuses us on the fasc inating issue of what turns an object into an organism. It prepares us to wonder about how a self-organizing system of objects might begin to evolve some organisms. It forces us to think ab::>ut what must minimally be given to a MIKROKOSM for it to contain, or evolve, objects
among which will be organisms.
- We can hold one or more parts of the total MIKROKOSM constant or trivially simple, vary the rest, and examine the resulting behavior.
- We can ask a number of questions about learning that cannot be so clearly asked in any other situation. We can ask what is a minimal or ganism that will learn; what kinds of environmental experiences must this organism undergo; what kinds of information must this organism store. Since we have close control over both environment and organism (at least until they start to interact and to learn), we can constantly think about one with respect to the other, and we can continually try to simplify both.
- We can ask two closely related questions that have simply not been asked before at the pre cise level of computer modelling: l) How do two or more organisms learn to talk, including the develop ment of vocabulary, grammar, and semantic refer ence, and the development of the mutually under stood convention that these things .§_hould be devel oped, and should have common meaning to all or ganisms belonging to that linguistic community? 2) How do two or more organisms come to compete, and to cooperate; and what is the relation of such social behavior to a) their basic needs and ways in which they can be satisfied on the one hand, and b) their development of language on the other hand?
- We can try to simplify to the point where we may pinpoint what is absolutely essential. For example, it is not clear whether such a MIKROKOSM must have a motivating force in the form of the organisms' internal needs. We keep being forced back to such a beginning, or some close equivalent, such as a diffuse curiosity or a neural itch, despite the fact that this somehow, in a very vague way, feels £.<i hoc and intuitively un satisfying.
MIKROKOSMS and Robots
The Stanford University robot project (Pingle et al, 11 ) has developed a robot that (at least so far) can do the following: if several large wooden blocks are scattered on a table, a robot hand with several fingers will zero in to hover above each block, close its fingers around that block, pick it up , and put it on top of a tower of like-sized blocks it is building. It thus percep tually s orts out the blocks by size , positions itself to pick up a block, and then places the block very carefully, so that it sits square enough on top of its tower so that the tower does not too often come tumbling down. This involves some extremely com plex matters of precise positioning of fingers around blocks, and of blocks on top of other blocks. These problems may well be horrendous, if not im possible; but unfortunately this may be the case be cause they are being handled with several built-in strikes against the robot. For it gets no feedback about, and has no ability to adapt to, slight varia tions in position; it is in the same unfortunate position as a guidance system that must compute its trajectory to hit the moon without any oppor tunity for subsequent self-correction from feedback as to its deviations.
The Stanford Research Institute robot (Rosen, Nillson, Raphael; see Raphael 13 ) can wander through a room that has irregularly shaped objects placed in it, and learn through experiences of bumping into objects how to avoid them, and final ly wander through the room without bumping into these objects. But its methods appear to be rather rigid and ad hoc -essentially, it stores a graph paper representation of the room, and it fills in squares as "containing object, so avoid" whenever either its TV camera "eye" or its bumpers find a block covering the corresponding section of the room.
Both of these robots do things that MIKROKOSM organisms do not do, and they force the researcher to contend with problems that MIKROKOSMs avoid. It is up to the individual re searcher's interests and tast.es which he decides to be the more important problems, or the problems most central to modelling of intelligence. Robot projects must contend with the noi::;es introduced by TV camera inputs and by mechanical contraptions that can't move around without joggling their TV eyes, stop suddenly without randomly overstepping their intended stopping-point, or place one finger on an object without moving that object slightly so that the computed position for the next finger is no longer correct. New and interesting pattern recog nition problems are confronted when the images of possibly interposed 3-dimensional objects on a table or in a room, with their shadows and grada tions of intensity, must be recognized. These are problems the real world environment forces upon one, and it is good to be confronted by the real world.
A MIKROKOSM simulation could be expanded to handle 3-dimensional partially-viewed, shaded patterns, and these are large problems of pattern recognition on which research should be done. But most pattern recognition researchers would , we think, agree that such research should be done with computer programs and special - purpose pattern re cognition computers, not with robots. In fact the actual pattern recognition programs incorporated into these robots are at a very low level of sophis tication compared with existing pattern recognition research (see, e.g., Uhr 19 , Nagy 7 ).
It would be more difficult to simulate prob lems of bouncing objects and falling towers; but it is hard to judge their centrality.
The above is intended to suggest that robot researchers may be tackling difficult problems that are not really their central problems - the me chanics of putting a rob:::>t together; the issues of illu mination, contrast, color, and noisiness of pat terns input; a nd the mechanical problems of exact motion and placement - andare simplifying the a rti ficial intelligence aspects of their robots to the point where they are actua lly less sophisticated than existing computer simulations, inc luding func ti.ons, t h a t h a v e be e n p u t into our simpl e MIKROKOSM organisms. But it is not at a ll inte nded to critic ize the intent of robot re search, which we take to be to confront artificial intelligences with the enormous and, intriguingly, inexhaustible and infinite complexity of the real world.
On the contrary, it seems to us crucial to at some point put our s imulated organisms into the rea l world. The complexity of the real world may be ~ssa~ for adequate learning; there may even be something to the infinite variety of the real world that is fundamentally unprogrammable, and we will never know and benefit from this until our learning programs are hooked into the real world. (We ass ume that good artificial intelligences will be learning programs - they must be able to adapt, and they will be far too complex for anyone to succeed in formulating, or programming,)
But there is a lot to discover about our organ isms before they are ready to be put into the real world. People who don't have the mechanical bent, skills, or money to build robots can still play an important role in this aspect of robot research. The inte rfaces between our organisms and the real world a lmost certainly should be richer than those developed so far in the robot projects. For example, the lack of ability to continually monitor feedbacks a nd modify behavior accordingly puts existing robots a t a tremendous disadvantage. And the ""real world"" has to be an interesting part of the "real world." To what extent is a robot confronting the real world when the room it is in contains two s izes of blocks, sufficiently illuminated so that they can be p2rfectly resolved through the input device used? This is merely a world of blocks and positions, even simpler than the simulated worlds of MIKROKOSMs.
Summary
This paper describes and discusses a simple program, "MIKR0-1;" that simulates the inter action between a set of "objects," some of which a re "organisms," wandering around within a little "mikrokosm" space·: This is the first of what we hope will J:ie a series of programs to explore com plex intellectual processes by combining the various functions (pattern recognition, concept for mation, problem solving, decision making, remem bering, learning, and hypothesis formation) that have typically been studied separately.
The basic structure of a mikrokosm appears to be the following: it must include a set of objects, some of which are organisms, that interact within some space. There must, therefore, be ways of describing or generating objects and organisms, and placing them in interrelations. Both objects and organisms must have qualities that are inter preted according to "physical laws" of the mikrokosm; among these will be n-ary qualities that are functions of interactions (e.g ., "breaking," "eating "). Organisms must be able to generate acts as a func tion of interactions. In particular, sensory interaction (seeing at a distance) and hypothesizing and learning (generating a nd storing sets of premises as to the states of the externa l environment and of the internal characteristics of the organism) seem necessary for any interesting variety of organism behavior. The mikrokosm must be able to collate all the changes of organisms and objects, and up-date itself to the next time period.
MIKR0-1 contains a special kind of object, a "shout, " that is located everywhere. This we take to be the basis of future language learning. But MIKR0-1 makes no use of shouts. Nor does it have a very sophisticated set of basic acts (eat, get, flail, destroy), reasons for learning (the positive or negative caloric content of an eaten object), or pattern recognition ability (whole-tem plate matching). It has rigid methods for forming hypotheses , and it has no ability to put anything - hypotheses, pattern characterizers , or acts - into interesting compounds or heirarchies. But mikrokosms make painfully apparent the need for such improvements, and we think that they are an especially good test-bed within which to construct and examine more sophisticated processors.
hPPENDIX
·~A BSTRACT FOR MIKR0-1.
- A Get PARAMS: ROWS, COLS, NORGS, VIEWORG, NOBJS, OBJDESCRIPTIONS.
- GENERATE SPECIFIED NUMBER OF OBJECTS, SPREAD ACROSS ROW 1 .
- GENERliTE SPECIFIED NUMBER OF ORGANISMS, SPREAD ACROSS ROW N.
- B PRINT OUT THE MIKRO, CHANGES, AND THE ORGANISM'S INTERNAL STATES.
- C PRESENT THE NEXT ORGANISM WITH THE VIEW OF WHAT IT CAN SENSE, BUILDING UP A CHANGES LIST FROM LAST TIME.
WHEN NO MORE OGRANISMS, GO TO D. THIS ORGANISM FINDS ALL HYPOTHESES IMPLIED BY WHAT'S IN VIEW, COMPUTES A VALUE FOR EACH HYPOTHESIS, CHOOSES THE SINGLE MOST HIGHLY VALUED HYPOTHESIS , AND PLACES IT IN UPDATE AND IN ITS OWN PASTDO LIST, GO TO C.
- D UPDATE THE MIKRO FOR THE NEXT TIME PERIOD: MOVE EACH OBJECT (INCLUDING THE ORGAN ISMS) AS SPECIFIED IN THEIR DXY (CHAN�E ·~ OF-LOCATION) VALUE.
| FOR EACH ORGANISM, DO THE STRING OF ACTS | Statement Number | ||
|---|---|---|---|
| SPECIFIED: (INCLUDE MOVING - FLAILING, GETTING -, EATING, DESTROYING.) | No - Let I2 equal 1. (puts all objects in row 1). | 17 | |
| REWEIGHT THE ACTED-UPON HYPOTHESIS UP OR DOWN. IF WEIGHTED DOWN, TEST WHETHER IT SHOULD BE THROWN OUT. | From GENOBJS, get the first TyPe of object and its DEScription, and put it after the REST, at the end of | 18 | |
| IF YES, PUT IT ON DISCARDS LIST, AND TRY TO GENERATE A NEW HYPOTHESIS FOR THIS ORGANISM. WHEN ALL ORGANISMS ARE DONE, GO TO B. | GENOBJS (so will generate one example of each type of object in turn). Add 1 to the Number-of-Objects- generated | 19 | |
| END GO TO A. *PRECIS MIKR0-1. SIMPLEST 2-DIM. ENVIRON. OBJS PUT IN ROW 1 . •:•*INITIALIZE THE PROGRAM'S PARAMETERS. | Statement Number | (NO). Let the column where the next object wi ll be PUT equal the present PUT (which is 0 initially) plus DISTO (the DISTance -between -Objects) | 20 |
| GO Let GENerateOBJects (GENOBJS) list of the prototype objects a nd descriptions. Let each prototype object contain a | contain a their list 0 1-5 | *NOTE THAT HERE AND ELSEWHERE THE RANDOM NUMBERS CAN BE USED TO VARY POSITIONS. Add to OBJS (the list of all OBJectS generated) this object's name (OB 1, | 21 |
| of its phys ical qualities. DEFINE the function BORD (which keeps objects within borders). DEFINE the function PUTOUT (which outputs information about the state of the mikrokosm after each time | 5 6 | OB2, ... OB(NO)) followed by its TyPe , DEScription, and row (I2) and column (PUT) locations. Let this object's name (O.B(NO)) contain its LOCation, (I2*PUT) and a description of its physical qualities (stored in TyPe). | 22 |
| period). Let PARAMeterS contain a standard set of parameters . READ in a different set of parameters | 7 | Go to 86 , to generate the next '~*PLACE ORGANISMS. B1 Let DISTance-between-Organisms (DISTO) equal the number-of-CoLumnS divided by the Number-of-ORGanisms. | object. 23 |
| for this run (if given) Get from PARAMS the individual parameters : RWS (RoWS of space); | 8 | Let the column where the first organism | 24 |
| CLS (CoLumnS of space); NORG (Number of ORGanisms); OSEE (Organism's -SEEn-view); NOBJ | 9 | will be PUT equal t DIS TO. If PUT equals 0, set it equal to 1 (so lst organism will be inside). | 25 |
| (Number of OBJects). Let RandomBACKground (RBACK) contain | B8 Add 1 to NO. Add to ORGS (the list of all ORGanismS | 26 | |
| a random list of symbols. Let RANDom contain a random list of 1, 0, -1. | 10 11 | generated) this organism's name (ORG (NO)), where NO are the integers that | 27 |
| Let SHOUT contain the physical qualities of shouts. Let OBJectTYPES contain the names of the prototype objects. | 12 13 | follow the integers used for objects), the number of this organism (NORG), this organism's name again, and row (RWS, the last row) and column (PUT) | |
| Let PRIMDO contain the primitive acts an organism can do before learning. ':"~BE�IN TO GENERATE OBJECTS. | 14 | locations. (== indicates organism; =* indicates object.) Let this organism's name (ORG(NO)) contain its attributes (ENergy, initial | 28 |
| BEGIN Let the average DISTance-between Objects (DISTO) equal the number of CoLumnS (CLS) divided by the | 15 | location (RWS*PUT), and an initial description of its physical qualities and its past memory (initially blank)). Subtract 1 from the Number-of-ORGanisms (NORG) -to-be-generated. | 29 |
| Number-of-OBJects. | Is NORG Less Than 1? Yes - Go to 89. | 30 | |
| B6 Is the Number-of-Objects -generated (NO) GreaterThan the Number-of OBJects -to -be -generated (NOBJ)? Yes - Go to B 1 . | 16 | No -Add the DISTance-between Organisms (DISTO) to PUT, for placing the next organism. Go to B!l. *'~PRESENT ITS VIEW TO EACH ORGANISM. | 31 |
| Number 32 | FailtoBI8) | Number | |
|---|---|---|---|
| 89 Add the list of ORGanismS to the end of the list of OBJectS. | Add this TyPe, DEScription, Name-of- OBJect and its location (RO * CO) to | 53 | |
| TNEXT | 33 | LVIEW (the Left-VIEW). Do the old locations (ROA, COA) of this | 54 |
| (after each Time-NEXT) PUTOUT the present state of the mikrokosm. Advance TIME by I . Is TIME GreaterThan 5? Yes - END this | 34 35 | object EQUALS the new, computed locations (RO, CO) ? Yes - Go to Ell (no changes). | |
| TNI run . No - Make a Copy-ORGanismS (CORGS) | 36 | Is this object of TyPe 'SHOUT' (which is located everywhere)? Yes - Go to 8 ll. 820 | 55 56 |
| of ORGanismS (ORGS) list. 87 | 37 | To CHANGES, add this object (its TyPe , DEScription, Name-Object , and its changes in location (RO-ROA, | |
| Get the next Name-of-ORGanism from CORGS. (If no more, Go to UPDATER) From NORG, get this organism's STATE, HYPotheses, PASTDOne acts, VIEW, and OLDCHANGES. | 38 | CO-COA)). Go to B ll. Bl8 To the beginning of LVIEW, add this new object (its TyPe, DEScription, | 57 Name-of |
| From STATE, get this organism's LOCation= (ROW, COL). Let the LEFT border of this organism's view be its COLumn minus OSEE | 39 40 | Object, and location (RO ~'CO). Go to 820. '~'~THIS ORGANISM NOW APPLIES ITS LEARNED | |
| (distance -in -one -direction -of Organism's -SEEn -view). | 41 | HYPOTHESES TO THE VIEW PRESENTED IT. BIZ Let VIEW contain what LVIEW contains. Let MAYDO equal PRIMDO (those acts | 58 59 |
| Let the RIGHT border be its COLumn OSEE. 810 Make a Copy-OBJectS (COBJS) of | plus 42 | PRIMitively-DOne). 816 From LVIEW, get the next object's TyPe, | 60 |
| OBJects (OBJS) list. BLANK out (erase) LVIEW and CHANGES. | 43 | DEScription, Name-of-Object, and location (RO '~CO). (If no more, Fail to B 13.) | |
| ':'LIST FOR THIS ORGANISM THE OBJECTS IN ITS VIEW, INCLUDING ITSELF. 811 From COBJS, get the next Name-of- Object (NO), its TyPe (TP), and | 44 | If this TyPe and its DEScription are found on the list of this organism's HYPotheses, get the acts-to-DO, state-of-SELF, EXPECTations, and WeighT. (If not found, | 6 l |
| DEScription. (If no more, Fail to For this Named-Object (NO), get its LOCation (ROw * COlumn). | BIZ). 45 | FailtoBl6.) Does this organism's STATE contain the SELF-state specified for this hypothesis? | 62 |
| Is this object of TyPe 'SHOUT'? Yes - Go to 817. | 46 | (No - Go to B 16 . ) Let VALUE equal the EXPECTed -need- | 6 3 |
| Is this object's COlumn GreaterThan the LEFTmost column viewed? No - Gv to Ell (it's not in this organism's field of view). | 47 | change times the WeighT of this hypothesis, divided by the ROw plus COlumn distance plus 10, | |
| Yes - Is CO LessThan the RIGHTmost column viewed? No - Go to 811. ':'GET AND USE DISTANCES FROM ORGANISM TO OBJECTS. Let RO (Row-of-Object) equal ROW | 48 49 | Get the absolute VALUE (delete any minus 64 sign(-)). Add this hypothesis to the list of things the organism l'viAYDO: VALUE, acts-to-DO Name-of-Object, location (RO '~CO), what to EXPECT, the object's TyPe and | 6 5 |
| (ROW-of-organism) minus RO (to get row distance from organism to object). Let CO (Column-of-Object) equal COL (COLumn-of-organism) minus CO. | 50 | DEScription, and the SELF state found. Go to 816. ~~'~CHOOSES TO DO AS MOST HIGHLY VALUED HYPOTHESIS ON MAYDO SUGGESTS. | |
| BLANK out ROA, COA. | 51 | 813 | 66 |
| 817 From this organism's VIEW, get the (TP), DEScription, Name-of-Object and its location (ROA * COA). (If no | 52 TyPe (NO), more, | BLANK out VALA, XXA. LM. From MAYDO, get the first VALueA and the rest of the information (XXA) about this hypothesis. (If none Fail to 815.) | 67 |
| Number | Number | ||
|---|---|---|---|
| BL4 | 68 | Add to OBJectS this object: Name -of | 83 |
| From MAYDO, get the next value (VALB) and the rest of the information (XXB) about that hypothesis. (If no more hypo theses, Fail to B L 5.) | Object , TyPe, DEScription. what's in OX, and its new location (NEWRC). Add to REPL this object's location (RO *CO) and TyPe. Go to U3. | 84 | |
| Is VALB GreaterThan VALA? (If yes, Go to B19.) | 69 70 | **FUNCTION THAT COMPUTES NEW LOCATION AND KEEPS OBJECT WITHIN BORDERS. BORDl | 85 |
| No -Add to LM (Lesser-Maydo) VALB and XXB (the less valued hypothesis). Go to BL4. BL9 | 71 | Let NRO = RW +DR (new-ROw = RoW+ Delta-Row). Let NCO = CL +DC (New-CoLumn= CoLumn + Delta-Column). | 86 |
| Add to LM VALA and XXA (the less valued hypothesis) . higher | 72 | If NRO is LessThan 1, let NRO equal L. | 87 88 |
| Let VALA equal VALB (which has a value). Let XXA equal XXB. Go to BL4. | 73 | If NRO is GreaterThan RWS (the last RoWS), let NRO equal RWS. If NCO is LessThan L, let NCO equal L. | 89 |
| BL5 Add to UPDATE this organism's | 74 | If NCO is GreaterThan CLS (the last CoLumnS), let NCO equal CLS. | 90 |
| name (NORG), location (ROW >:c COL) and the information about its most highly | Subtract L from CoLumn | 9 L 92 | |
| valued implied hypothesis (XXA) From PASTDOne, erase the act-done | 75 · | In the designated RoW of the Picture of the space, replace the SSymbol where this object used to be (CL symbols from the left) by a period (.) | 93 |
| farthest in the past (XX, which is first on this inverted list), and add the chosen hypothesis (VALA, XXA, followed by all Less-valued-Maydos (LM). | (which indicates empty space). Let NEWRow-Column equal NRO *NCO. RETURN from this function. '~*UPDATE AS A FUNCTION OF ORGANISMS' | ||
| Re-store under this organism's name (NORG) its updated STATE, HYPotheses, PASTDOnes, VIEW, and CHANGES. Go | 76 | CHOSEN ACTS. UL From UPDATE, get the next chosen-act to-do (Name-of-ORGanism, ROW, COLumn, acts-to-DO, Name-of-Object , and the rest (XX)). (If no more, Fail to | 94 |
| to B7, to start processing for the next organism. >:o:•uPDATE THE MIKROKOSM FOR THE NEXT PERIOD. | TIME | TNEXT.) Get the LOCation (RO '~CO) of this | 95 |
| UPDATER Let Copy-OBJectS contain what OBJectS conta ins; erase OBJectS. | 77 | Named-Object. Erase WASH2 from NO. | 96 |
| '"~UPDATE OBJECTS ACCORDING TO PHYSICAL LAWS. | U2 Put LOBJS back at the left of OBJectS. | 97 | |
| U3 From COBJS, get the next object's | 78 | Erase (WASH) LOBJS. | 98 |
| Name Object, TyPe, DEScription, the first symbol after the'=' (call it OX), and the res t (YY). (If no more objects, Fail to UL .) | U2A From DO, get the next specific DO-X. If succeed, go to the statement whose label is stared in DOX; if Fail , go to | 99 | |
| In this Named-Object, get its motion (DXY) in X (DX) and Y (DY) directions. In NO, get, a nd erase, its LOCation | 79 80 | UL. M THE ROUTINES THAT EFFECT THE SPECIFIC ACTS FOLLOW. GET | 100 |
| (RO '~CO). BORDer this object (computing from its location (RO and CO) and motion (DX | 8 L | BU\NK out DX and DY. PRINT out 'I I / GETS/ I/' (to inform that acting). | L 0 |
| and DY) whether it will remain within the space, so that it will be made to stick to the border) - a function that starts with the statement labeled BORDI. In NO, put the newly-computed LOCation (NEWRow-Column). | 82 | Does the organism's ROW EQual the object's ROw? Yes - Go to G L . No- If the organism's ROW is Greater- L03 Than the object's ROw, le t DX (change in the X direction) equal -1 and Go to G2. Or let DX equal +L , and Go to G2. | L02 L04 |
Statement
§_tatement
| Num_!:>er | Number | ||
|---|---|---|---|
| GL | LOS | BLANK out PAST, OPAST, and DEX | L25 |
| Does the organism's COL EQual the object's COlumn? Yes - Go to G2. | L 06 | From this Named-ORGanism, get its STATE, HYPotheses, PASTDOne, VIEW, and OCHANGES (get, but don't erase them.) | 126 |
| No - If the organism's COL is GreaterThan the object's COL, let DY (change in theY direction) equal -Land Go to G2. | L07 | L3 From PASTDOne, get the next chosen- act's VALue, DZ, Name-of-Object - ! (NOI), location (ROI ·~COl), | L27 |
| OrletDYequal+L. G2 From OBJectS, get this NORG' s | LOS | EXpectations and the REST of the conjectured hypotheses for that time period. (If no more, Fail | , to |
| ROW and COL. BORDer this organism (calling the function BORD, which will move it | 109 | L6.) From EXpect, get EXPECT, TyPe I. DES- criptioni, and SELF. | 128 |
| and keep it within the borders). On OBJS, find NORG, and add its new | L LO | Add L to PAST. | 129 |
| location (NEWRC). | Add the REST to Other-PAST | L 30 | |
| Add this location (NEWRC) and Name- of-ORGanism to REPL. | L L L | Does the Named-Object EQUALS the Named-Object!? No- Fail to L3. | 13 L |
| Change the LOCation stored under this Name -of-ORGanism to NEWRC. Go to U2, to get and do the next act. | L L 2 | ~"~RE-WEI�HTS AN HYPOTHESIS ABOUT THE OBJECT EATEN. L7 | L32 |
| DESTROY Get the NEXT object from OBJectS. (If | Ll3 | Yes -On the organism's HYPotheses, if TyPe! and DEScription! are found, get and remove DoY, SELF, EXPECT, | |
| no more, Fail to U2.) Add this object to Left-OBJectS. From NEXT, if the location is NEWRC, | L 14 | and WeighT. Add Delta-EXpectation (DEX) to | EXPECT. 133 |
| immediately following '=*', get | L 15 | WASH (erase) DEX. | 134 |
| Name-Object, TyPe, and DEScription. (If fail, go to DESTROY.) | Is the CALoric content negative ( -)? | L 35 | |
| Succeed -Add this Name-of-Object, | 116 | Yes - Go to L4. No -Add 1 to WeighT. | L 36 |
| as 'DESTROYEDBY' the Name-of ORGanism, to GONEOBJS. Go to U6. | LS Put back on HYPothesis the components | 137 | |
| FLAIL From RANDom, get the first two (pseudo random) numbers (called DX and DY), and put them a t the end of RANDom. | Ll7 | of the hypothesis that was taken off statement L7 and reweighted. Go to U6. | by |
| Go to G2, where these will be used to randomly move and flail the organism. | L4 Lower WeighT by 1 (this was a noxious object that the organism should learn not to eat). | L38 | |
| EAT Get the NEXT object from OBJectS. (If no more, Fail to U2.) | 1 L8 | Is the WeighT now Less Than L? No - Go to LS (to put this down-weighted hypothesis back onto HYPotheses). | L 39 |
| Add this object to Left-OBJectS. | L 19 120 | ~"~DISCARD AN HYPOTHESIS WHOSE WEIGHT | HAS |
| From NEXT, if the location is NEWRC, immediately following the '= ·~·, get Name-of-Object, TyPe, and DEScription. (If fail, Go to EAT) Succeed- PRINT out '///EAT///'. | GONE BELOW 1, Add to the list of DISCARDS the TyPe!, DEScription!, DoY, SELF, and EXPECT of this discarded hypothesis. Go to LB. NONE OF THE HYPOTHESES ACTED UPON WAS | 140 | |
| For this Name-of-Object, get its | 121 | ·~IF PERTINENT, CHECK ALL OTHERS ON OPAST. | |
| CALoric VALue. From this Name-of-ORGanism, get its | L 22 123 | L6 From Other-PAST, get the next hypothesis | 14L |
| ENergy level, and add the object's CALoric value to this ENergy level. Add this Name-of-Object as 'ATEBY' this Name-of-ORGanism to GONEOBJS. | 124 | (VALue, DoY, Name-of-Object!, location (ROwi *COLI), and EXpectation). (If no more, Fail to L8) From EXpect, get EXPECT, TyPe I. | L 42 |
| >!<>~RE -WEIGHTS LEARN HYPOTHESES AS A FUNCTION OF FEEDBACK FROM EATING, | DEScription, and SELF. Does Named-Object EQual Named•!< Object!? No - Fail to L6. | L43 | |
| ·~·~FINDS AN HYPOTHESES ABOUT THIS EATEN OBJECT. | Yes -Let Delta-Expectation (DEX) | 144 |
U6
Statement Number
equal 3 (so that this hypothesis will have a higher expectation, and will more likely be chosen and acted upon, in the future). Go to L 7.
':"~A NEW HYPOTHESIS IS GENERATED
L8
Is the CALoric content of the eaten object negative ( -)? Yes - Go to L9. No- Let New-Do (ND) equal "GET, EAT. " . Go to L 1 0 .
- L9 Let the New-Do (ND) equal "GET. DESTROY.".
L10
145
146
147
148
See if DISCARDS already has this new hypothesis' TyPe, DEScription, and New-Do. (If yes, Go to U6.)
Add this newly-generated hypothesis to 149
the organism's HYPotheses: its TyPe, DEScription, New-Do, and initial expectation-level (90), and weight (5).
150
151
Erase information about this eaten or destroyed Named -Object.
Put the Left-OBJectS back onto the start of the OBJectS list.
WASH (erase) Left-OBJectS.
152
Erase this (eaten or destroyed) NamedObject from the OBJectS list. Go to U2A.
- '~'~FUNCTION FOLLOWS TO PRINT OUT INFORMATION ABOUT MIKRO AT EACH TIME PERIOD.
@inproceedings{ijcai1969p47,
title = {MIKROKOSMS and Robots},
author = {Uhr, Leonard and Kochen, Manfred},
booktitle = {Proceedings of the First International Joint Conference on
Artificial Intelligence, {IJCAI-69}},
publisher = {International Joint Conferences on Artificial Intelligence},
editor = {Donald E. Walker and Lewis M. Norton},
pages = {541--556},
year = {1969},
month = {5},
note = {Integrated Artificial Intelligence Systems},
url = {https://ijcai.org/proceedings/1969/47},
}
TY - CPAPER TI - MIKROKOSMS and Robots AU - Uhr, Leonard AU - Kochen, Manfred T2 - Proceedings of the First International Joint Conference on Artificial Intelligence, IJCAI-69 PB - International Joint Conferences on Artificial Intelligence PY - 1969 SP - 541 EP - 556 UR - https://ijcai.org/proceedings/1969/47 ER -Copied
Machine-readable versions of this paper, for tools and AI agents:
Welcome
Future Conferences
AI Journal Division
IJCAI Proceedings
About IJCAI
IJCAI Awards