Prose samples by Robert Elton Maas General essays and proposals %% 79807A.ISR (4k, 1979) Considerations needed when designing a world-wide information system for the general public WORLD-ISR: Spanning range of needs. (1) Geographical distance. Some needs are tightly geographical, for example a person needing a carpool from Sunnyvale to Palo Alto doesn't have any use for carpool info for greater Los Angeles or even for the San Jose to Santa Cruz route; a lonely girl in Houston probably doesn't want to date a guy in Menlo Park (CA or NJ). Other needs are more universal, for example if a person in Burlingame wants a PET-BASIC program for playing Blackjack (21) and the nearest such program is in Atlanta, a cassette can be mailed easily; a person in Melbourne could order a book from New York if he could determine ahead of time that it would be what he wanted. A general information system should classify information according to the geographical range where it applies. (2) Time. Some needs are urgent and become obsolete quickly, for example a heart-attack must be treated quickly, and a carpool to a concert must be timely. Other needs remain valid for a long time, for example a guy looking for a wife might find her today or next month and the specification of her qualties desired wouldn't change over that interval, or a recipe for homemade eggrolls would remain valid for perhaps hundreds of years except for changing availability of ingredients. Each item of information must have attached to it an expiration date, and the system should allow changing the date if the original data turns out to be wrong. (3) Expertise. Some needs are highly technical or professional, for example diagnosis referral and operation on a punctured lung must be done by trusted doctors or other trained medical personnel. Other needs are highly informal, for example a guy wanting to find out "what's happening" probably doesn't know exactly what he wants to know but certainly doesn't want his question treated as a technical query, and he will accept almost any information in a wide class of "interesting things to do and places to be". Some users of the system will have their own terminals and be fluent in talking to computers directly, while others will be outright paranoid that a computer has anything to do with handling their question after they submit it to the friendly librarian over the telephone or in person. Both the user interface and the method of parsing incoming questions must be aware of the varying degree of preciseness and expertise of the users of the system. %% 79C26B.G14 (whole file here, mid 1970's) Semi-political ad, non-technical A CALL FOR PEOPLE TO GET TOGETHER AND WORK TOWARDS A BETTER WORLD Is there something you want changed about the world? Is it something you can't do by yourself? Perhaps you need to locate several other people who want the same change, so that you can work together, either to make it happen yourself or to lobby in the state legislature or the US congress. Are you having trouble locating other people to join with, or have a group that is too small to accomplish its objective, so you need more people? This may or may not work, but let's try it and see whether it does or not. Send your name, address and phone number, and a brief description (about 25 words) of what kind of change you want, to the address below. Your information will be assigned keywords that indicate subject areas, and will be matched with other people's information to locate people who want something like what you want. When a match is found, you and the other person will be called on the telephone and given each other's names, addresses and phone numbers. (Please restrict telephone numbers to those which are within local dialing from Palo Alto. This includes from Mountain View and Los Altos on the south to San Carlos and Belmont on the north.) It doesn't matter what your dream is, whether it be promoting a new source of energy, trying to elect a certain person to President, having a child-care center in your neighborhood, collecting consumer information and publishing an index of good products to buy and bad products to avoid, or just finding a friend or lover to share some pasttime you enjoy. We do, however, request that illegal activities (addictive drugs, prostitution, gambling, weapons etc.) be avoided; we refuse to become dealers in such areas, and will reject any topic which is explicitly illegal or which seems to be written in "street jargon" which we don't understand but which we can only assume is an attempt to hide something illegal. Alone, you can't get much really accomplished. Together, we can move the world. Let's get linked up now! It only costs you a ten cent postcard. REM Information Service PO Box 6641 Stanford, CA 94305 %% ANLGEO.ESS (2k, 1980) Insightful essay Analytic geometry and its cousins in space time and electronics -C- 1980 by Robert Elton Maas, all rights reserved Present-day physics and electronics is analogous to analytic geometry in that it assumes a fixed reference coordinate system. Let me give this analogy in more detail. Classical method Analytic method Geometry Objects (points, lines) Coordinates are fundamental, and measurements (lengths, objects are expressed in angles) are fundamental. coordinates, measurements are computed from them. Electronics Voltage differentials are Voltages with respct to an fundamental. Kirchhoff's law absolute "ground" are for voltage requires tracing assumed. Kirchhoff's law around closed circuits. for voltage is a tautology of arithmetic. In each of these fields we invent a reference frame, and measure everything else in comparison to this reference frame. We know, at least initially, that this frame is a figment of our imagination, put there merely to make analytic methods (which are so much easier than classical methods) possible. Any of several (an infinite number of) frames could be chosen, but we generally pick one which is fixed with respect to the largest number of objects or the largest object or the average of all objects in the system. %% DOC.LEA (9k, 1981) Discussion of meaning of "learning" LEARNING ASPECTS OF ROBOT'S BEHAVIOR by Robert Elton Maas One of the major goals of Artificial Intellgence research is a program that will learn things. But when we obtain a program that seems to learn, if we look at its internal workings to see how it learns we often see what's doing isn't really learning, or at least nothing that we want to call learning. Usually "learning" is really something simple that we call by another name if we understand how it works. One might claim that a thermostat learns how to keep a room the right temperature, but all it really does is turn the heater on and off depending on whether the temperature as measured is lower or higher than a threshold we've set. One can "teach" it the right temperature by adjusting the thermostat upward whenever it feels cold but the heater is off, and by adjusting it downward whenever it feels warm but the heater is on. There are thus two stages of "learning", first when the air in the room isn't yet warmed at all (when you first turn on the system after returning from vacation) and it needs to bring it all up to the established "correct" temperature, and second when the room temperature is stabilized at the "correct" temperature but the meaning of "correct" needs adjusting according to human desires. Hardly anyone would call either type of adjustment by the word "learning", but what if a program that played some game had some parameter that was adjusted by the program itself. What if initially it picked random values for that parameter, but it got feedback about whether it was winning or losing and kept a record of [value, win/lose] pairs, and did a simple regression on those pairs to try to find the optimum value of the parameter, and then picked random values in a normal distribution (bell-shaped curve) centered on the computed optimum value with standard deviation equal to the expected error in the optimum given by the regression calculation? What if by that relatively simple means it automatically adjusted this one parameter until it remained close to the truely optimum value for winning the game more often than not. Would we call that "learning"? What if the program had lots of parameters, and it did a multiple regression to attempt to guess which parameters affected the outcome most and what their optimum values seemed to be? What if it adjusted them all to be near-optimum, i.e. given by the normal distribution around optimality that is given by the multiple regression calculation? What if it simultaneously adjusted them all? What if it even discarded those which seemed not to have hardly any effect on the outcome of the game, or fixed those whose optimal value had been computed very accurately (narrow normal distribution, small expected error), and replaced them by new trial parameters from a pool provided by the progammer? Arthur Samuel's program to play Checkers did something like this. Is this really "learning"? Like children learn in school or during play? Or is it just a complicated bunch of optimization of parameters sort of like a thermostat in each room of a building? What about rote learning? In the old days teachers would give the answers to the student and insist the student repeat them back. "four times seven gives twenty-eight" If the student got it wrong, a beating with a stick would get the poor student's attention and then that particular fact would be repeated until the student was repeating it back correctly. With computers it's easier. Computers have a wonderful memory, and we have tools for directly modifying their memory, sort of like doing surgery on the student's mind. To get a computer to learn a fact or an algorithm, all we have to do is start up a text-editor on the relevant data or program file, invoke a keyword search command to find the correct spot in the file, issue a few edit commands, issue a save-the-file command, and presto the computer has learned something it didn't know before, and it never forgets it unless we go in there and delete the item (or the whole file), except when it "drops a bit" and mungs our item or loses our entire file. We can thus teach it facts. Initially when we do a keyword search for some fact, it doesn't turn up any matches. After we've entered the fact, a subsequent keyword search turns up that fact. Has it learned that fact any less so than the student in school has? Initially the computer doesn't know how to do some task we'd like it able to do, ... When we say some person "knows how to bake a cake", do we simply mean that person has stored somewhere in that person's mind an algorithm for baking a cake, retrievable by the key phrase "bake a cake" and any other phrases that are considered synonyms to that phrase? Our current project, to build a "robot" program that somewhat emulates a child learning arithmetic algorithms and other grade-school tasks, will use simple "learning" methods such as those above (parameter optimization and rote memorizing) and others described below. Perhaps when the robot is finished, somebody looking at its external behavior will claim it's "intelligent", that it "really learns", while anybody knowing its internal mechanisms will say "but all it does is a few simple memorizing and optimization things, none of which is really learning". Perhaps what we call "learning" is nothing more than a very large set of obvious trivial things that individually would never be called "intelligent" but when considered en masse are too complicated for us to understand and thus appear to be something different. Perhaps that's all intelligence is anyway, a very large complicated biological computer doing massive amounts of simple things that affect one another so much it's hard to separate out their individual mechanisms. %% SUBPRO.PRO (6.8k, late 1970's) Not too technical, essay about computing There are several useful computation tasks that are suitable for and cost-effective on microprocessors. The latter is especially so because most microprocessors are left idle most of the time, making the market value of their CPU time essentially zero. Although a single micro- processor can't solve a giant problem in a reasonable time, the thousands of microprocessors sitting idle in homes around the country could be a formidable computing machine if put to bear on small factors of a large factorable compute-task. To be suitable at the current time (semi-manual downloading of software and task-specific paramaters), a problem must satisfy these criteria: It must be factorable into arbitrarily-small (relative to the original problem) subproblems. Each subproblem must have a tiny natural representation that can be transmitted from the master task dispatcher to the particular processor that will run it. Each subproblem must run in small memory. It must be trivial to combine the results of the subproblems back into a solution for the overall problem. %% End of samples of general essays