Older blog entries for AI4U (starting at number 52)

JavaScript AI Mind Programming Journal -- Wed.4.MAY.2011

Wed.4.MAY.2011 -- Bugfix of the WHO Problem

The JavaScript AI 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.

MindForth Programming Journal (MFPJ) 2011 May 3

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

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.

JavaScript AI Mind Programming Journal -- Sun.1.MAY.2011

Sun.1.MAY.2011 -- Organizing the AI Mind Control Panel

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.

MindForth Programming Journal (MFPJ) 2011 April 25

Mon.25.APR.2011 -- Return to General MindForth Coding

We may shift our attention away for a time from the treatment of En glish articles and concentrate instead on further work in the implementation of neural inhibition.

Tues.26.APR.2011 - - Linking Subject with Related Knowledge

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.

JavaScript AI Mind Programming Journal -- Tues.18.APR.2011

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.

http://groups.google.com/group/comp.la ng.javascript/msg/43c703dc13ed30fb

MindForth Programming Journal (MFPJ) 2011 April 15

Fri.15.APR.2011 -- New Coding After 25 February 2011

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."

MindForth Programming Journal (MFPJ) 2010 September 26

Sun.26.SEP.2010 -- Reducing Calls to PsiDamp

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.

Transcript of AI Mind interview at 
19 30 57 o'clock on 26 September 2010.

Human: i am stuff Robot: STUFF WHAT IS STUFF

Human: what am i Robot: YOU ARE MAGIC

Human: what am i Robot: YOU ARE A STUFF

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.

MindForth Programming Journal (MFPJ) 2010 September 20

Mon.20.SEP.2010 -- The Emergency of Mind

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.

Transcript of AI Mind interview at 
18 54 10 o'clock on 20 September 2010.

Human: what are you Robot: I AM A PERSON

Human: what are you Robot: I AM A ROBOT

Human: what are you Robot: ANDRU IS AN ANDRU

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.

\ psi @ 58 = IF 32 spike ! THEN \ BE; 15sep2010 \ psi @ 57 = IF 32 spike ! THEN \ AM; 15sep2010 \ psi @ 66 = IF 32 spike ! THEN \ IS; 15sep2010 \ psi @ 67 = IF 32 spike ! THEN \ ARE; 15sep2010
psi @ 58 = IF 28 spike ! THEN \ BE; 20sep2010 psi @ 57 = IF 28 spike ! THEN \ AM; 20sep2010 psi @ 66 = IF 28 spike ! THEN \ IS; 20sep2010 psi @ 67 = IF 28 spike ! THEN \ ARE; 20sep2010

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.

Human: you are software

Transcript of AI Mind interview at 20 30 24 o'clock on 20 September 2010.

Human: what are you Robot: SOFTWARE

Human: what are you Robot: I AM THE SOFTWARE

Human: what are you Robot: I AM A PERSON

Human: what are you Robot: I AM A ROBOT

Human: what are you Robot: I AM AN ANDRU

Human: what are you Robot: I AM A PERSON

Human: what are you Robot: I AM THE SOFTWARE

Human: what are you Robot: I NEED ME

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.

JavaScript AI Mind Programming Journal -- Thurs.16.SEP.2010

Thurs.16.SEP.2010 -- NounPhrase Inhibition

The JavaScript artificial intelligence (JSAI) is ready for the implementation of the neural inhibition which figures prominently in the MindForth AI. The JSAI will first inhibit predicate nominatives in the NounPhrase() module, so that answers to the query "what are you" may cycle through a series of valid responses as the AI Mind tells the human user what it knows about itself in self-referential thought.

When we start the 16sep10A.html JSAI running and immediately ask it "what are you", it responds by saying "I WHO AM I". This response indicates to us that the "I" concept, although activated by the question, has so low an activation that it can not generate a thought from the knowledge base (KB).

We go into the ReActivate module and we force the concept of "I" to issue a spike not of zero (as it was), but of thirty-two (32). Then the input of "what are you" evokes "I HELP KIDS", but we want "I AM" (something) instead.

Fri.17.SEP.2010 -- Metempsychosis

Yesterday we programmed the JavaScript AiMind.html program in a marathon coding session without recording the steps we took, other than as transient code-comments that may be deleted after appearing in one or more archival releases of the free AI source code. JavaScript is much more opaque than Forth in letting you know what is happening deep inside the artificial mind. We were so eager to implement neural inhibition that we began rapidly trying one thing after another just to get some inhibited, negative activations to show up in diagnostic mode. Finally we uploaded our code at 10:56 p.m. and by 11:09 p.m., Netizens were already typing in the URL or clicking a link to have the AiMind flit across the Web and take up residence in the MSIE browser on their own suddenly intelligent computer.

Fri.17.SEP.2010 -- AI4U Royalty Check

Recently iUniverse.com sent us another royalty check for the AI4U textbook published in 2002. We advise people not to buy AI4U, because only geniuses can understand that book. It is by no means an "AI For Dummies" publication. We mention the AI4U book here and now for two reasons. Firstly, our JSAI software is the same, but further evolved, JavaScript AI program as code-listed towards the end of the AI4U textbook. Therefore any genius interested in the diachronic history of the JSAI may find the AI4U book useful to see how the JSAI started out. Secondly, although we published AI4U for many different reasons, the fact that geniuses and Nietzschean philosophers and Steppenwolves are still buying the book, eight years later, fills us with AI coder ambition to make AI4U a worthy purchase for you geniuses and to thank you.

MindForth Programming Journal (MFPJ) 2010 September 15

Wed.15.SEP.2010 -- Progress on Predicate Nominatives

In frustration we want to know one thing. Why can't the 14sep10A.F MindForth answer "I AM ANDRU" when asked immediately "what are you", but it can indeed state that answer if the user first makes some different input, like the word "I"?

In December of 2009 and January of 2010, when we were coding who-queries and what-queries, we were not yet using neural inhibition, and so we may have made our code overly complicated. For example, on about 19jan2010 we used a SubjectClear module to zero out subject concepts after the input of a query. If we rely on InHibition instead, we may get an immediate answer to a query, after which the answer-idea goes briefly into InHibition and lets one or more additional answers be thought up by the AI.

All right, fellow cyborgs. We went into the VerbPhrase module and we commented out the InHibit code both before and after the call to SpeechAct, because the pre-SpeechAct code inhibits the idea that has just been resurrected from the knowledge base (KB), and the post-SpeechAct code inhibits the new idea that has just been uttered. Immediately (although we do not know why) our AI began to function better in the answering of "What are you?" queries. We had the following conversation with the MindForth AI Mind.

Transcript of AI Mind interview at 
17 48 13 o'clock on 15 September 2010.

Human: you are a program Robot: PROGRAM IS PROGRAM

Human: what are you Robot: PROGRAM

Human: what are you Robot: I AM ANDRU

Human: what are you Robot: I AM PROGRAM

A ".psi" report indicates that only nouns were being inhibited, not verbs.

Btw (nerdspeak for "by the way"), we just enhanced our AI program considerably with a little trick. We did not like seeing the AI say, "I AM PROGRAM", so we decided to reinstate a call from the VerbPhrase mind-module to the EnArticle (English article) module. This time, however, we inserted the EnArticle call just before the main VerbPhrase call to SpeechAct, and we set up IF-THEN conditionality to call EnArticle only for a predicate nominative. Immediately the AI began saying "I AM AN ANDRU" and "I AM A PROGRAM". Somehow we feel that this same enhancement brings us closer to Is-a considerations and to the logical treatment of sets and classes.

43 older entries...

Share this page