1.
Theory of
AI4U
Algorithm Steps: Code the psiDamp Module
/^^^^^^^^^\ psiDamp sustains a chain of thought /^^^^^^^^^\ / visual \ __________ / auditory \ / memory \ | | | / Activate \ / memory \ | _______ | | | | \__________/ | channel | | / image \----|-------+ | |+| _________ | where | | / percept \ | a|C|f| |+| / psiDamp \ | chains | | \ recog / | b|O|i| |+| \_________/ | of | | \_______/ | s|N|b| |+| |+| _____ | thought | | | t|C|e| |+| | | /psi- \ | are | | | r|E|r| |+| |+| \Decay/ | perceived | | | a|P|s| |+| | | \___/ | ______ | | | c|T| | |+| |+| |-| | / \ | | _______ | t| | | |+| | | |-| | / "what" \ | | / new \ | ___|_|_|__|+|__|+|___|-|___ | / "do" \ | | / percept \ | /Activation of a Psi concept\ | \ "fish" / | | \ engram /---|-\drops sharply after thought/ | \ "eat" / | | \_______/ | \_________________________/ | \______/ |
The psiDamp module plays a key role in
artificial
consciousness
by damping down the
activation of each mindcore concept
immediately after it has been thought as part of an idea,
so that consciousness may ride a
moving wave of active concepts
to flit from thought to thought in the stream of consciousness.
http://mind.sourceforge.net/ai4u_157.html
is an overview of Mind.
// psiDamp() is called from nounPhrase() or verbPhrase() // to de-activate a concept that was briefly activated. function psiDamp() { // ATM 21jun2002; or your ID & date. // We use tov to avoid damping reentered thoughts. for (i = tov; i>midway; --i) { Psi[i].psiExam(); // cycle through recent Psi nodes if (psi0==urpsi) Psi[i] = new psiNode(psi0,0,psi2,psi3,psi4,psi5,psi6); } // end of backwards loop } // psiDamp returns to nounPhrase, verbPhrase, etc.
\ psiDamp is called from nounPhrase or verbPhrase \ to semi-activate a concept that was briefly activated. : psiDamp ( reduce activation of a concept ) \ atm 23jan2006 \ 5 lump ! \ 8oct2005 Let Activate go higher than psiDamp does. \ 10 lump ! \ 15oct2005 For sake of meandering chains of thought. \ 30 lump ! \ 23jan2006 Upper-tier concept drops to top of lower tier. fyi @ 2 > IF CR \ Too detailed for Tutorial mode. ." psiDamp called for urpsi = " urpsi @ . ." and lump = " lump @ . THEN midway @ 1 + t @ 1 + DO \ Loop backwards from t+1. I 0 psi{ @ urpsi @ = IF \ If psi0 is found, \ 0 I 1 psi{ ! THEN \ set activation psi1 to zero. \ 2 I 1 psi{ ! THEN \ 29apr2005: Set to not-quite-zero. lump @ I 1 psi{ ! THEN \ Set in psiDamp or in calling module. -1 +LOOP \ End of backwards loop. 0 lump ! \ 15sep2005 safety measure psiDecay \ 21sep2005 For the sake of the Moving Wave Algorithm. \ If psiDecay is to be used sparingly, it is especially \ warranted here, to act in concert with psiDamp. \ psiDecay \ Against unresolved activations; favoring user inut. ; \ psiDamp returns to nounPhrase, verbPhrase, etc.
4. Troubleshooting and Robotic Psychosurgery
An AI Mind programmer will most likely need to troubleshoot
the psiDamp module in conjunction with other mind-modules.
One of the most helpful techniques for troubleshooting the
psiDamp module is to use a "caller" variable to display
which other module is calling psiDamp at any given time.
In the JavaScript tutorial AI mind, the "caller" variable
may simply carry the name of the calling module as a
text string, but in Forth the "caller" variable might be
used to carry a numeric identifier of the calling module.
Some versions of the original Mind.Forth may identify
calling modules by the AI4U page number of the chapter
on the particular module. For novel mind-modules, coders
may need to devise a novel numbering scheme.
5. psiDamp Resources for
Seed AI Germination and Evolution