Summon the AI4U Textbook Mind into your presence with MSIE.

The Spreadact Module Module of the Mind.Forth AI Breakthrough
by Mentifex
1. Theory of AI4U Textbook Algorithm Steps: Code the Spreadact Mind-Module

The following chart shows what happens when the AI
answers a human input query, "fish eat [RETURN]".

Diagram: Horizontal lines are associative tags.
Diagram: Vertical lines are concept fibers.

  t = time
              |      | |   |      |      | | | |      |
100           |      +------------+------------+      |
              |   cats |   |      |      | | | fish   |
200           +-------------------+-------------------+
              |        |   |      |      | | |        |
300           |        +----------+----------+        |
              |   horses   |      |      | | hay      |
400           +-------------------+--------+          |
              |            |      |      | worms      |
500           |            +------+------+            |
              |         dogs      |      meat         |
            fish                 eat                bugs

When the AI Mind hears the word "fish," the vertical fiber
of the concept of "fish" is activated at all its recent nodes (+).

The Spreadact function transfers some of the activation to nodes
on the perpendicular fiber of the concept of "eat," even before
"eat" is entered as part of the query of the knowledge base (KB).

As the input continues to come in and the word "eat" is entered,
the Activate module increments whatever activation, if any,
is already present on all recent nodes of the perpendicular fiber
of the concept of "eat." Because some of the "eat" nodes have
already received an activation spreading from the "fish" fiber,
a bulge of combined activation forms on some of the "eat" nodes,
and that bulge of activation spreads even further to activate
such correct answers to the KB query as "worms" or "bugs."

Thus you see above a rudimentary map of concept fibers in the AI
or human brain-mind, and you may trace the flow of activation.

1.1. Overview of Spreading Activation With Known Concepts


2. Spreading Activation is a Major Idea in Psychology

Searching the AI or psychology literature will reveal that the
theory of "spreading activation" is an important part of any
linguistic theory of mind. If spreading activation does not work
properly in the brain of a human child, autism, dyslexia or other
problems may result and may require early detection so as to give
the brain a chance to develop the use of the best neural pathways.

Sensory percepts from vision and other senses activate concept
fibers in the deep mindcore Psi of the Robot AI Mind.
Each psi concept fiber contains associative-tag links to other
concepts in the mindcore. Thus the activation of one concept
will spread to several or many related concepts in the mindcore
by the process of spreading activation. However, not all
associated concepts will attain the same level of activation,
because some associative pathways are stronger than others.
Therefore, when the Chomskyan syntax structure for English
flushes out the group of concepts with the highest activation
levels for inclusion in a sentence of thought, only the most
pertinent and momentarily most active concepts will percolate
up from the deep structure of the mindcore into the English
lexical array En and the auditory memory channel Aud,
where the AI will hear itself think. Spreading activation, then,
is also a form of competing activation, because only the most
salient, pressing concepts "win the race" to form a thought.


3. Genesis -- Constructing the spreadAct Mind-Module


http://mind.sourceforge.net/ai4u_157.html is an overview of Mind.


4. JavaScript free Seed AI source code with free User Manual
// spreadAct() is called by Activate()
// to spread activation among concepts.
function spreadAct() {  // ATM 21jun2002; or your ID & date.
  if (pre > 0) {          // If a pre(vious) concept exists...
    for (j = zone; j > midway; --j) {  // Time-zone search.
      Psi[j].psiExam();   // Examine the range of Psi concepts.
      if (psi0 == pre) {  // If a match of "pre" is found, 
          psi1 = (psi1 + bulge); // pass on some activation.
          Psi[j] = new psiNode(psi0,psi1,psi2,psi3,psi4,psi5,psi6); 
      }                   // End of inner if-clause.
    if (j < (zone - 6)) break; // Expect no words of 6+ chars. 
    }                     // End of backwards loop.
  }                       // End of outer if-clause.
  if (seq > 0) {          // If a sub(seq)uent concept exists...
    for (j = zone; j < t; ++j) { // prepare to search zone
      Psi[j].psiExam();   // Examine the forwards range of Psi.
      if (psi0 == seq) {  // If a match of "seq" is found,
          psi1 = (psi1 + bulge + 2);  // augment direct objects.
          Psi[j] = new psiNode(psi0,psi1,psi2,psi3,psi4,psi5,psi6);
      }                   // End of inner if-clause.
    if (j > (zone + 6)) break; // Expect no words of 6+ chars.
    }                     // End of forwards loop.
  }                       // End of outer if-clause.
} // End of spreadAct(); return to Activate().

5. Mind.Forth free artificial general intelligence with User Manual
\ SPREADACT is called by ACTIVATE
\ to spread activation among concepts.
\ It follows "pre" and "seq" tags to find related concepts.
: SPREADACT  \ ATM 11may2002; or your ID & date.
  pre @ 0 > IF   \  if a pre(vious) concept exists...
    midway @  zone @  DO   \ Time-zone search.
      I 0  psi{ @   pre @  =  IF  \  Find the "pre" concept...
        bulge   @   I  1 psi{ +!  \  Pass on activation.
        I zone  @  6 - > IF LEAVE THEN  \ Expect no long words.
      THEN       \  End of middle if-clause.
    -1  +LOOP    \  End of backwards loop.
  THEN           \  End of outer if-clause.
  seq @ 0 > IF   \  If a sub(seq)uent concept exists,
    t @       zone @  DO   \  Prepare to search zone.
      I 0  psi{ @   seq @  =  IF  \ If a match of "seq" is found,
        bulge   @   I  1 psi{ +!  \  pass on some activation.
        I zone  @  6 + > IF LEAVE THEN  \ Expect no long words.
      THEN       \  End of middle if-clause.
    LOOP         \  End of forwards loop.
  THEN           \  End of outer if-clause.
;  \ End of SPREADACT; return to ACTIVATE.

http://mind.sourceforge.net/m4thuser.html is the Mind.Forth User Manual.

http://mind.sourceforge.net/variable.html explains the Seed AI variables.


6. Analysis of the Modus Operandi

Spreadact conducts two searches: a backwards search
in the current "zone" of time for any available "pre" concept,
and a forwards search for any "seq" concept in the same zone.
Spreadact transfers a "bulge" of activation from a node on a
concept in Activate to associated "pre" and "seq" nodes on a
related concept in the Spreadact module. Since activations are
transferred only at particular nodes deposited in a particular "zone"
of time in the lifelong memory channels, variations in activation
may develop, thus enabling the Chomskyan linguistic superstructure
to flush out concepts for inclusion in a sentence of thought
based on which concepts are momentarily most active.
Further work needs to be done in other modules of the AI Mind
so that a concept, after being activated and used in a sentence
of thought, will die down or be damped sufficiently so as not
to interfere with other concepts that need to play their own
role in the linguistic generation of thoughts.

When a user types in a sentence of English, the AI either
recognizes old concepts or creates new concepts for newly
encountered words. In the case of the old, recognized concepts,
the AI uses the Activate subroutine to activate all recent
nodes. (The new concepts are automatically activated.)
For the Robot AI Mind to comprehend a sentence and generate a
response, it is not enough merely to activate the most recently
incoming concepts by means of Activate, because oftentimes
the AI will be asked for missing information only related
to the incoming sentence -- not contained in it.
Therefore any neural mind, AI or not, needs to let activation
spread from concepts "on the table" to concepts "out of sight."
For each node of a concept activated by Activate, Spreadact
follows the "pre" and "seq" tags to activate related concepts.
If two concepts both make reference to a third, then Spreadact
will probably cause a "slosh-over" effect whereby the third but
unmentioned concept gets activated. For example, "horses eat..."
or "what do horses eat", entered by the user will on the one hand
activate all recent nodes of "eat," but on the other hand
any node of "eat" occurring simultaneously (in a "time-cloud")
with "horses" will have an overall enhanced activation that
enhances the activation of such truly related answers as the
concept of "hay." Thus truth and knowledge are grounded in the
associated concepts of the mindgrid, forming a knowledge base.


7. Troubleshooting and Robotic Psychosurgery

Typically two classes of problems may arise from the spreadAct module:

  • runaway activation; and
  • saturation problems.

    Runaway activation may occur if no limits are set and a concept,
    once activated, reciprocally activates one or more nearby concepts
    so strongly that there is no escape from the runaway phenomenon.

    Saturation effects may occur if an upper limit is set for conceptual
    activation and too many concepts quickly reach the activation-limit.

    The problem of saturation may be easier to deal with than the problem of
    runaway activations. Saturation may be actually a self-correcting situation,
    if the involved concepts queue up as ideas about to germinate in the mind.
    Meanwhile the psiDecay module may serve to counteract saturation problems,
    whereas runaway activations might typically overwhelm the psiDecay operation.


    8. Spreading Activation Resources for Seed AI Germination and Evolution


    The Spreadact mind-module is the subject of Chapter 34
    in your POD (print-on-demand) AI4U textbook,
    as worthily reviewed and intellectually evaluated
    by Mr. Christopher Doyon of the on-line Turing Store; and
    by Prof. Robert W. Jones of Emporia State University.
    A search on eBay may reveal offerings of AI4U and
    a catalog search for hardbound and paperback copies
    may reveal libraries beyond the following where students
    of artificial intelligence may borrow the AI4U textbook:
  • Hong Kong University Call Number: 006.3 M981
  • North Carolina State University (NCSU) Call Number: Q335 .M87 2002
  • Texas A&M University
    Consider http://www.bookcrossing.com as a way to
    circulate and track your wandering copy of AI4U.
    At your own library you may submit a request for
    the acquisition of AI4U with ISBN 0595654371.


    Return to top; or to sitemap; or to
    C:\Windows\Desktop\Mind.html
    [For the above link to work, copy to your local hard disk
    http://mind.sourceforge.net/Mind.html
    and name it Mind.html in the C:\Windows\Desktop\ directory.]

    SourceForge Logo