AudBuffer module of the

First Working AGI Mind in JavaScript

MindForth for robots -- ghost.pl for webservers


1. Diagram of the AudBuffer Mind-Module


  /^^^^^^^^^^^\AudBuffer has left-justified stems /^^^^^^^^^^^\
 /   EYE       \            _________________    /    EAR      \
|               |CONCEPTS  /                 \  |  ___________  |
|   _______     |   | | | /     Volition      \ | / MindBoot  \ |
|  / old   \    |   | | | \___________________/ || memory vault||
| / image   \!!!|!!!|!|!|   _|___      _|____   ||             ||
| \ recog   /---|---|-|-+  /     \    /      \  || "students"  ||
|  \_______/    |   |s| | (EnThink)  (RuThink ) || "read"      ||
|               |   |t| |  \_____/    \______/  || "books"     ||
|               |   |u| |          _____|______ | \___________/ |
|               |   |d|b| _____   (RuIndicative)| "Mark is a"   |
|   visual      |  r|e|o|| Ru- \  /\__________/ | "student"     |
|               |  e|n|o|| Noun-\/   ___|____   |               |
|   memory      |  a|t|k|| Phrase\  / RuVerb-\  | "Mark reads"  |
|               |  d|s|s||_______/ /  Phrase  \ | "books"       |
|   channel     |   | | |          \__________/ |               |
|               |   | | |   _________|_____     |  СТУДЕНТЫ     |
|               |   | | |  /   RuVerbGen   \    |  ЧИТАЮТ       |
|   _______     |   | | |  \_______________/    |  КНИГИ        |
|  /new    \    |   | | | ___|_____   ___|_____ |               |
| / percept \   |   |_|_||AudBuffer| |OutBuffer||               |
| \ engram  /---|---(Psy)|ЧИТА-    | |   ЧИТАЮТ||               |
|  \_______/    |    \_/ |_________| |_________||               |


2. Purpose


AudBuffer transfers auditory engrams to OutBuffer for inflection.


3. Function

As long as $abc characters are coming into the AudBuffer, the $phodex counter increments automatically in order to transfer each $abc character to a character variable numbered anywhere from $c01 up to $c16 -- if the incoming stem or word is that long. The final incoming $abc character is transferred to the buffer character $b16 in the right-justified OutBuffer module, so that a generative module like RuVerbGen() may manipulate the right-justified endings and change any inflectional ending as necessary to create a grammatical form as dictated by such factors as person, number, gender and so forth.


4. Code of AudBuffer() from ghost294.pl First Working AGI in Perl


sub AudBuffer() {  # http://ai.neocities.org/AudBuffer.html
  if ($abc ne "") { $phodex++ }  # 2016apr03: avoid blank space.
  if ($phodex == 1) {  # 2016apr02: Erase any left-over old data;
    $c01 = $abc; $c02=""; $c03 = ""; $c04  ="";  # 2016apr02
    $c05 = ""; $c06 = ""; $c07 = ""; $c08 = "";  # 2016apr02
    $c09 = ""; $c10 = ""; $c11 = ""; $c12 = "";  # 2016apr02
    $c13 = ""; $c14 = ""; $c15 = ""; $c16 = "";  # 2016apr02
  }  # 2016apr02: end of using $phodex=1 to blank out the AudBuffer()
  if ($phodex == 2)  { $c02 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 3)  { $c03 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 4)  { $c04 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 5)  { $c05 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 6)  { $c06 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 7)  { $c07 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 8)  { $c08 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 9)  { $c09 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 10) { $c10 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 11) { $c11 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 12) { $c12 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 13) { $c13 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 14) { $c14 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 15) { $c15 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 16) { $c16 = $abc }  # 2016apr02: AudBuffer Character
  if ($phodex == 17) { $c17 = $abc }  # 2016apr03: AudBuffer space
}  # End of AudBuffer; return to AudInput or FileInput or RuVerbGen.


5. Variables for First Working Artificial General Intelligence

$abc -- AudBuffer() transfer character

$b16 -- buffer variable 16 in the OutBuffer() quasi-array for the right-justifying of an English or Russian word of up to sixteen characters in length. The buffer variable $b16 always contains the very last character in a word of any length. Since each word is right-justified in the OutBuffer(), a module like NounGen() or RuVerbGen() can perform tests on the contents of $b14 and $b15 and $b16 so as to detect one inflectional ending and to replace it with a different ending as necessary. In English, where a noun like "beach" or a verb like "teach" will sometimes need to have "-es" as an ending ("beaches", "teaches"), $b15 and $b16 can be used to detect the "-ch" at the end of the word, as an indicator that the "-es" ending may need to be added on.

$c01 -- the first character of a left-justified word in the quasi-array of the AudBuffer(), where a word of input or of retrieval from memory is stored briefly in transit to the OutBuffer() where the same word is right-justified so that the inflectional endings of the word may easily be manipulated or changed by a module like NounGen() or RuVerbGen().

$c02 -- the second character of any word stored in AudBuffer().

$c16 -- the sixteenth character if a word of that length is stored in the quasi-array of the auditory input AudBuffer().

$phodex -- pho-index counter for AudBuffer(); phodex is reset to unitary one ("1") in the AudInput module and in the Speech module.


6. Troubleshooting and Robotic Psychosurgery

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


7. Future Development

An AI Mind Maintainer may increase the size of the AudBuffer or the OutBuffer, especially for any natural language containing a vocabulary of especially long words, such as German words like Fliegerabwehrkanone -- which in English becomes flak.


8. Resources


Please see

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



9. AiTree of First Working AGI Mind-Modules


Return to top; or to
http://www.gotai.net/forum -- Russian-language AI forum
javascript subreddit for AI Mind discussion;
Forth subreddit for MindForth discussion;
Perl subreddit for ghost.pl AI Mind Maintainers.