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