#ZATANOX
/* Mind26NOV94B - Amiga AI Work-in-Progress based on Fish disk #411. / SAY " The program Mind.rexx is loading up the mind of Andru, the cyborg." version = "Mind26NOV94B" / In this version Mind.rexx for the first time shows a correct / / response to a query of its mundane knowledge-base ("KB"). That / / response is shown in the accompanying file "audlog26NOV94". / / However, it is not yet clear just why the correct response was / / obtained, because there may have been some residual activation / / which predisposed the Mind.rexx to select a particular response. / / In upcoming tests, it will be simple enough to remove such residual / / activations through a damping function, and then it may be clear / / whether Mind.rexx is actually thinking when it talks about its / / knowledge-base. / / The "audlog26NOV94" is a direct record of the very first run in / / which Mind.rexx displayed what SEEMS to be intelligent behavior, / / that is, the retrieval of knowledge not from a database, but from / / the conceptualization of words as symbols of information. / / This first "working" version of Mind.rexx shows all the hodgepodge / / code-insertions that brought the successful algorithm up and running. / / Some of the search functions, while they work, make Mind.rexx slow. / / These slow functions will next be enhanced, and some pesky flaws / / remaining in the "Comparator()" function will be addressed yet again. / / If Mind.rexx is truly thinking on the basis of a knowledge-base, / / then the next steps will involve coding our newly available design / / for conceptualizing negation (by inserting a negation-marker into / / the "logic" flag of verbs) and will involve the use of the / / interrogative pronoun "what?" in knowledge-base queries. Use of the / / word "why?" will take some further work. / / In October of 1994 we have drastically altered Mind.rexx by / / increasing from two to three its levels of internal processing: / / 3. Surface level: The auditory memory channel; / / 2. Middle level: Linguistic structures for language(s!); / / 1. Mindcore: Up to 64 primitive concepts, plus learned ones. / / We optimize Mind.rexx for 64-bit 300 MHz DEC Alpha 21164 CPU chips, / / or for 64-bit machine-coding on chips of ANY manufacturer. / / In June of 1994 we have programmed Edelmanian "re-entry" into / / Mind.rexx, so that the products of thought now re-enter the rexxmind / / as food for more thought. / / This version discourages hardcopy printouts, but saves the state / / of the rexxmind to a set of three RAM files, which may then be / / printed out or stored on permanent media (diskette, CD-ROM, etc.). / / This version works with a companion program, "AudInPut11OCT94A", / / to find and speak an active subject, verb and direct object. / / This latest version of Mind.rexx is in the public domain and is / / being uploaded to Gramma's BBS at 206-744-1254 and to other Amiga / / bulletin board systems in the area of Seattle, Washington, USA. / / Mind.rexx may be included on any CD-ROM for any purpose. / / Internet messages about Mind.rexx may go to "[email protected]". / cata = 0 / 25JUN1994: A flag to show when catamnesis is "on". / dex = 0 / 26JUN1994: "dex" points to concepts activated for re-entry. / dirobj = 0 / 9NOV1994: Initialize for use under "Language()" function. / dsequ = 0 / 24NOV1994: Initialize for use in "Spreadact()". / dupflag = 0 / 20JUN1994: A dup(licate-)flag for "Sensorium()". / offset = " " / 18APR1994: Margin for hardcopy Field Reports. / hvt = 0 / 21NOV1994: "highest valence time" for diagnostics. / indent = " " / 18APR1994: Indent for nested announcements. / inpos = 1 / 10MAY1994: In(put-word) pos(ition) for print-outs. / locdup = 0 / 20JUN1994: A loc(al) dup(licate) variable. / moval = 0 / 18.OCT.1994: For transfer of valences monad-to-fiber. / outpos = 1 / 10MAY1994: Out(put-word) pos(ition) for print-outs. / prev = 1 / 3NOV1994: Init a default for use in "Instantiate()". / skip = 0 / 18.OCT.1994: A trick to reduplicate "verbal". / tprequel = 1 / 3NOV1994: Initiate for use in "Instantiate()". / wordpos = 1 / 4MAY1994: Variable for word-pos(ition) in print-outs. / sv = 3 / 11.OCT1994: To prevent "arithmetic conversion error". / wg = "" / 29JUN1994: Initialize "wg" as not a number. / ydyn = 0 / 24NOV1994: Initialize for use in "Spreadact()". / SAY "" SAY "Note: A separate Auditory Input program should be also be running." SAY "Do you wish to print out hardcopy diagnostics to an on-line printer?" SAY "[y/N/] "; PULL hardcopy IF hardcopy = "Y" | hardcopy = "R" THEN DO print = Open(labnote, "PRT:", 'w') WRITELN(labnote, offset||"Amiga system date: "||Date()) WRITELN(labnote, 'A'x) / One linefeed (LF) for spacing. / END augend = 0 / 5APR1994: A value "to be increased" during a search. / catagram = "" / 28APR1994: The engram moving down in "Catamnesis()." */ CR = *D: