OldConcept module of the

First Working AGI Mind in JavaScript

MindForth for robots -- ghost.pl for webservers


1. Diagram of 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| |     |     \     |      |  C     match! |
|  visual       |  |s| |     }      \    |      |  +A    match! |
|               | e| | |     |       \  _V__    |  ++T   match! |
|  memory       | a| | |     |        \/    \   |  +++S   busy  |
|               | t| | |     |        /      \  |      U  skip  |
|  reactivation |  | |f|   __V____   (EnParser) |       P skip  |
|               |  | |i|  /       \   \      /  |               |
|  channel      |  | |s| (SpreadAct)   \____/   |  C     match! |
|   _______     |  | |h|  \_______/      |      |  +A    match! |
|  /new    \    |  |_|_|  /      ________V__    |    R    stop  |
| / image   \   | /     \/      /           \   |     S   skip  |
| \ store   /---|-\ Psy /------( InStantiate )  |               |
|  \_______/    |  \___/        \___________/   |               |


2. Purpose


3. Function


4. Code of OldConcept() from ghost.pl First Working AGI in Perl

sub OldConcept() {  # http://ai.neocities.org/OldConcept.html 
  for (my $i=$t; $i>$midway; $i--) {  # 2016feb10: search backwards in time.
    my @k=split(',',$psy[$i]);  # 2016mar15: inspect @psy knowledge nodes
    if ($k[1] == $oldpsi) {  # 2017jun08: find most recent oldpsi engram
      if ($k[2] ne 0)  { $hlc = $k[2] }  # 2017jun08: k2 is still "hlc"
      if ($k[6] > 0)  { $pos = $k[6] }   # 2017jun08: pos = part of speech;
      if ($k[8] > 0) { $recnum = $k[8] } # 2017-10-01: rec(ognized) num(ber).
      if ($k[8] > 0) { # 2017-10-01: TEST; REMOVE
    } # 2017-10-01: TEST; REMOVE
      if ($k[9] > 0) { $mfn = $k[9] }    # 2017jun08: m/f/n gender 1/2/3; 
    }  # 2016feb10: end of test for $oldpsi match in @psy array
  }  # 2016mar13: End of (for loop) searching through @psy conceptual array. 
  if ($hlc eq "en") {  # 2016feb10: test for governing human-language-code 
    if ($oldpsi == 800) { $tbev = ($t-1) }  # 2017may29: for be-verb negation.
    if ($oldpsi == 800) { $becon = 1 }  # 2018-06-26: 
    if ($oldpsi == 250) { # 2017may29: 250=NOT for negation of a verb. 
      if ($tbev > 0) {  # 2017may29: if positive be-verb time;
        my @k=split(',',$psy[$tbev]);  # 2017may29: examine @psy array;
        $k[5] = 250;  # 2017jun08: set verb "jux" to 250=NOT for negation. 
        $psy[$tbev]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6],"   # 2017-06-08
        . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13],$k[14]";  # 2017-06-08
        $tbev = 0;  # 2017may29: reset for safety.   
      }  # 2017may29: end of test for a positive tbev;
      $prejux = 250;  # 2016jun17: a flag for negation.
    }  # 2017may29: end of test for negation of a verb with "NOT".
    if ($oldpsi == 404) { $kbzap = 404 }  # 2018-06-28: 404=NO for KbRetro()
    if ($oldpsi == 432) { $kbzap = 432 }  # 2018-06-28: 432=YES for KbRetro()
    $psi = $oldpsi;  # 2016feb10: from MindForth.
    if ($pov == 2) {  # 2016mar27: during a pov "dual" conversation...
      if ($oldpsi == 245) { $prepgen = 8 }  # 2016mar30: if "Where?" call EnPrep()
      if ($oldpsi == 707) { $psi = 701; $rv = 0 }  # 2016mar27: interpret "YOU" as "I";
      if ($oldpsi == 701) { $psi = 707; $rv = 0 }  # 2016mar27: interpret "I" as "YOU".
      if ($oldpsi == 731) { $psi=737; $num=2; $dba=1; $rv=0 } # 2016mar30: we --> you.
      if ($oldpsi == 800) { $becon = 1 }  # 2018-06-26: flag for calling InFerence() 
      if ($pos == 5) {  # 2018-06-26: nouns only, not yet pronouns; 
#       if ($subjnum > 0) {    # 2018-06-26: already subjnom?
        if ($subjnom > 0) {    # 2018-07-01: already subjnom?
          $prednom = $oldpsi;  # 2018-06-26: for InFerence()
        }  # 2018-06-26: end of test for pre-existing subjnom.
        if ($prednom == 0) {   # 2018-06-26: no prednom yet? 
          $subjnom = $oldpsi;  # 2018-06-26: hold for InFerence()
          $subjnum = $num;     # 2018-06-26: hold for AskUser()
          $qusnum = $num;      # 2018-06-26: query-subject-number for AskUser()
        }  # 2018-06-26: alternate between $subjnom and $prednom.
      }  # 2018-06-26: end of test for a noun. 
      if ($fyi >2) {  # 2017-04-12: keep following line for Tutorial and Diagnostic Mode
      }  # 2017-04-12: end of test for #3 Tutorial Mode or higher. 
    }  # 2016mar27: end of test for other person communicating with the AI.
    if ($moot == 0) {  # 2017-09-22: if not suppression of a query...
      EnParser(); # 2017-09-13: In preparation to call InStantiate().
    }  # 2017-09-22: end of test for $moot suppressing associative tags
  }  # 2016feb10: end of test for English human-language-code 
  if ($hlc eq "ru") {  # 2016feb24: test for governing human-language-code 
    $psi = $oldpsi;  # 2016feb24: from MindForth.
    if ($pov == 2) {  # 2016apr01: during a pov "dual" conversation...
      if ($oldpsi == 245) { $prepgen = 8 }  # 2016apr01: if "Where?" call RuPrep()
      # 2017-09-24: Above line needs to test not for English but for Russian.
      if ($oldpsi == 1707) { $psi=1701; $num=1; $dba=1; $rv = 0 } #2016apr01: ТЫ --> Я
      if ($oldpsi == 1701) { $psi=1707; $num=1; $dba=1; $rv = 0 } #2016apr01: Я --> ТЫ 
      if ($oldpsi == 1731) { $psi=1737; $num=2; $dba=1; $rv=0 }   #2016apr01: МЫ --> ВЫ
    }  # 2016mar27: end of test for other person communicating with the AI.
    RuParser();   # 2017-09-13: In preparation to call InStantiate().
  }  # 2016feb24: end of test for Russian human-language-code 
  $audnew = 0;  # 2016feb09: Reset for sake of $rv of next input word.
# $audnew = 0;  # 2017-09-22: may be needed elsewhere....
  $audpsi = 0;  # 2017-03-15: From MindForth -- prevent carry-over. 
  $finpsi = 0;  #2017-06-28: re-set for safety. 
  $len = 0;  # 2017-03-15: From MindForth -- prevent carry-over. 
  $tbev = 0;  # 2018-07-06 BUGFIX: prevent carry-over from be-verb to non-be-verb.
}  # 2017may29: OldConcept() returns to AudInput().


5. Troubleshooting and Robotic Psychosurgery

5.1.a. Symptom: (Something goes wrong.)
5.1.b. Solution: (AI Mind Maintainer devises solution.)


6. Variables for First Working Artificial General Intelligence

$oldpsi -- used in OldConcept to de-globalize "psi"


7. Future Development


8. Resources


Please see

http://github.com/kernc/mindforth/blob/master/wiki/OldConcept.wiki

http://mind.sourceforge.net/oldcept.html


9. AiTree of First Working AGI Mind-Modules


Return to top; or to
javascript subreddit for AI Mind discussion;
Forth subreddit for MindForth discussion;
Perl subreddit for ghost.pl AI Mind Maintainers.