Readme26NOV94 for Mindrx941126.lha Amiga AI public-domain work-in-progress. The REXX programs in this archive are an attempt to implement in software the linguistic theory of mind found as text and a "Mind.anim" on the Amiga Library Disk (Fred Fish) No. 411. This archive contains an ASCII schematic or flow-chart of the Mind.rexx program with the label, "Mindmap4JUL94." The flow-chart can be printed out and will serve both to explain the workings of Mind.rexx and as a plan for the porting of Mind.rexx to languages other than its native Amiga ARexx. These work-in-progress postings are being made by Arthur T. Murray of Project Mentifex in Seattle, Washington. I am the author of Mind.rexx and I hereby release the version in this posting into the public domain. This version "Mind26NOV94B" is the first to show Mind.rexx correctly answering a query about its simple knowledge-base ("KB") of mundane experience. The "audlog26NOV94" file in this archive shows the following exchange: Human user: "Horses eat hay." Mind.rexx: "Horses...eat...hay." Human user: "Cats eat fish." Mind.rexx: "Cats...eat...fish." Human user: "Horses eat...." Mind.rexx: "Horses...eat...hay." The unusual thing about the above exchange is that Mind.rexx is generating its linguistic response by letting conceptualized words associate, not by consulting a database. Mind.rexx in its current armless, legless, robotless state has no sensory knowledge about horses and cats, but neither do we humans have any sensory knowledge about atoms or subatomic particles when we talk about them. Mind.rexx is developing an ability to learn facts and to discuss those facts. Having finally shown some artificial intelligence (AI), we hope to improve the REXX code of this barely functional, miniature mind for both robustness and speed of operation. As is documented in the initial comments of the Mind.rexx program, we have plans to implement such things as: - the use of interrogative pronouns ("who?"; "what?"); - the condition of negation, using the word "not"; - introduction of pronouns by means of reference-tags; - handling of intransitive verbs by pass-through of tags; - exploration of the process of "settling" of knowledge; - multiple Chomskyan transformations, called as needed. The version "Mind14NOV94A" is a pervasively associative rexxmind that was still in the process of being fine-tuned so that the associations among concepts would settle into a natural matrix reflecting the relationships in a knowledge base ("KB"). We would know that the relationships among the concepts have settled down into their natural matrix, when we observed Mind.rexx making only "true" statements, that is, statements truthfully conforming to the assertions entered by humans into the knowledge-base of the rexxmind. Since the fine-tuning might take some time and entail changes to Mind.rexx, nevertheless that version was being released to show the current expression of the conceptual arrays and the process of "spreading activation." The version "Mind4NOV94B" was the first to offer a glint of success at creating a miniature artificial mind, because suddenly we can see how Mind.rexx may soon be able to discuss its growing knowledge base of mundane experience. This version was the first to incorporate a general algorithm for spreading associations among the monadic concepts of the deep mindcore. For a verb, the associative function passes added activation to the preceding concept (the subject of the verb) and to the subsequent concept (the object of the verb). We expect local concentration of such association to yield a contrafactual effect AS IF a thread of association were passing from one noun to another through a verb. For example, if the rexxmind contains, in both episodic and semantic memory, ten statements about what ten different animals eat for food, a query such as, "Horses eat what?", might not be expected to retrieve the direct object "hay" as a fact about what horses eat, but: In the current Mind.rexx, since associativity now spreads both backwards and forwards from any verb and from any noun, the juxtaposition of "horses" and "eat" can be expected to cause a higher local activation-level around the "eat"-node between "horses" and "hay" than between other subjects and the verb "eat." Mind.rexx does not yet behave in this fashion, but such flashes of machine insight are now looming on our horizon. "Mind29APR94A" demonstrated the "quickening" of the Mind.rexx program. We have pulled out all the stops (the requests that the user press the key) and we have programmed Mind.rexx to check briefly for user input - in the absence of which, Mind.rexx goes into its "THINKING" mode and formulates a simple sentence. "Mind28OCT94A" - the version before this archive - resulted when we tried to deal with situations where the two different words "you" and "I" would both refer to a concept of "self" in an artificial mind. "You" as an incoming word and "I" as an outgoing expression are now linked in Mind.rexx to a self-concept located in a new, deepest level of the rexxmind now consisting of these three layers: 3. Surface structures of the sensorimotor memories; 2. Linguistic hierarchies of grammar and syntactic control; 1. Primitive mindcore optimized for porting to DEC Alpha. The internal workings of the mindcore level have not yet been fully worked out (you as user/programmer/neuroscientist are invited to do your own independent work on them). This radically new version is nevertheless being released immediately so that interested parties may follow the progress of Mind.rexx, and so that the work done thus far may not accidentally perish if it has been widely circulated in electronic cyberspace. The "AudInPut" program is the rudimentary implementation of our present plan to isolate the Mind.rexx from direct human input and to let the rexxmind think on its own, after spawning a separate REXX program which the human operator may use as an independent channel of communication with the main Mind.rexx AI. The need for such isolation arose from the programming consideration that the rexxmind should not have to wait idly for human input, but should be allowed to think independently while checking constantly for human input. We have opted to use the Amiga ARexx "Clip List" as the message-passing mechanism, rather than an external file, so as to keep the mental structures tightly within ARexx and not loosely out in the vicissitudes of the operating system. As an afterthought, it occurs that multiple co-existing rexxminds may pass messages through the Clip List, or one single rexxmind may poll Clip List message-names for not only auditory input, but also visual and other sensory input. Mind.rexx simulates massive parallelism by letting all internal flows of information advance by only one single step during a single moment "t" of time. The program relies on its speed of computation in its attempt to keep up with real-time input. During a frozen moment "t" of time, Mind.rexx will generate an entire sentence of thought in natural language and then deposit the sentence as engrams in the auditory memory channel over an appropriate span of moments commensurate with the length of the sentence. Although with use of the Clip List and of other uniquely Amiga REXX features we are risking a non-portability of Mind.rexx, our primary concern is first to create the artificial mind on the Amiga, verify that it works (thinks), and then re-code Mind.rexx for portability. Even while still on the Amiga platform, the construction of Mind.rexx as a group of intercommunicating mental "modules" makes possible our invitation for any interested ARexx programmer to work on the implementation of specific modules such as: visual input and the visual memory channel; speech-recognition for a truly phonemic auditory channel; the motor memory channel leading to robotics; emotion; volition; pain/pleasure; and so forth. No permission from Project Mentifex is necessary, and no objection from any authority is tolerable: The making of minds already occurs every day when parents have children. The modules of mind are apparent in the Main Body "Mindgrid" loop which calls the modules one by one as Mind.rexx functions. REXX programmers are invited to substitute their own programming code to improve a module, and are advised that some upcoming Mind.rexx experiments may include use of the ARexx-compatible "Electric Thesaurus" (TM) commercially available from SoftWood, Inc. Specifically, we may be testing the proposition that word-meanings and word-synonyms can pop automatically into consciousness without the mind knowing that its apparent knowledge actually came from instantaneous look-ups in an extraneous database. Now that Mind.rexx has achieved "quickening", "re-entry" and deepening, future versions of Mind.rexx will serve the purpose of various psychological experiments on such things as the nature of concepts; mindsets in non-English natural languages; multiple mindrexxes interacting in a three-way arrangement with a human participant; Mind.rexx participation on an electronic bulletin board; and so forth. Suggestions are welcome and may be sent via the Internet to "mentifex@scn.org" or as hardcopy mail to Project Mentifex; Post Office Box 31326; Seattle, WA 98103-1326 USA. Anyone is invited to include the public-domain information of Mind.rexx and Project Mentifex in a World Wide Web home page viewable through Mosaic or other Internet browsing software. Further public-domain implementations of Mind.rexx are sought for such 64-bit CPU chips as the 300 MHz DEC Alpha 21164A, and for the following non-Amiga versions of the REXX programming language: uni-REXX VX-REXX The Workstation Group WATCOM International 6300 N. River Road 415 Phillip Street Rosemont, IL 60018 Waterloo, Ontario, Canada, N2L 3X2 VisPro/REXX (tm) REXX/Windows HockWare, Inc. Kilowatt Software P.O. Box 336 1945 Washington St., #410 Cary, NC 27512-0336 San Francisco, CA 94109 Personal REXX Quercus Systems P.O. Box 2157 Saratoga, CA 95070