Table of Variables in the

first working Artificial Intelligence

ghost.pl for webservers -- MindForth for robots


$abc -- AudBuffer() transfer character

$act -- quasi-neuronal activation-level

$actbase -- discrimination activation base used as a local "my" variable in AudRecog().

$actnext -- holds an activation value (e.g., "8") to be imposed on the "next" character of a word being recognized in AudRecog()

$actpsi -- psi concept from which activation is to be spread

$age -- Temporary age for loop-counting.

$anset -- Sets "an" before a vowel at the start of a noun.

$apb -- (all points bulletin) -- is a JavaScript variable for displaying on-screen messages about what is happening internally in the AI Mind.

$aud -- in the Speech() module is an associative tag leading to the typically most recent engram of a word stored in the @ear array of the auditory memory channel.

$audbase -- is the start of the @ear auditory engram of a verb that needs to have its inflectional ending changed in a VerbGen() mind-module such as RuVerbGen(). $audbase is incremented by one successive unit as long as the target word in auditory memory continues, and each character of the target word from auditory memory is sent as the value of $abc into the AudBuffer() mind-module, which left-justifies the target word before sending it to be right-justified in the OutBuffer() mind-module prior to any manipulation of the inflectional ending of the target word.

auddata -- ( auditory data ) is a cumulative variable which the JavaScript Diagnostic() module uses to display a column of the flag-panels of the auditory engrams over a range of time-points in the Aud array of the auditory memory channel.

$audjuste -- EnNounPhrase() $motjuste $aud to Speech() module

$audnew -- holds onset-tag while rest of word comes in.

audnum -- grammatical num(ber) variable potentially of use for locating an infinitive verb-form with zero as a grammatical num(ber).

$audpsi -- concept number of word in @ear auditory memory array

$audrec -- auditory recognition concept-number

$audrun -- in the AudRecog() module, which increments audrun, it is a counter of how many times the incrementing module has been called. If the audrun count is at unitary one or below two, then the initial character at the start of a word is being processed. audrun is reset to one in the AudInput() and FileInput() modules.

$audrv -- auditory recall-vector for Speech mind-module.

$audstop -- flag to stop Speech module after one word. The Speech module lets a CR-13 carriage-return or a SPACE-32 change the audstop flag from its zero value at the start of Speech to a unitary one (1), so that audstop and spacegap may work together to send the final non-letter into the AudInput module.

$b01 -- buffer variable 01 in the OutBuffer() quasi-array

$b15 -- buffer variable 15 in the OutBuffer() quasi-array

$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 VerbGen() 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.

$becon -- be-conditional -- carries a flag from the OldConcept() recognition module indicating that new input includes a verb of being which may permit the InFerence() module to make a general inference about the subject of the input so that the InFerence() module can look for prior knowledge as the basis of an inference.

$beep -- flag for Motorium() to create a beep.

$bias -- EnParser(); NewConcept(): expected part-of-speech POS

$binc -- OutBuffer() B-INCrement for a VerbGen() module. The $binc counter allows RuVerbGen() to examine and test all the right-justified characters of a Russian verb, especially the several characters of an inflectional ending which might need to be changed on the basis of grammatical number (singular or plural), person (first, second, third), or past-tense gender (male, female, neuter).

$birth -- holds the time of when the Ghost AI started running.

$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 VerbGen().

$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().

$chaincon -- chain-of-thought condition-flag

$char -- for use with getc (get character) in FileInput()

$cns -- (adjustable) size of "central nervous system" memory in the Ghost Perl AI

$coda -- memory recycled in ReJuvenate()

$conj -- a dual-purpose variable serving both as an identifier of which particular conjunction is under consideration for use by the ConJoin module, and a control-flag for the decision of whether to call the Indicative module more than once.

$dba -- doing-business-as noun-case or verb-person

$defact -- default activation for EnNounPhrase()

$dirobj -- flag indicates seeking for a direct object. Should perhaps be renamed "dirobjcon" so as to indicate a condition rather than a particular direct object.

dobmfn -- for InFerence to pass gender to AskUser

$dobseq -- direct-object-subSEQuent word – is used only within the InFerence() module to hold onto the psi identifier of a noun or pronoun that was the direct object of a verb retrieved from memory as part of an inference that will require the same direct object to be associated with the verb if the inference is to be confirmed or refuted as a valid inference.

$dunnocon -- is a flag used in SpreadAct() to permit the Mind-in-a-Box to respond to a who+verb+object query with "I DO NOT KNOW" if no correct answer is found.

$engov -- possible replacement for too strict "hlc". In order for the AI Mind thinking in English to be able to mention a Russian word without switching to Russian, it may be necessary to use $engov and $rugov as competing language-determinants. Whichever governing determinant has the higher numeric value shall cause thinking to occur in its language, even if a word occurs in a different language. Only a preponderance of words in the other language shall cause a switch to the other language.

$eot -- end-of-transmission for end of input

$eureka -- something "found" in the aud-recog modules

$foom -- a proposed new variable for a proposed new Spawn() module. The foom variable shall be set arbitrarily by the AI Mind Maintainer as the number of new concepts to be learned by the spawning AGI Mind as a trigger-level for the spawning of a new copy of the AI going "FOOM" in the sense of self-modifying and gaining knowledge and intelligence so rapidly as to constitute a "FOOM!" explosion of hard-take-off AI.

$fyi -- (for your information) 2 = Tutorial mode; 3 = Diagnostic mode

$gapcon -- status-con flag for AudInput() to count down gaps of no input, so that internal thinking may accelerate during periods of no input from external sources.

$gencon -- status-con flag set briefly to unitary one by EnVerbGen() as a condition-flag to prevent EnVerbPhrase() from making a call to Speech() after EnVerbGen() has already generated and spoken an inflected form of an English verb. The $gencon flag is reset to zero at the end of EnVerbPhrase() whether it has been used or not, so that EnVerbPhrase() will normally call the Speech() module to say a verb-form summoned from memory by the parameters of person and number.

$hlc -- human-language code; 1=en; 2=de; 3=ru. Subject to override by the $engov or $degov or $rugov flag.

holdnum -- transfers number from subject to verb.

$i -- index for cycling through a loop or an array.

$ictus -- testable activation-level to trigger use of a conjunction by the ConJoin() module in expressing a compound thought composed of two or more strongly activated ideas, each generated by a single calling of the Indicative() module.

$idea -- for re-entry of AI thought back into the AI.

$impetus -- an accumulating variable to hold the activation-level of a trigger to initiate action by the FreeWill Volition module.

infincon -- infinitive condition flag

$inft -- – inference-time – holds the current time at the start of the InFerence() module so that the AskUser() module may ask a question based upon pre-existing knowledge before the formation of a silent inference in the AI memory.

$inhibcon -- flag for neural inhibition

$iob -- indirect-object tag for @psy concept array

$jrt -- ReJuvenate() "junior time" for memories moved

$jux -- jux(taposed) concept in @psy array, especially the word "NOT" to negate a verb.

$k -- k(knowledge) element from @psy concept array

kbcon -- knowledge-base-condition flag for KbRetro to wait for a yes-or-no answer.

kbzap -- ZAP the knowledge base -- is a variable that holds the oldpsi word "YES" or "NO" when the InFerence() module has caused the AskUser() module to seek confirmation or denial of a silent inference from a human user engaged in a conceptual conversation with the AI Mind. KbRetro() uses the YES-value kbzap to confirm an inference, or the NO-value of kbzap to negate an inference.

$krt -- knowledge representation time

$lastpho -- device to avoid extra "S" on verbs.

$len -- length, for avoiding input non-words. The len variable increments with each additional character during AudInput, and is reset to zero at the end of OldConcept and NewConcept.

$mfn -- masculine-feminine-neuter gender flag.

$midway -- dynamically adjustable time-limit for searching backwards in the experiential memory of the AI.

$mjact -- motjuste-activation for defaulting to 701=I

$monopsi -- for detecting single-character words in the AudRecog() module

$mood -- a selector to enable the English-thinking EnThink module to choose among grammatical moods of verbs and their enveloping sentences, such as Indicative; Subjunctive; Imperative, etc.

$moot -- – as in legally moot – is a flag to prevent the formation of associative tags during mental operations which are not truly a part of cognition, such as the processing of an input query, the formation of a silent inference, or the creation of an output query.

$morphpsi -- for AudRecog() recognition of morphemes

$motjuste -- (from French) best word for inclusion in a thought

$msg -- for input as a "message" to the AI.

$mtx -- machine-translation xfer (transfer) variable for SpreadAct module to transfer an activation-swarm from a sentence in one language to the same concepts in a target language for machine translation (MT).

$negjux -- a flag to indicate that a verb stored in memory has been negated by the nearby storing of a 250=NOT adverb. When EnVerbPhrase() selects a verb from conceptual memory and the verb is negated with "NOT", the numeric value of 250=NOT goes into the negjux variable as a flag to require the thinking of a negated English verb to include a call to the EnAuxVerb module that will place a form of the auxiliary verb "DO" before the adverb "NOT" and the verb itself, as in "God does not play dice." During a verb-fetch in EnVerbPhrase, negjux is given one chance to modify either a be-verb or a non-be-verb, and in either case is reset to zero after the one-chance opportunity.

newpsi -- for singular-nounstem assignments

$node -- "split" @psy array row into nodes

nonce -- roughly the time when the AI starts running -- for the Diagnostic display to show the recent contents of the conceptual and sensory memory arrays.

$nounlock -- time-point for a verb to lock onto a seq-noun.

$nphrnum -- grammatical number of the noun-phrase selected by the EnNounPhrase module. nphrnum is set to zero near the start of EnNounPhrase so that no value will erroneously carry over from a previous noun to another noun being selected. EnArticle needs nphrnum as a basis for inserting the indefinite article "a" before a singular noun, and to avoid inserting "a" before a plural noun.

$nphrpos -- "noun-phrase part-of-speech" for testing during the EnThink() process.

$nucon -- new-condition – segregates SpreadAct() code to respond to the input of an unknown word by asking the user a question about the new concept being learned by the AI Mind.

$num -- number-flag for grammatical number.

$numreq -- NUMber REQuired for agreement of subject and predicate nominative, with possibility of being overruled by circumstances.

numsubj -- for number of subject.

$nxr -- "next row in array" for AudRecog() dealing with next memory row

$nxt -- number incremented for each new concept

$objprep -- object of a preposition to be found and spoken by the EnPrep module.

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

$onset -- onset-tag for use as an auditory recall-vector.

$output -- output string as in JavaScript FirstWorkingAGI.html or ghost.pl AGI.

$pho -- a "phoneme" or character of auditory input.

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

$pos -- (part of speech) 1=adj 2=adv 3=conj 4=interj 5=noun 6=prep 7=pron 8=verb

$pov -- point-of-view: 1=self; 2=dual; 3=alien. When pov=1, the word "you" is somebody in the external word. When pov=2, the word "you" refers to the self-concept "I" in the AI. When pov=3, the word "you" is interpreted as part of a conversation by a third-party or as a word in a text, not referring to the self-concept of either the AI or of someone talking to the AI.

$prc -- provisional recognition in AudRecog()

$pre -- pre(vious) associated @psy concept.

$prednom -- predicate nominative for InFerence

$prep -- a preposition used in the EnPrep mind-module for English prepositions.

$prepcon -- prepositional condition-flag for parsing.

$prepgen -- urgency to generate a prepositional phrase.

$prevtag -- local pre(vious) tag for use in InStantiate(). After a noun or a verb has been instantiated, $prevtag holds its concept-number ready to be inserted as a $pre tag, if needed, during the instantiation of a succeeding concept. Thus a verb can have a $pre back to its subject, and a direct object can have a $pre back to a verb.

$prsn -- 1st, 2nd, 3rd person of verb-forms.

$psi -- variable for an element of the @psy conceptual array, with a numeric identifier serving as an mtx tag for the same concept in another language.

$psibase -- winning psibase with winning actbase

psidata -- ( Psi mindcore data ) is a cumulative variable that permits the JavaScript Diagnostic() module to display a column of the flag-panels of the engrams in the Psy mindcore array.

$putnum -- putative num(ber) for subject-verb agreement.

$qucon -- query-condition – segregates SpreadAct() code to respond to input who-queries.

$quiet -- a status variable set briefly to false upon user-input, so that the AI may output one thought responding to input and not following an internal chain of thought as conducted by the SpreadAct() module. As long as user input continues, the AI continues to think up responses. If user-input stops or even pauses, the AI returns to thinking its own thoughts.

$quobj -- query object – holds onto the psi identifier of a word chosen by the InFerence() module to be the direct object of a query created by the AskUser() module.

quobjaud -- auditory recall-tag for AskUser module

qusnum -- query-subject number – for the AskUser module to ask a question seeking yes-or-no confirmation of a logical inference made by the AI Mind.

$qusub -- query subject – is a transfer-vehicle of the subject-identifier from any module prompting a question into the specific module that will ask the question.

$quverb -- query verb – is set in the InFerence() module with the identifier of a verb concept serving as part of an InFerence being made about user input. Then the AskUser() module transforms the quverb identifier into the yes-or-no-verb identifier ynverb so that AskUser() can use the query-verb to ask a question expecting a yes-or-no answer.

$qv1psi -- concept for SpreadAct to seek as a subject, so that the AI will try to remember knowledge about the concept.

$qv2psi -- concept for SpreadAct to seek as a verb, so that the AI may remember ideas containing the same verb.

$qv3psi -- concept for SpreadAct to seek as an indirect object, so that the AI may think of ideas connected in any conceivable way with the target concept.

$qv4psi -- concept for SpreadAct to seek as a direct object, so that the AI may use the target concept as a subject or as a direct object in the remembrance of ideas.

$qvdocon -- query-condition for who+verb+direct-object – segregates SpreadAct() code to respond to input queries similar in form to "Who makes robots?"

$qviocon -- query-condition for who+verb+indirect-object – segregates SpreadAct() code to respond to input queries in a form like "To whom does God give help?"

$recnum -- recognized number of a recognized word

$recon -- incentive for reconaissance by asking a question.

$rjc -- counter of rejuvenation cycles

$rsvp -- to hold an arbitrary value for a delay in thinking to wait for user input.

$rugov -- possible replacement for too strict "hlc".

$rv -- recall-vector for auditory memory. The time-point value of rv is first set in the AudInput module after an intervening space when the first character of an input-word is being passed into the AudMem module.

$seq -- subSEQuent @psy concept in an idea. As the AI Minds evolve, the associative seq tag may take on a new role as pointing from a noun or verb or adjective or adverb to an associated preposition.

seqdob -- for direct object transfer within InFerence

$seqneed -- noun/pronoun or verb needed as a "seq"

$seqpsi -- concept to which activation should be spread.

seqrvx -- for rvx transfer of auditory recall-vector within InFerence

$seqtkb -- subSEQuent Time-in-Knowledge-Base – is used only within the InFerence() module to latch onto the specific time-point in memory of a verb which was linked in the past to a concept now occurring within user input as a predicate nominative which identifies a class of entities from which an inference can be drawn and assigned to the subject of the user input. For instance, if the AI knows "Boys play games" and the user inputs "John is a boy," the old verb "play" can now be used to infer, "John plays games," because John is a boy.

$seqverb -- subSEQuent-concept VERB – is an interstitial carrier of a verb-identifier in the InFerence() module, permitting a verb which was used in old knowledge to be used as part of an inference of new knowledge and as part of a question seeking confirmation or refutation of an inference.

$snu -- subject-number as parameter for verb-selection.

$spacegap -- a gap to add one post-word space in the Speech module.

$spt -- blank space time before start of a word

$stemgap -- for avoiding false AudRecog() stems

$subject -- subject for parser module

$subjectflag -- initial default for NounPhrase()

$subjnom -- subject nominative – is a concept identified in the OldConcept() recognition module as the subject of an input causing the AI to make an inference.

$subjnum -- (subject number) for agreement in grammatical number between a subject and a predicate nominative noun.

$subjpre -- subject-$pre to be held for verb in parsing.

$subjpsi -- subject-concept parameter to govern person of verb-forms

$sublen -- length of AudRecog() subpsi word-stem

$subpsi -- for AudRecog() of sub-component wordstems

$svo1 -- subject -- item #1 in subject-verb-object

$svo2 -- verb -- item #2 in subject-verb-object

$svo3 -- indirect object -- item #3 in subject-verb-object

$svo4 -- direct object -- item #4 in subject-verb-object

$t -- lifetime Ghost AI experiential time "$t"

$t2s -- auditory text-to-speech index

$tai -- time of artificial intelligence diagnostics

$tbev -- time of be-verb for use with negjux negation-flag. In the OldConcept module, tbev is set for any 800=BE verb and is used for inserting a jux of 500=NOT into the flag-panel of a negated be-verb.

$tdo -- time-of-direct-object for a parser module.

$text -- a general variable to hold text, especially for incrementing by concatenation.

tin -- MindForth time-of-input for interactive display. This variable lets the Forthmind show the contents of the Psy conceptual array and the Aud auditory array immediately prior to a display of current input and output. For purposes of troubleshooting, a temporary adjustment may be made to show recent memory engrams a little further back in time, such as when a silent inference has been made by the InFerence module and is being adjusted retroactively by the KbRetro module.

$tio -- time-of-indirect-object for parser module.

$tkb -- time-in-knowledge-base of an idea. The EnParser() module stores time-of-verb $tvb in the k[13] $tkb slot of the subject of a sentence being stored at the time-of-subject $tsj time-point in the Psy conceptual array. The EnParser module stores $tkb as equal to $tdo (time of the direct object) in the Psy array row of the verb at time-of-verb $tvb. Thus for subjects $tkb means "verb" and for verbs $tkb means "direct object". No $tkb is stored for a direct object, because the associative tags go from subject to verb to object (SVO) but no further.

tkbn -- time-in-knowledge-base-noun -- is set in the InFerence() module as the concept-array time-point of the subject-noun in a yes-or-no question to be asked of the human user by AskUser() to confirm or negate an InFerence being made by the logical InFerence module.

tkbo -- time-in-knowledge-base-object -- is set in the InFerence() module as the concept-array time-point of the direct-object-noun in a silent InFerence to be confirmed or negated retroactively by the KbRetro() module after a human user has responded to a question posed by the AskUser() module. May be similar to tdo in the EnParser() module, but tkbo is the last of three consecutive time-points in the silent InFerence created by the InFerence() module for automated reasoning.

tkbv -- time-in-knowledge-base-verb -- is the time-point of a verb-concept in an AskUser() question for a human user to confirm or deny the truth of a logical InFerence made by the AI.

$topic -- @psy topic for a question to be asked

$tpp -- time-of-preposition for parsing.

tpu -- time-pen-ultimate before current I/O.

$trigger -- a trigger for Volition() to call Motorium()

$tru -- tru(th) variable serving as a flag-panel tag to hold dynamically the believed reliability or truth-value of an idea. On Reddit see an alternative way of modeling truth values.

$tseln -- time of selection of noun.

$tselo -- time of selection of object.

$tselp -- time of selection of preposition - is used in the EnPrep English-preposition module to make sure by calculation that a verb being sought as used with a preposition is in close temporal proximity to the preposition, so that a query may be answered correctly with a response that mentions the query-subject qv1psi and the query-verb qv2psi and the selected preposition at the beginning of a prepositional phrase.

$tsels -- Time of SELection of Subject -- is used locally in EnNounPhrase() and in RuNounPhrase() to keep track of the experiential time $t at which a stored concept is selected as a subject, so that the $tsels can be used to revisit the engram at $tsels to change its activation-level in the course of neural inhibition.

$tselv -- time of selection of verb (for neural inhibition)

$tsj -- time-of-subject for parsing.

$tsn -- time of input as $seqneed time for InStantiate()

$tult -- t penultimate, or time-minus-one.

$tvb -- time-of-verb for parsing. The EnParser module sets "t - 1" as the tvb if the word being parsed is a verb by part-of-speech. InStantiate uses the time-of-verb tvb to fill the tkb-slot in a verb-panel with the time-location of the direct object of the verb. EnParser uses the time-of-verb tvb to find the numeric verb-concept that will be the pre of a direct object being parsed. EnParser also uses the time-of-verb tvb to store the time-of-direct-object tdo as the tkb in the flag-panel of the verb. Therefore the tvb-flag needs to be reset to zero not during but after AudInput, when program-flow has returned to the Sensorium module.

$unk -- all-purpose $unk (unknown) for troubleshooting

$us1 -- the upstream noun number one for EnArticle to keep track of;

$us2 -- the UpStream noun number two for EnArticle to keep track of;

$us3 -- the UpStream noun number three for EnArticle to keep track of;

$us4 -- the UpStream noun number four for EnArticle to keep track of;

$us5 -- the UpStream noun number five for EnArticle to keep track of;

$us6 -- the UpStream noun number six for EnArticle to keep track of;

$us7 -- the UpStream noun number seven for EnArticle to keep track of.

$usn -- an upstream number-variable to coordinate the rotation of the us1-us7 variables in their role as the holders of noun-concepts mentioned so recently that they warrant the insertion of the definite article "the" by the Enarticle() module.

$usx -- a transfer variable for InStantiate to transfer the concept number of an incoming noun to whichever us1-us7 upstream variable is up next in the rotation of up to seven recently mentioned noun-concepts, so that the EnArticle module may insert the definite article "the" before any noun currently under discussion in a conversation.

$vault -- size of MindBoot() sequence in time-points.

$verbcon -- verb-condition for seeking (in)direct objects. $verbcon is set to a positive unitary one in the EnParser module when a verb comes in during input and remains at one while any indirect or direct object comes in. After an input sentence, $verbcon is reset to zero.

$verblock -- for subject-noun to lock onto seq-verb. The $verblock is a time-point in conceptual @psy memory where the $seq of a subject-noun is located, so that any crucial consideration such as the negation of a verb will be found when the verb-phrase module fetches the verb-concept from memory. If the thinking process finds and activates a particular subject-noun in memory, the $tkb of the subject noun becomes the $verblock so that a particular verb at a particular time will be selected by the English or Russian verb-phrase module.

$verbprsn -- verb-person -- reverting to zero for infinitive forms.

$verbpsi -- $psi concept-number of verb in the @psy array

$vphraud -- holds aud-fetch of verb-form for Speech() module

$whatcon -- SpreadAct() flag for condition of answering a what-query

$wherecon -- flag for condition of answering a where-query.

$yncon -- yes-or-no condition – is a status flag that a module like InFerence() can set to a positive one in order to trigger the calling of the AskUser() module by the English EnThink() module.

$ynverb -- yes-or-no-verb – identifier of a verb to be used in AskUser() for the asking of a question expecting a yes-or-no answer.


Resources

http://doc.perl6.org/language/variables

http://doc.perl6.org/language/variables#Sigilless_variables

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

If you have any questions or comments about the First Working AGI,
please Join the Discussion.




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