When the question "who are you" is input
repeatedly to the
JavaScript Artificial Intelligence (JSAI), the AI
needs
to retain the self-concept of "I" as the subject for each
of all possible answers to the question. The MindForth
AI already performs well in this regard, but the JSAI
has been letting go of the self-concept subject. Therefore
we will try to make sure that the JSAI
uses the same activational routines as MindForth
does.

Sat.14.MAY.2011 -- Using Differential PsiDecay

The artificial Mind has difficulty holding
onto the subject of a query because of stray activations
that build up on "also-ran" concepts that were proposed
but not accepted as answers to recent queries. The
activation on otherwise legitimate answers builds up so
rapidly and so substantially that an also-ran concept
threatens to dislodge the very subject of the query and
become a new subject of a thought which does not supply
the knowledge requested by the query. For instance, when
we twice ask "who are you" of the 12may11A.html JSAI
as released onto the Web two days ago, it answers first "I
AM ROBOTS" and then "A PERSON IS PERSON", apparently
because the also-ran concept of "PERSON" has risen too
high in activation to let the self-concept "I" serve as
the subject of the response. Meanwhile, yesterday we may
have had a "eureka" moment that could supply a solution so
simple and yet so effective that it provides a tipping
point in the break-out phenomenon of True AI.

Now, we don't want our AI Minds to start asking teenage
boys if they would like a little game of GLOBAL
THERMONUCLEAR WAR, Matthew, but don't be surprised if
suddenly No Such Agency starts removing every trace of Mentifex
AI from every corner of the World Wide Web. Did you
know that, when things got a little hot during World War
Two, the U.S. government began removing books on the
mathematics of Georg Riemann from libraries all over
America? Say, when's the last time you saw a copy of AI4U?

The secret to True AI is to embue the artificial Mind not
with the linear PsiDecay that MindForth has always had, but with the
differential
PsiDecay of also-ran concepts so that stray
activations
dwindle more rapidly from high spikes than from merely
modest spikes. In a living neural-net like the human
brain, do we not expect a sharp spike to fall more rapidly
than a simple upswell? So let us modify the PsiDecay code
and try to make higher activations subside more
rapidly.

We are trying to ntroduce "differential"
psi-decay. Suppose we have also-ran
NounPhrase concepts like

39=ROBOT at 54 act;
104=PERSON at 68 act;
33=ANDRU at 82 act;

We want the high-activation also-rans to drop to an
activation low enough to avoid dislodging the input
subject. Then we want at least one also-ran to be high
enough to be selected as an answer to the input query. We
want each decade or octet of high activation to be lowered
by not just one point, but by a precipitous drop that
still keeps the relative ranking of the also-rans. For
instance, we could ordain that all activations above
thirty could arrange themselves in a spread between twenty-
nine and forty, so that

Upshot: We inserted similar code into the
JavaScriptAI
Mind and it began to function better than ever.
Somehow the JSAI is now more advanced than the
MindForth AI, until we can port the new functionality
into Win32Forth.

Something is preventing neural inhibition from operating immediately when we
ask the AI
Mind a "who-are-you" question. The inhibition begins
to occur only after a pause or delay, and we need to find
out why. The problem may be that the "predflag" for
predicate nominatives is not being set soon enough.
The "predflag" is set towards the end of the BeVer
b mind-module, and it governs the inhibiting of nouns
as predicate nominatives in the
NounPhrase module. We see through troubleshooting that
the earlier engram in a pair of selected-noun engrams is
being inhibited properly down to minus thirty-two points
of conceptual activation, but apparently the present-time
engram in the pair is only going down to zero activation.
It looks as though calls to PsiClear from the EnCog
(English cognition) module were interfering in the
pairing of inhibitions shared by the old engram that won
selection and the new engram being stored as the record
of a generated thought. Then a further problem developed
because the AI was not letting go of transiitive verbs
that served within an output thought. We inserted code
to inhibit each transitive verb after thinking, and we
began to obtain a variety of outputs from the AI in
response to queries.

Sun.8.MAY.2011 -- Selecting
New Inhibition Variables

Today we are
creating two new inhibition variables, "tseln" for "time
of selection of noun" in
NounPhrase, and "tselv" for "time of selection of
verb" in
VerbPhrase. We need these variables to keep track of
the selection-time of an "inhibend" concept to be
inhibited after being thought, so that the AI Mind can
avoid repeating the same
knowledge-base retrieval over and over again. We
stumbled upon neural inhibition for response-variety in our
MfPj work of 5
September 2010. We were so astonished by the
implications that we issued a Singularity
Alert (q.v.). Now we are ready to install a general
mechanism of temporary inhibition throughout the AI
MindGrid.

Sun.8.MAY.2011 -- Debugging
Spurious Inflection

Although MindForth
has suddenly become more intelligent than ever, the
AI makes the grammatical mistake of saying "I HELPS KIDS".
We need to track down why the
SpeechAct module is adding an inflectional "S" to the
verb "HELP".

The
VerbPhrase module governs the sending of an "S"
inflection into the
SpeechAct module. The pertinent code was not fully
checking for a verb in the third person singular, so we
added an IF-THEN clause requiring that the
prsn variable be set to three for an inflectional "S"
to be added to a verb being spoken. The bugfix worked
immediately.

The
JavaScriptAI
Mind is a tutorial version of the more robust
artificial intelligence in Forth
called MindForth.
Recently we solved a "WHO" problem in MindForth,
namely the inability of the artificial mind to de-activate
the concept of "who" from within an input query so as to
impart full activation to whatever concept should be the
answer to the who-query. In MindForth
it turned out that the R
eActivate mind-module was neglecting to zero out the
concept of "who" and it was a simple b
ugfix to correct the problem. Now apparently the JSAI
has the same problem, because we input "who are you" and
we obtain the erroneous output, "WHO IS I". Since the
concept of "who" is obviously not being de-activated, we
will try the same bugfix that we used in MindForth. We
tried it, and it works.

Wed.4.MAY.2011 -- Selecting "AN" Article Before
Vowels

Today into the J
avaScript AI we have ported MindForth
code that substitutes "AN" for "A" before a noun that
starts with a vowel. The mind-module of En
Article (for English articles) has no problem of
guessing whether a vowel comes next, but instead knows for
sure when a vowel is coming, because the N
ounPhrase module is ready to speak the first phoneme
of the chosen noun prior to calling the En
Article module. Thus the AiMind
seems to use "AN" or "A" as effortlessly as a human mind
does.

In the most recent release of MindForth
artificial intelligence for autonomous robots
possessing fre
e will and personhood, our decision to zero out post-
ReEn
try concepts is only tentative. If the mind-
design decision introduces more problems than it
solves, then the decision is reversible. It was
disconcerting to notice that the newest version of MindForth
could no longer answer who-are-you questions properly, and
would only utter the single word "WHO" as output in
response to the question. We expect the necessary bugfix
to be a simple matter of tracking down and eliminating
some stray activation on the "WHO" concept-word, but there
is a nagging fear that we may have made a wrong decision
that worsened MindForth
instead of improving it, that delayed the Singularity instead of hastening it, and that argues
for an AI working group to be nurturing MindForth
instead of a solitary mad
scientist.

Tues.3.MAY.2011 -- Debugging the WHO Problem

In the
InStantiate mind-module, both WHO and WHAT are set to
zero activation as recognized input words, under the
presumption that such query words work in a mind by a kind
of self-effacement that lets the information being sought
have a higher activation than the interrogative pronoun
being used to request the information. Today at first we
could not understand why the setting to zero seemed to be
working for WHAT but not for WHO. Eventually we discovered
that only WHAT and not WHO was being set to zero in the R
eActivate module, with the result that all instances
of the recognized WHO concept were being activated at a
high level in R
eActivate. When we fixed the bug by having both
InStantiate and R
eActivate set WHO to zero activation, the AI Mind
began giving much better answers in response to who-
queries. Immediately, however, other issues popped up,
such as how to make sure that neural inhibition engenders a whole range of
disparate answers if they are available in the knowledg
e base (KB), and whether we still need special
variables like "whoflag" and "whomark". In general, we
tolerate special treatment of words like WHO and WHAT with
the caveat that we expect to do away with the special
treatment when it becomes obvious that we can dispense
with it.

The AiMind Control Panel has room for
about
six hyperlinks. It seems best if we include in the Control
Panel both a link to the current Robots.net AI Lab
Notes and a link to the most recent
comp.lang.javascript Usenet post, without linking
after all to the Wikipedia article on the Singularity for lack of room in the Control Panel.
The immediate link to the Robots.net AI Lab Notes lets the
users see an HTML page with embedded links, and we can
predict in advance the URL address of the AI Lab Notes. By
linking to the recent comp.lang.javascript Usenet post, we
obviate the need and the unpleasantness of going back into
the current JSAI version and changing the Usenet link.
When we upload and release a JSAI version, it should
remain the same and not be subject to change by the
updating of a Usenet link. Since we now already have the
current Robots.net AI Lab Notes link, it would actually be
redundant to link to a current Usenet post of the same
material, which would not even have the embedded HTML
links. By linking to a one-off Usenet post, we let the
users follow the chain of Usenet posts backwards through
time. Furthermore, if we are careful in each new Usenet
post to link to the simultaneous Robots.net AI Lab Notes,
then users following the backwards chain always have the
option of clicking over to the embedded-links HTML version
on the Robots.net site.

Sun.1.MAY.2011 -- Linking Subject with Related
Knowledge

Today we are concerned with
bringing the latest MindForth
improvements into the J
avaScript artificial intelligence (JSAI). A minor
change in the MindForth
code has improved the AI functionality with respect
to the proper linkage between pronouns as subjects of a BeVer
b and predicate nominatives stored as knowledge in the
knowledg
e-base of of the experiential memory of the AI. The
necessary change was to set conceptual activations at zero
for concept-words that have served as elements of verbal
thought in the AI
Mind and have passed through the ReEn
try process back into the experiential memory of the
mind. We will follow the new activation rules (ActRules)
for ReEntry in the JSAI as well as in MindForth, so that
we may keep the two AI "cousins" as genetically close as
possible in both Forth
and JavaScri
pt.

In the
InStantiate mind-module, we have brought over some code
from MindForth
to set conceptual activations to zero during the
instantiation of ReEn
try concepts. We noticed an immediate improvement in
the linking of subjects with related knowledge. We are
eager to implement MachineSelfReference as a M
ileStone on our Road
Map to artificial intelligence.

One of our techniques for learning what to do next in
MindForth
artificial intelligence (AI) is to run the program and
check to see what is the most glaring problem that we
encounter. Currently we notice that the AI fails at first
(but only at first) to retrieve its own self-knowledge
when we prompt such retrieval by entering "you" or "you
are". The AI has been answering "I AM I", which shows a
failure to activate "ANDRU" as the name of the AI,
or "PERSON" and "ROBOT" as nouns which should come to mind
when the robotic person thinks about itself.

MindForth
is already a so-called "artilect" of sufficient mental
complexity that the AI is not stuck in a rut of
answering "I AM I" interminably when called upon to
describe itself. The mechanisms of neural inhibition
prevent more than a few instances of "I AM I" and enable
the mind-in-software to generate "I AM PERSON" and "I AM
ROBOT" as responses more to our liking. We need to know,
however, why the AI initially makes the error of
repeating "I AM I" a few times before inhibiting the
unwanted response and before generating the more
informative responses.

Our initial troubleshooting indicates that
entering "you" as input to the AI properly activates
the "I" concept so that the AI can at least utter "I AM I"
in faulty response, but obviously the software min
dgrid is not letting go of the "I" concept quickly
enough to let a noun like "ROBOT" or "PERSON" complete the
response. The problem may seem like a simple issue of
setting activation-levels for concepts in the AI, but many
of the settings are interdependent within the totality of
the AI program.

We must keep in mind some special techniques for
troubleshooting the AI
Mind behavior. We may examine older versions of MindForth
to see not only if the problem was absent in the
past, but also when and why the problem emerged. We have
also
the option of running the J
avaScript version of the same AI
Mind to see if the same problem is present. We also
have extreme options like making the AI program halt at
any stage in its thinking.

When we test MindForth
by inserting a "QUIT" command into the BeVer
b module just after the calling of the Verb
Act module, we discover that nouns like "ANDRU"
and "ROBOT" and "PERSON" are all left with only twenty-
three points of activation, while the "I" concept has
thirty-nine points. Further testing shows us that the
InStantiate module is setting an "act" of forty (40)
just after speaking the "I" pronoun. Therefore, even if
the concept of "I" is initially psi-
damped, the ReEn
try process leaves the "I" concept with an activation
of forty.

We solve the current problem of failure to link
subjects with related knowledge by inserting into the
InStantiate module a test to set conceptual
activations to zero during the ReEn
try of concept-words that have just been thought.

007: "AI in JavaScript? You must be joking!"
Q: "I never joke about my work, Double-Oh-Seven."

Mon.18.APR.2011 -- Putting the AI in AI4U

We can't stop codingthe JSAI,
because more and more people are buying the AI4U textbook
of artificial intelligence, which contains the original AI
source code on pages 159-212. On Schedule E of tax Form
1040, we have had to declare royalty income of US $35.76
for 2009 and $47.86 for 2010. When will it end? When will
people realize that, even in JavaScript, AI is dangerous?
And what am I? "Have Keyboard, Will Travel"? I cannot keep
cashing the royalty checks without feeling a compunction
of conscience that we can make the AI even better, more
intelligent, more worthy of the outlay of cold, hard cash
in return for purported machine intelligence. And the
vicious book reviews! Two out of three Amazon AI4U reviews
have no greater fury than an AI book scorned. The only way
to rebut the reviews is to keep improving the JavaScript
AI code ad infinitum et ad Singularitatem.

2 Tues.19.APR.2011 -- Bypassing the Spam on
Usenet

Coding artificial intelligence in JavaScript is
extremely serious business, and we need to publish our
JSAI Lab Notes in the comp.lang.javascript newsgroup on
Google Groups Usenet. Unfortunately, spammers think that
they have taken over the sacred JavaScript newsgroup, and
so we have had to take a moment to defeat the evil
spammers and to totally bypass their obnoxious commercial
messages. Please observe, confreres and consoeurs in the
majestic pursuit of JSAI, that we have banished spam from
our JSAI discussion by establishing a chain of
individual "msg" links at the bottom of our Usenet
posting. You may follow these JavaScript AI Lab Notes
backwards in time by clicking on the sub-link to the
previous posting given as a sub-note to the current
posting. Countless spam notes may have intervened, but you
won't even see the spam as you hopscotch across the
memespace and cyberspace of JavaScript AI.

3 3</a> Tues.19.APR.2011 -- Implementing Article
Conditions

We are now carefully implementing in JavaScript the
recent advances that we achieved in the MindForth AI
programming. These two languages, Forth and JavaScript,
are so different that our AI project benefits from the
positive attributes of each language, while we escape
difficulties in the one language by coding AI for a time
in the other language. JavaScript is less forgiving of
minor mistakes, so we test the JSAI code after each
incremental change. As we bring in the new
variables "defartcon" (definite article condition)
and "indefartcon" (indefinite article condition) from
MindForth, we run the AI Mind just to make sure that we
have not used any name reserved for any special purpose in
JavaScript. Then we start setting the new flags in the
InStantiate mind-module. Finally we have an AI Mind
that uses articles, but we need to smooth out the
functionality.

We are developing some ideas today about the difference
between responding to "Who are you?" and "What are you?"
in the AI Mind. In our AI coding towards the end of 2009,
we were using too many flag variables to keep track of the
asking of a who-query or a what-query. Then towards the
end of 2010 we were having substantial success with the
use of neuronal inhibition to obtain the proper variation
in multiple answers to the same question, such as "What
are you?" Inhibiting each currently given answer made the
AI able to summon successively different answers, such
as "I am code" and "I am software" and "I am a robot." Now
we want to go deeper into the machine psyche and enable
the AI to respond differently to queries of "what" and
queries of "who". We want to achieve this goal without the
use of cumbersome query-flags.

One idea that we have had today is that we can
differentiate between who-queries and what-queries by
letting each one predispose either an "EnDefArt" module
for the English definite article, or an "EnInDefArt"
module for an English indefinite article. For example, we
would like a "What are you?" query to engender a response
with an indefinite article, such as, "I am a robot." On
the other hand, we would like a "Who are you?" query to
engender a response with the definite article, as in, "I
am the robot."

Even with the new article modules, we will still need a
way for the input of "who" or "what" to send a signal to
the appropriate module. Instead of having mindgrid-wide,
blanket query-flag variables as we did in late 2009, we
may now be able to make use of the "statuscon" variables
that we dreamed up in our MFPJ work of Fri.12.SEP.2008.
For each of the new article modules, we will devise
a "statuscon" variable so as to "prime" that mind-module
to respond properly to the "who" or "what" inquiry. Say,
using this "statuscon" technique may even enable proper
answers to a compound query like, "Who and what are you?"
We might get the AI to respond, "I am Andru and I am a
robot." The main thing is, by shifting away from the
mindgrid-wide query-variables and by using instead
the "statuscon" variables, we may achieve a tighter
integration between specific English words and the proper
response to them.

Sat.16.APR.2011 -- Implementing Article Conditions

First we declare the variables defartcon and indefartcon for setting the definite or indefinite
article condition. We run the artificial Forthmind
, and it still works. Then into the En
Article module we insert code to test the status of
the new variables before saying "A" or "THE". The
mechanism is rough now at first, but we ask "Who are you?"
and the AI Mind responds "I AM BRAIN". When we ask "What
are you?" the AI says, "I AM A BRAIN."

Today into
MindForth Robot AI we have inserted diagnostic code to
announce each time that the PsiDamp mind-module is called,
and which other mind-module is calling it. We are trying
to suppress stray activations, and we do not want the
PsiDamp module to interfere with the normal process of
spreading activation.

The AudInput module seems to call PsiDamp from two
locations. The call from the second location (during
external input) may not be necessary, because it seems to
be just a way of knocking down the cresting concept. We
should perhaps not even think of a concept as "cresting"
during external input, but only during internal generation
of a thought. So let us try commenting out not only the
AudInput second call to PsiDamp, but also the nearby call
to VerbClip. Oops. When we comment out the second call to
PsiDamp, we stop getting a correct answer from the AI when
we ask "what am i". We get "YOU ARE YOU" instead of "YOU
ARE MAGIC". So we re-enable the call to PsiDamp.

Now let us try commenting out or conditionalizing a
call from NounPhrase to PsiDamp. Let us require
the "urpsi" to be a value above zero, so that PsiDamp does
not get called in vain. Actually, the fp091124.html MFPJ
entry explains that that call to PsiDamp did not seem to
improve anything at all. Apparently it was a defective
call to PsiDamp, because no "urpsi" was declared as the
concept to be psi-damped. Therefore let us simply comment
out that useless call to PsiDamp.

Next we were starting the AI and entering "i am stuff"
to give the AI something new to retrieve from the KB for
a "what am i" query. The AI kept answering only "YOU ARE
MAGIC". Then it dawned on us that we had so many new calls
to PsiDecay, that maybe inhibition of "-15" in NounPhrase
was not enough. So we switched to "-32" inhibition and we
received better results.

It turns out that the word "MAGIC" still had a negative
activation from inhibition and so had to permit "STUFF" to
be said.

Upshot: With some success, the
MindForth AI is now able to answer both "what am i"
and "what are you" queries, retrieving multiple tidbits
from the knowledge base (KB) for each line of inquiry.
However, there is still some confusing of the "I"
and "YOU" concepts. Sometimes the AI ascribes the wrong
attribute (predicate nominative) to either "I" or "YOU",
and sometimes the AI simply says "YOU ARE I". Sometimes
the AI fails to retrieve all the available tidbits. There
is much room for improvement, but we now have some good
code which we should upload after commenting out the
diagnsotic messages.

In our previous MindForth
coding session we got tantalizingly close to an ability of
the AI Mind to
exhaustively dredge up knowledge from its
knowledge base (KB) in response to queries from a
human user. Now we hope to tweak some parameters of
conceptual activation so that the AI chain of thought will not be derailed during
interrogation by a human user. The following archived
exchange shows the problem.

To ascertain why the AI above says "ANDRU IS AN ANDRU"
instead of the desired "I AM ANDRU", we will insert code
for diagnostic messages into the thinking modules of the
robot AI
Mind.

By putting test messages right into the heart of the
NounPhrase most-active-noun selection process, we have
discovered that the "I" concept with an activation of 43
was beaten out by the "ANDRU" concept with activation 49.
It is possible that activation was building up on "ANDRU"
each time that "ANDRU" was passed over as a candidate to
be the subject of a response.

When we go into
ReActivate and have it up the activation of a selected
concept not by 16 but by 18, then the range between "I"
and "ANDRU" narrows from 43 versus 49 to 45 versus 49,
becuase the increment in ReActivate affects the proposed
subject concept "I" from the "what are YOU" query, but not
the lurking "ANDRU" concept, which has been incremented by
32 points of activational "spike" when the previous
statement "I am a robot" was being generated. We may try
to narrow the gap even further by inserting one or more
calls to
PsiDecay into the gneration process. We fear tweaking
the ReActivate parameters too much, because we could upset
some differential tests elsewhere.

No, we do not insert a call to PsiDecay, because it
would affect all concepts equally. Instead we go into the
VerbAct module and we change the following code.

By lowering the "spike" value that passes between "AM"
and "ANDRU" before the KB knowledge is summoned, so
that "ANDRU" is incremented not by 32 points but by only
28 points of activation, we finally get the desired
response of "I AM AN ANDRU" as the third tidbit of
knowledge retrieved from the knowledge base (KB). Now we
need to test the robot AI further and see if a wide range
of knowledge items can be retrieved from the KB without
glitches.

Oh jeeze Louise, oh heaven help the human race.
Look at the following conversation which we just got with
no other interventions after the preceding paragraph
reported the "I AM AN ANDRU" response.

When we run the "dot-psi" report to check conceptual
activations, it looks as though the various "I AM..."
answers were all so inhibited that the chain of thought veered off into "I NEED ME" as
the final item above.

Since we are not writing here for The Journal of
Irreproducible Results, anybody may download both Win32Forth and
MindForth and conduct psychological experiments with
the emerging AI
Mind. And look out, world. The emergence may turn into
an emergency.