Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
83 lines (57 sloc) 7.37 KB

  1. summary Russian AI bootstrap in JavaScript for MSIE
  2. labels bootstrap,diagram,Dushka,module,Russian
DeBoot EnBoot JavaScript

Table of Contents



The purpose of the Russian bootstrap "RuBoot" module is to load a basic Russian vocabulary into the Dushka AI at the start of each session of running the AI software. Some artificial intelligence enthusiasts may object that an AI should learn all its vocabulary from experience with the world, as human babies do. Although such a way of learning is preferable to having an innate vocabulary, the AI software will first need to become far more sophisticated before it is powerful enough to function as a _tabula rasa_ or blank slate that is genetically able to learn what it needs to know. MindForth and the Dushka AI need the innate bootstrap vocabulary to function as a proof-of-concept AI that can primitively think and learn.


When the body of the Dushka AI webpage loads into the MSIE Web browser, a special "onLoad" parameter of the HTML "body" tag calls RuBoot() as the very first module of the artificial Mind. When the bootstrap has finished loading, it makes the first call to the MainLoop (q.v.) module, which calls itself over and over again as long as the Dushka ("little spirit" or "little soul") AI remains alive in the computer. If you click to terminate the existence of Душка, she becomes one of the "Мёртвые Души" (Dead Souls) written about by Nikolai Gogol.

The Dushka AI is programmed especially for the Microsoft Internet Explorer (MSIE) Web browser, and therefore may not work properly in other browsers. Because it is written for MSIE, the AI Mind also uses the Windows-1251 character set and not Unicode to display the Cyrillic Russian alphabet. When you type the lowercase Russian letter "я" (for "I") into the Russian AI, the numeric character code "1103" registers in the AudListen module and gets converted into the proper Russian character before going into the AudMem ("auditory memory") module for storage as a sensory EnGram. The Russian RuBoot bootstrap module also stores Russian letters as numeric codes and uses "pho = String.fromCharCode(c)" as a JavaScript command to convert each numeric code into a Russian letter in auditory memory so that the AudRecog module can recognize a word of Russian input as already existing in the bootstrap memory.


The Russian bootstrap module includes ordinary Russian words and some special Russian words for very specific purposes. Ideally, the Russian AI would be coded on a SuperComputer and would include all possible Russian words, past, present and future. In practice, however, the RuBoot module needs to grow as the Russian AI Mind grows. There is also a limitation because the JavaScript AI program will slow down to a crawl in its execution if we try to include too many Russian words for the AI to know in advance before it starts learning new Russian words from the human users. We strike a happy medium by including basic Russian words that we need right now, and some special Russian words that we foresee a need for in the near future when the Russian AI expands its functionality with new abilities to think in Russian. For instance, some words and conjunctions, like "or" and "else" in English, are necessary in any AI program that is meant to grow eventually into the ability of logical thinking. The AI must include "or" and "else" or else it will not be able to think logically.


Expanding the RuBoot sequence involves various considerations.

  * Recalculating the time "t" values; 
  * Re-designating the "aud" values; 
  * Entering the correct [ Windows-1251] character numbers; 
  * Changing the declared "vault" value; 
  * Entering new data for vault-dependent code; 
  * Increment value of "nru" at the end of RuBoot. 

When new Russian words are being coded into the RuBoot sequence, it is possible in the SeCurity module temporarily to replace the Diagnostic-display starting-variable nonce with a unitary value of one ("1") so that the entire RuBoot sequence will become visible while changes are being made. Then visual inspection may detect any errors being made, such as the failure to insert a gap of at least one time-point between words in the sequence.


AiApp AiForum AiMind AskUser BrainTheory ChangeLog ChatBots CognitiveArchitecture CognitiveAtlas CognitiveAtlas ConSciousness CybOrg DeFault DeKiManual DfKi DisAmbiguation EnBoot HackerSpaces InFerence IntelForth KbRetro KbSearch LinuxAi MainLoop MakerBot MasPar MfPj NumBer OpenCog ParaMeter ReJuvenate RentaCoder ScienceMuseum SensoryInput SiteSucker SpeechAct SpeechApi SpreadAct SpreadingActivation StopWords StrongAi SubConscious SuperComputer SuperIntelligence TechnoRati TechnoSingularity TextBook TrustMetric VisRecog WikiReader

AI For You

Click to run

AI For You

  • Table of Contents*
<wiki:toc max_depth="3"></wiki:toc>

You can’t perform that action at this time.