Summon the AI4U Textbook Mind into your presence with MSIE.

The Oldconcept Module of the Mind.Forth AI Breakthrough
by Mentifex

1. Theory of Seed AI Algorithm Steps: Code the Oldconcept Mind-Module

   /^^^^^^^^^\ A Recognized Word Activates An Idea /^^^^^^^^^\
  /   EYE     \                       _______     /   EAR     \
 /             \ CONCEPTS            / New-  \   /             \
|   _______     |  | | |   _______  ( Concept ) |  C     match! |
|  /old    \!!!!|!!|!| |  / Old-  \  \_______/  |  +A    match! |
| / image   \---|----+ | ( Concept )     |      |  ++T   match! |
| \ fetch   /   |  |c| |  \_______/------|------|-----S  recog! |
|  \_______/    |  |a| |     |    \      |      |               |
|               |  |t| |   __V___  \     |      |  C     match! |
|  visual       |  |s| |  /      \  \    |      |  +A    match! |
|               | e| | | (Activate)  \  _V__    |  ++T   match! |
|  memory       | a| | |  \______/    \/    \   |  +++S   busy  |
|               | t| | |     |        /      \  |      U  skip  |
|  reactivation |  | |f|   __V____   ( Parser ) |       P skip  |
|               |  | |i|  /       \   \      /  |               |
|  channel      |  | |s| (spreadAct)   \____/   |  C     match! |
|   _______     |  | |h|  \_______/      |      |  +A    match! |
|  /old    \    |  |_|_|  /      ________V__    |    R    stop  |
| / image   \   | /     \/      /           \   |     S   skip  |
| \ store   /---|-\ Psi /------( Instantiate )  |               |
|  \_______/    |  \___/        \___________/   |               |

http://mind.sourceforge.net/diagrams.html shows a Theory of Mind.

The Oldconcept module takes a word that has been recognized as
a known concept and creates a new, up-to-date associative node
that preserves the instantaneous relationship of each concept to
nearby concepts caught up in the momentary syntactic assertion.

Typically a verb mediates the relationship from one concept to
another in the knowledge base (KB) that builds up over time as
the accumulation of all known facts and ideas about a concept.
Likewise the concept of any given verb is also mediated by its
associative relationships within myriad syntactic assertions.

In our Open Source AI epistemology, machine learning is the
gradual build-up of an ontology of intricately related facts.

We claim that the AI Mind is theoretically an improvement upon
the vaunted Cyc (R) ontology because we conceptualize concepts
in accordance with the SourceForge/ Mind/ Docs/ Theory of Mind
based on sound neuroscience and the linguistics of Noam Chomsky.

Our AI algorithm includes not only machine learning but also
forgetting -- as the consignment to oblivion of memories that
fail to be brought forward in the stream of consciousness for
lack of associative renewal on the basis of frequency of use.


2. Nil Novi Sub Sole

There is "nothing new under the sun" when we generate a sentence,
because the Chomskyan syntax of thought may only manipulate old
concepts already known to the mind but not new concepts until the
newConcept module converts them -- immediately -- to old concepts.

Then the oldConcept module processes the reentry of the output of
the mind back into the mind, reactivating each recognized concept
in chains of association so that spreading activation constitutes
a chain of thinking or meditating or mulling about old knowledge.
If the mind goes down a road less traveled in the conceptual wood
so as to think up an entirely original idea (E = mc^2, anybody?),
then perhaps that original idea has made all the difference.


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


3. JavaScript free Seed AI source code with free User Manual
// oldConcept() is called from Audition() to create a
// fresh concept-node for a recognized input word.
function oldConcept() {  // ATM 12aug2002; or your ID & date.
  act = 32;          // Start with a basic activation-value.
  for (i=t; i>midway; --i) { // Cycle back through English lexicon.
    enLexicon[i].enExam();   // Examine each English concept node.
    if (psi == en0) {  // If psi (enx?) from Audition() matches,
      if (en2 > 0) fex = en2; // retrieve the "fiber-out" flag;
      // Next line tries to parse by word-recognition:
      if (en3 > 0) pos = en3; // retrieve most recent part-of-speech;
      if (en4 > 0) fin = en4; // retrieve the "fiber-in" flag;
    break;  // Use only the most recent En(glish) engram-node.
    } // End of searching if-clause.
  } // End of the backwards loop.
  enLexicon[t] = new enNode(psi,0,fex,pos,fin,aud);
  // This code has a bearing on emerging consciousness:
  if (pov == "{") psi = fex; // at start of internal pov;
  if (pov == "#") psi = fex; // during internal "pov";
  if (pov == "}") psi = fex; // at finish of internal pov.
  if (pov == "*") psi = fin; // external "pov"
  enx = psi;        // Use the psi value for "transfer-to-English".
  if (psi == 16) {  // If question-word "why" comes in,
    act = 8;        // subactivate question "why".
    question = 16;  // Briefly keep track of what was asked,
    // so that Conjoin() may provide the conjunction "because".
  } // End of test to deal with "why" questions.
  if (psi == 54) act = 8;  // Subactivate question "what".
  if (psi == 55) act = 8;  // Subactivate question "who".
  if (psi == 59) {  // If auxiliary verb "do" is recognized,
    act = 8;        // Reduce activation of "do".
  }  // End of test to de-activate auxiliary verb "do".
  Parser();       // Determine the part-of-speech "pos". 
  pos = 0;        // Reset the "part-of-speech" to zero.
  urpre = pre;    // Hold value of "pre" safe during Activate().
  caller = "oldConcept"; // For diagnostic Alert boxes.
  Activate();     // Having recognized a concept, activate it.
  pre = urpre;    // Restore the value of "pre".
  unk = 0;        // Reset for safety.
  // The next lines store "seq" retroactively:
  if (pre > 0) {
    for (i=t; i>midway; --i) { 
      Psi[i].psiExam(); // Examine the Psi concept nodes.
      if (pre == psi0) {
        Psi[i] = new psiNode(psi0,psi1,psi2,psi3,psi4,psi,psi6);
      break;  // Store one instance, then "break" the loop.
      } // end of inner if-clause
    } // end of loop
  } // end of outer if-clause
  pre = psi; // for next "nen"
  act = 0;
} // End of oldConcept(); return to Audition().

4. Mind.Forth free artificial general intelligence with User Manual
\ OLDCONCEPT is called from AUDITION to create a
\ fresh concept-node for a recognized input word.
:  OLDCONCEPT  \ ATM 3aug2002; or your ID & date.
  32 act !  \      \ Start with a basic activation value.
  midway @ t @ DO  \ Cycle back through the English lexicon.
    I 0 en{ @ psi @ = IF   \ If psi-tag matches lexical concept,
    I 2 en{ @    0 > IF    \ if it is greater than zero,
    I 2 en{ @  fex ! THEN  \ retrieve the fiber-out flag.
    I 3 en{ @    0 > IF    \ So as to parse by word-recognition,
    I 3 en{ @  pos ! THEN  \ retrieve most recent part-of-speech.
    I 4 en{ @    0 > IF    \ If it is greater than zero,
    I 4 en{ @  fin ! THEN  \ retrieve the fiber-in flag.
    LEAVE        \ Use only the most recent English engram-node.
    THEN         \ End of searching if-clause.
  -1 +LOOP       \ End of the backwards loop.
  \ Next code stores "psi" directly instead of calling enVocab,
  \ so that value of "psi" will not interfere with "nen" value:
  ( "psi" as found by audRecog )    psi @  t @  0  en{ !
  ( Store zero activation. )          0    t @  1  en{ !
  ( Store mindcore EXit tag. )      fex @  t @  2  en{ !
  ( Store part of speech "pos".)    pos @  t @  3  en{ !
  ( Store mindcore IN tag. )        fin @  t @  4  en{ !
  ( Store the auditory "aud" tag. ) aud @  t @  5  en{ !
  \ The Robot Mind as a seed AI for Technological Singularity
  \ approaches artificial consciousness in the following code:
  pov @  35 = IF fex @ psi ! THEN   \ during internal (#) "pov";
  pov @  42 = IF fin @ psi ! THEN   \ external (*) "pov"
  psi @  enx !      \ Assume Psi number = En(glish) number.
  psi @ 54 = IF 8 act ! THEN  \ Subactivate question "what".
  psi @ 55 = IF 8 act ! THEN  \ Subactivate question "who".
  psi @ 59 = IF 8 act ! THEN  \ Subactivate auxiliary "do".
  PARSER            \ Determine the part-of-speech "pos".
    0 pos !         \ Reset the part-of-speech "pos" flag.
  pre   @  urpre !  \ Hold value of "pre" safe during ACTIVATE.
  ACTIVATE          \ Re-activate recent nodes of the concept.
  urpre @    pre !  \ Restore the value of "pre".
  \  The next lines store "seq" retroactively:
  pre @  0 >  IF    \ If a positive "pre" exists...
    midway @  t @  DO  \ look backwards in time...
      I         0 psi{ @  pre @  =  IF   \ for a node of "pre"
        psi @ I 5 psi{ !  \ and store "psi" as retroactive "seq"
        LEAVE            \ One instance is enough.
      THEN               \ end of inner if-clause
    -1  +LOOP            \ end of backwards loop
  THEN                   \ end of outer if-clause
  psi  @  pre !          ( for next nen )
  0 act !       \ Reset for safety.
  \ 26jul2002 Diagnostic test code:
  pov @ 35 = IF  \ 26jul2002 Make sure pov is internal,
    1 match !  \ 26jul2002 Declare word-match for SPEECH.
  THEN  \ 26jul2002 End of test for internal pov=35 state.
;  \ End of OLDCONCEPT; return to AUDITION.

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

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


5. Analysis of the Modus Operandi

For a known and recognized word in the input stream, the
Oldconcept module creates a new associative node for a
concept in the mindcore array Psi and also in the En
English lexical array that manipulates English words stored
in the Aud array of the auditory memory channel.

Each run of the AI Mind software starts out with a group
of old concepts already available in the semantic memory.
Although in the long run a major goal of AI might be to
have the AI Mind learn all its concepts and all its words
of natural language from scratch like a human baby filling
in a tabula rasa mind with the acquisition of language,
the goal of this particular open-source AI Mind project was
always to achieve and demonstrate the simplest possible level
of thinking based on the principle of spreading activation.
That goal was achieved with an AI breakthrough on 7 June 2006.

Space for the following 64 old concepts is reserved.
adjectives and articles: a(n), all, any, false, no, one, the, true;
adverbs: also, else, how, not, then, when, where, why;
conjunctions: and, because, either, if, or, that, when, whether;
interjections: good-bye, hello, no, oh, ouch, please, thanks, yes;
nouns: Andru, bugs, cats, fish, people, persons, robots, things;
prepositions: at, for, from, in, of, on, to, with;
pronouns: he (she, it), I (me), nothing, they, we, what, who, you,
verbs: am (is, are), be, do, hear, know, see, think, understand.

Not all of the above concepts are included in each AI Mind.
The English bootstrap sequence may contain some of the above
concepts, and also some extra concepts that were necessary
to construct sentences containing some of the above concepts.
When extra concepts need to be included in the bootstrap
sequence, the area for 64 reserved concepts is simply
enlarged to, say, 71 concepts. Above that number of
potentially reserved concepts, the AI automatically starts
assigning concept numbers for new concepts learned by the AI.


6. Troubleshooting and Robotic Psychosurgery

Try in advance not to introduce any evolutionary bugs.

The AI Debugger program may shed some light in general on how to debug
and troubleshoot programs in artificial intelligence.

If you try to teach the AI a new concept and it fails to
learn it, check to see if you have introduced only one new
concept at a time, as may be suggested in the user manual.

If the AI has already learned a concept but is failing to
recognize the word in the input stream, you may go into
Troubleshoot mode with the JavaScript Mind.html to see
what concept-number is being assigned to the concept.
With Mind.Forth, you may press Escape to halt the AI and
then enter .psi or .en or .aud to inspect the concepts.
In either case, it may be that the audRecog module is
mistakenly declaring the wrong concept-number because
of similarity in the word with some other known word.
If so, it may be necessary to debug the audRecog module
or to choose other words that will not confuse audRecog.


7. Oldconcept and Knowledge-Based Resources for Seed AI Evolution


The Oldconcept mind-module is the subject of Chapter 29
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