After solving the aboriginal audRecog bug in 5dec07B.F, now we need to perform a few housekeeping details as we move on in the Mind.Forth coding. We must do the following.
We must convert some of the 5dec07B.F troubleshooting messages into genuine diagnostic-mode messages. One way to proceed would be to have the messages appear at first in Tutorial mode to make sure that everything looks okay, then relegate the messages to Diagnostic mode for future use. We need to comment out the superfluous "psi" coding that was apparently a blind alley in the audRecog module, so as to make sure that we do not really need the code, which would only distract programmers from what is really going on in the audRecog module. Then later we must delete the commented-out code. Maybe we should solve the bug next in line before we do the housekeeping details, because we do not want to interfere in the solving of the next-in-line bug. The bugs involves the fact that, when the self ("I") concept is activated, the AI properly says, "I HELP KIDS", but then improperly says "KIDS MAKE KIDS" instead of "KIDS MAKE ROBOTS". To the, ahem, experienced eye, this bug looks like a simple case of mis-assigned activation-values, as discussed in the actrules.html webpage file, but the bug could turn out to be far more serious. As we try to troubleshoot the path of activations, we gradually conclude that the Diagnostic mode will eventually have to be geared to displaying mainly activation-events. Let's try using a lower residuum in psiDamp. Second Session No, lowering residuum did not help. Let's see if spreadAct is not searching far enough for the "seq" tag leading to a direct object. It worked! We increased the seq zone from +7 to +9, and all of a sudden the AI could find such a long direct object as "ROBOTS". --------------- Sat.15.DEC.2007 Our remedial action is too much of an ad-hoc solution, and we need to perform a more general re-make of the use of the "zone" variable in the spreadAct module. Perhaps we will widen the "zone" far enough to include even the longest words, and use a LEAVE statement to exit the operation when a "pre" or "seq" is found, or perhaps we will simply declare an unbudging "seq" by only letting the "seq" slot be filled once per search. We also need to import the use of an abort mechanism such as the var abort = false; // 29dec2006 For orchestration of sentence-generation. that we use in the JavaScript AI (JSAI) Mind. As the Forthmind gets better and better at sloshing activation over onto the correct direct object as found by a "seq" search, the situation will tend to arise that the AI Mind lacks sufficient knowledge to think about the found direct object as the subject of a new sentence. Instead, the AI needs to abort any generation of a thought that can not be completed for lack of knowledge. At the same time that a lack-of-knowledge sentence is aborted, the AI should call the wtAuxSDo module to ask a question that could potentially elicit the missing knowledge from either an attendant human being or from a search of the Internet. The AI should pause and give the human attendant extra time in which to answer the wtAuxSDo question. The Tutorial mode should indicate that the AI is calling wtAuxSDo instead of SVO. If no answer is forthcoming from the wtAuxSDo question, it would be a good time to invoke the EGO resuscitation module so that the AI generates a self-referential thought instead of trying to pursue a line of thought for which it lacks enough knowledge to think reasonably. On the other hand, more advanced routines might simply let ideas "queue up" so that thought turns to a traversal of semi-activated chunks of knowledge contained in the knowledge-base (KB) of the AI Mind. ATM -- http://mentifex.virtualentity.com/mind4th.html ----- This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?member_id=8660244&id_secret=76435084-f5d600