EnThink Mind-Module of First Working AGI

EnThink English-thinking mind-module of the

First Working AGI Mind in JavaScript

MindForth for robots -- ghost.pl for webservers


1. Diagram of EnThink English-thinking Mind-Module

  /^^^^^^^^^^^\EnThink is for Thinking in English /^^^^^^^^^^^\
 /   EYE       \            _________________    /    EAR      \
|               |CONCEPTS  /                 \  |  ___________  |
|   _______     |   | | | / Volition FreeWill \ | / MindBoot  \ |
|  / old   \    |   | | | \___________________/ || memory vault||
| / image   \!!!|!!!|!|!| __|____  |   _|____   ||             ||
| \ recog   /---|---|-|-+(Emotion) |  /      \  || "students"  ||
|  \_______/    |   |s| | \_____/  | (RuThink ) || "read"      ||
|               |   |t| |   _______V  \______/  || "books"     ||
|               |   |u| |  /        \           | \___________/ |
|               |   |d|b| ( EnThink  )          |               |
|   visual      |  r|e|o|  \________/\_______   | "John is a"   |
|               |  e|n|o|   |     |  /       \  | "student"     |
|   memory      |  a|t|k|   |     | (InFerence) |               |
|               |  d|s|s|   |     |  \_______/  | "John reads"  |
|   channel     |   | | |   |    _V__________   | "books"       |
|               |   | | |   |   / Imperative \  |               |
|               |   | | |   |   \____________/  |               |
|   _______     |   | | |  _V__________         |               |
|  /new    \    |   |_|_| ( Indicative )        |newest memories|
| / percept \   |  /     \ \__________/         |to be recycled |
| \ engram  /---|-(  Psy  )                     |automatically  |
|  \_______/    |  \_____/                      |by ReJuvenate()|


2. Purpose



3. Algorithm


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

sub EnThink() {      # http://ai.neocities.org/EnThink.html
# print "EnTh: VL= $verblock negjux= $negjux jux= $negjux \n"; # 2018-07-06: TEST
  $output = "";      # 2017-11-29: Zero out only after call(s) to Indicative()
  if ($nucon > 0) {  # 2017-11-29: if a new noun is encounter in NewConcept()
    SpreadAct();     # 2017-11-29: to activate concepts for a question. 
    $nucon = 0;      # 2017-11-29: reset for safety.
    $pov = 2;        # 2017-11-29: give human user a "pause" for input...
    $gapcon = 21;     # 2017-11-29: arbitrary pause for human input...
    return;    # 2017-11-29: after question abandon rest of function.
  }  # 2017-09-29: end of test.
  if ($kbcon > 0) {  # 2018-06-26: if user answers yes-or-no question; 
    KbRetro();   # 2018-06-26: retroactively adjust knowledge base; 
    $kbcon = 0;  # 2018-06-26: reset for safety; 
    $kbzap = 0;  # 2018-06-26: reset for safety.
    return;      # 2018-06-26: abandon remainder of current module.
  }  # 2018-06-26: User has had one chance to answer yes-or-no question.
  $inft = $t;    # 2018-06-26: in case inference-time not otherwise set; 
  if ($becon==1) {  # 2018-01-25: if user input includes 800=BE-verb...
    InFerence(); # 2018-01-25: make a silent inference; 
  }  # 2018-06-26: end of test for input of a be-verb.
  if ($yncon == 1) {  # 2018-06-26: set in the InFerence() module
    AskUser();  # 2018-06-26: for yes-or-no query; 
    return;  # 2018-06-26: abandon the rest of EnThink()
  }  # 2018-06-26: end of test to trigger asking a question.
  if ($dunnocon==1) { print "I DO NOT KNOW " }  # 2017-11-29
  Indicative();    # 2017-11-29: default grammatical mood for thought. 
# Subjunctive();   # 2017-11-29: possible future module for grammatical mood.
# Imperative();    # 2017-11-29: possible future module for grammatical mood.
# Interrogative(); # 2017-11-29: possible future module for grammatical mood.
# Optative();      # 2017-11-29: possible future module for grammatical mood. 
# ConJoin();       # 2017-11-29: Output one more idea with sufficient activation. 
# ConJoin();       # 2018-06-26: Commenting out during coding of InFerence.
  PsiDecay();      # 2017-11-29: Reduce activation after each thought.
  $conj = 0;       # 2018-06-26: reset to prevent carry-over. 
  $subjnom = 0;    # 2018-07-01: reset outside of InFerence() to prevent interference.
}  # 2018-06-26: EnThink() returns to Volition().


5. Troubleshooting and Robotic Psychosurgery

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


6. Variables

$output -- output string as in JavaScript FirstWorkingAGI.html


7. Resources


Please see

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

http://cyborg.blogspot.com/search/label/EnThink -- is a special weblog URL which invites Netizens to view blog-posts discussing the EnThink mind-module.


8. AiTree of First Working AGI Mind-Modules



For any questions about the EnThink Mind Module, Join the Discussion at
http://agi.topicbox.com/groups/agi
for AI Mind Maintainers.
Share your ideas about EnThink at the AI Wiki.
Edit http://theai.wiki/EnThink.
Return to top; or to
javascript subreddit for AI Mind discussion;
Forth subreddit for MindForth discussion;
Perl subreddit for ghost.pl AI Mind Maintainers.