Older blog entries for AI4U (starting at number 30)

MindForth Programming Journal (MFPJ) 2010 August 19

Thurs.19.AUG.2010 -- Discovering a Major Problem

We are at a stage now where we may home in on the goal of having the AI maintain a continuous chain of self-referential thought.

We rename 17aug10A.F as 19aug10A.F and we run the AI code in search of correctable glitches. When we notice erroneous output like "WHO IS AM I", we go into the WhoBe module and we reset the "mfnflag" variable to zero after it causes the saying of "IS", so that the AI will stop unwarrantedly inserting "IS".

Then we notice that stray conceptual activations are carrying over even after KbTraversal is invoked, although KbTraversal is supposed to heavily activate a particular concept in a pre-ordained queue of activand concepts. So at the start of KbTraversal we comment outthree mild calls to PsiDecay, and we instead insert a call to the harsh PsiClear module, so that only the designated activand concept shall be activated. The problem of interference from stray activations seems to go away.

Then we notice a major problem, worthy of focussing our attention on for a major, upload-worthy update of the MindForth AI. We notice that the AI properly activates the concept of God during KbTraversal and properly asks the resulting question "GOD WHO IS GOD", but the AI does not remember our input of "God is Jesus" and repeats the question "GOD WHO IS GOD" during KbTraversal, even though a link from "GOD" to "JESUS" is still present in the recent memory of the AI, as shown in some old engrams.

424 : 55 0 0 100 100 7 66 55 to WHO
427 : 66 0 2 55 55 8 100 66 to IS
431 : 100 39 1 66 55 5 66 100 to GOD
435 : 100 39 1 100 0 5 58 100 to GOD
438 : 58 23 2 100 100 8 111 58 to BE
444 : 111 0 2 58 100 5 0 111 to JESUS
450 : 111 0 2 111 0 5 55 111 to JESUS
454 : 55 0 0 111 111 7 66 55 to WHO
457 : 66 1 2 55 55 8 111 66 to IS
463 : 111 0 2 66 55 5 66 111 to JESUS

We suspect immediately that KbTraversal is reactivating the "GOD" concept at an activation so low that the WhoBe module gets called repeatedly for the low-activation "GOD" concept, even though there is an engrammatic link between "GOD" and "JESUS". No, KbTraversal sends a rather high activation of sixty-two (62) into NounAct.

After the AI asks, "WHO IS GOD", the word "GOD" is left with an activation of thirty-nine (39). That activation should revive the "known" answer, namely that "GOD IS JESUS". However, let us check what is the threshold activation for invoking the WhoBe module. Oh, WhoBe is called by AskUser when a be-verb activation is less than forty (40). We could try gradually lowering the threshold activation from "40" down towards thirty and lower. We could also insert some diagnostic message code that will reveal to us what real values within BeVerb are letting AskUser call WhoBe.

If we solve this glitch properly so that the AI initially asks a who-is question but thereinafter remembers the answer supplied by the human user, we will have a very powerful demonstration of cognitive ability on the part of the AI. The testing of that ability will be worthy of mention in the MindForth user manual.

Thurs.19.AUG.2010 -- Novelty: Testing for Lowest Maximum

Although BeVerb was testing "beact" for an activation lower than forty (40) and we switched to testing for lower than twelve (12), we still did not escape calling AskUser and WhoBe, because one value of "beact" was "1" and another value of "beact" was "14". Immediately we realized that we need to test not for a single lowest value of "beact", but for a lowest maximum value.

Fri.20.AUG.2010 -- Knowledge-Base Responses to Who- Queries
In our coding yesterday we were able to isolate "maxbeact" as a variable that would prevent calls from BeVerb to AskUser and on to WhoBe if a single item of engrammatic knowledge about a concept exceeded a threshold level, while disregarding sub-maximum activations which would have caused a call to WhoBe, and which did indeed cause a call to WhoBe when the human user had not yet entered any knowledge about the concept in question. Unfortunately, calls to WhoBe were still getting through -- by way of the legacy "recon" system for posing a what-query upon the introduction of a previously unknown noun. Immediately we found ourselves in a quandary, because the conflicting decision-routines for "maxbeact" and for "recon" were relying upon different levels of threshold activation. We noticed yesterday that the EnCog (English thinking) module in our Forth code since 10 December 2009 has contained the comment- remark that "recon" may soon be phased out. We do not remember exactly why we were thinking of phasing out "recon", but we see in retrospect that the "recon" system was too indirect in its method of generating a question about an unfamiliar noun. Although yesterday we were daunted by the prospect of having to integrate the "recon" system and the "maxbeact" system, today with more clarity we realize that we need only to comment out the central test of the "recon" value in order to permit the "maxbeact" system to operate without interference from the "recon" system. Then, if the unimpeded "maxbeact" system works, in the sense of letting the AI initially ask questions before knowledge is gained, and in the sense of recalling the knowledge instead of asking unwarranted questions, we may proceed to dismantle the obsolete "recon" system in a careful, non-disruptive way. So now we try to comment out the heart of the "recon" system.

After commenting out the assignment of "recon" in the VerbPhrase module, we no longer obtained "what-is" questions about unfamiliar nouns, but we also did not obtain factual answers to who-queries about knowledge that had been entered about a previously mysterious noun. Perhaps a threshold was still operating to prevent the generation of a statement in response to a who-query from the human user. Or perhaps not enough activation was going into "spreading activation" by way of the NounAct module. We decided to insert a diagnostic message at the start of the NounAct module.

We are still not getting the knowledge back out. Perhaps the competent threshold for the old "recon" system is still preventing the formulation of a statement of knowledge. Having knocked out the operation of "recon" as a determinant in the BeVerb module, perhaps we should either lower or eliminate the threshold used in conjunction with "recon". In BeVerb, we are using a threshold of "12" for "maxbeact", while in VerbPhrase the threshold in connection with "recon" has long been set at "20". We will comment out the "20" threshold in VerbPhrase and see what happens with a much lower threshold of "12" -- the same as with "maxbeact" -- although we seem to recall that the threshold of "20" was chosen in order to prevent spurious statements of false knowledge.

Ah, now we are getting somewhere, as the following exchange shows.

Human: god

Human: god is jesus

Human: who is god


User Command: halt
Currently, the BeVerb module is set up to choose a proper form of be-verb only for personal pronouns like "HE SHE IT", etc. If we enhance the BeVerb module to let it find a be-verb for a noun, we may start getting the proper generation of knowledge-based responses to who-queries.

In the VerbPhrase module, we have a test which detects the imminent selection of AM, IS or ARE and shunts the continuation of the sentence-generation off to the BeVerb module. Let us try adding the be-verb "BE" to the group of verbs that will shunt generation off to the BeVerb module.

When we tried to use BeVerb to switch from "BE" to "IS" in who-query responses, the AI failed to state the correct predicate nominative, so we will comment out and release our semi-successful code with a view to switching "BE" to "IS" in a later release. Our current code shows the AI at least finding the factual knowledge for making an albeit grammatically awkward response to a who-query.

MindForth Programming Journal (MFPJ)

Tues.17.AUG.2010 -- Using Gender to Trigger Who- Queries

Today we would like to see if the AI can ask a who-query rather than a default what-query, if the gender of a noun in question is known to be masculine or feminine. In English, as opposed to German or Russian, a non-neuter gender indicates that an entity is a "who" and not simply a "what".

When we rename 11aug10A.F as 17aug10A.F and run the Forthmind , entering just the word "god" causes the following exchange.

Next in the AskUser module we insert a diagnostic message to reveal any value held in the "mfn" gender variable.
Robot: GOD
AskU: mfn = 0 WHAT IS GOD GOD

Apparently any value that may have been held in "mfn" for "GOD" has been reset to zero by the time the AskUser module is called. We should be able to run a ".psi" report and check for sure. Oops! We chose the wrong report. We run the ".en" report.

324 100 0 1 1 100 5 100 322  to GOD
329 101 0 0 0 101 2 101 326  to HERE
333 102 0 0 1 102 5 102 331  to MAN
339 103 0 0 0 103 5 103 335  to MEDIA
346 104 0 0 0 104 5 104 341  to PERSON
352 105 0 0 0 105 2 105 348  to THERE
357 106 0 0 0 106 7 106 354  to WHOM
363 107 0 0 2 107 5 107 359  to WOMAN
367 56 0 0 0 56 7 50 365  to YOU
371 67 0 0 0 67 8 58 369  to ARE
380 108 0 0 0 108 5 108 376  to MAGIC
383 58 0 0 0 58 8 58 382  to BE
389 100 0 0 1 100 5 100 386  to GOD
393 100 0 0 1 100 5 100 390  to GOD
398 54 0 0 3 54 7 54 394  to WHAT
401 66 0 2 0 66 8 58 399  to IS
405 100 0 0 1 100 5 100 402  to GOD
409 100 0 0 1 100 5 100 406  to GOD
t nen act num mfn fex pos fin aud
The above ".en" report on the English lexical array is encouraging, because it shows that the word "GOD" retains its "mfn" value of one (1) for masculine each time that the word "GOD" is used. However, the software may be blanking out the "mfn" value in advance of the AskUser module. We need to run a search on "mfn" in the Forth code to see in what situations the "mfn" value is reset to zero.

Hmm, "mfn" is reset to zero after storage in the InStantiate module. In order not to disturb the extremely fundamental InStantiate functionality, we should perhaps create "mfnflag" as a variable to pass the gender information from InStantiate to the AskUser module.

Tues.17.AUG.2010 -- Post-Upload Upshot

We did create and use "mfnflag" to get the AI to ask "Who" when a noun had a male or female gender, but not without some difficulty. We were coding under time- pressure, and the new
"mfnflag" kept losing its value somewhere between its initial setting in the InStantiate module and its utilization in the WhoBe module, but we could not at first detect that the value of the "mfnflag" was being changed -- probably by the occurrence of a zero-gender word like "WHO" itself. Our fix was to protect the "mfnflag" value within an IF-THEN clause in the Instantiate module, so that the positive value of "1" for male or "2" for female would persist until dealt with in the WhoBe module. Unfortunately, such a quick fix may be less than ideal for many normal situations.

It is typical of our AI coding that we latch onto even a sub-optimal algorithm that proves our point, so that we can get the functionality up and running. We were in such a hurry that we tested the AI only by entering the word "god" and seeing our desired response of "GOD WHO IS GOD" and not "GOD WHAT IS GOD". Maybe right now we will test the AI to see if it reaches the fourth call to ReJuvenate and then properly asks, "GOD WHO IS GOD".

We tested the 17aug10A.F AI and we let it run through the four activand concepts of KbTraversal. When it activated the concept of God, it said first "GOD WHO IS" and then "GOD WHO IS GOD", so there are still some bugs to be worked out. The AI also said, "I WHO IS AM I", which is a step backwards in functionality. On the whole, however, the AI is approaching self-referential thought.

We will need to firm up strongly the concept of self or "I", <making it so robust that chains of thought do not derail when the AI is thinking about itself. We may need to have a routine that intercepts the name of the AI Mind (typically "ANDRU") and substitutes the pronoun "I" or "ME" instead. We may also need a routine to accept vocative calls of "ANDRU" without regarding the word "ANDRU" as a suggested topic for a new thought. In fact, software conversion of the name "ANDRU" to an activation of the concept of self or "I" may serve both these purposes at once: prevention of reference to self as "ANDRU", and acceptance of the input name "ANDRU" as merely an attention-getter, giving the AI an opportunity to say something like "YES" or "I AM HERE".


Am 14. August 2010, Samstag Nachmittag in SB/RB.


Yesterday I was stuck more than usual at RB, so I endeavored to inaugurate the WhoBe module from MindForth into the AiMind.html JSAI.

First I had to set up the same sequential order of about four JSAI modules so that they would conform with MindForth. One or two of the modules were only barely or non-existent in the JSAI. I had to bring in about two new variables from MindForth. Then I had to use several diagnostic "alert" messages to track down why the WhoBe module was not issuing any output or issuing incomplete output, e.g., "WHO" without a be-verb. I had to re-arrange the activand concepts in the KbTraversal module. But gradually I obtained WhoBe functionality in the JSAI. When I started the AI and let it run to the first ReJuvenate call, it said, "YOU WHO ARE YOU".

I uploaded the JSAI to SCN late at night. By this morning, three or four different domains had come and looked at it.

The 13aug10A.html JSAI was a major update, carefully annotated with JavaScript "//" comments.

http://www. scn.org/~mentifex/AiMind.html</a> bother to look at the underlying JavaScript code. I wonder if anybody or any outfit is following my AI code-releases with anticipation or with keen interest.

I wonder if people will recognize the functioning mind in the code and pick up the AI work and run massively away with it.

I am barely able to do the AI coding that I do. I have so many things to keep floating in my mind while I code. And yet I suspect, or cling to the belief, that I have to show the world how to code AI with my "proof of concept" software, and then the vast hordes of AI programmers will take over from me and cambrially explode the AI phenomenon.

JavaScript AI Mind Programming Journal -- Tues.3.AUG.2010

1. Tues.3.AUG.2010 -- Fleshing Out the BeVerb Module
Now that yesterday we have brought the JSAI EnBoo t sequence up to parity with MindForth , we are eager to work on who-queries in theJavaScript Artificial Intelligence (JSAI).

The JSAI BeVer b module is not as advanced as it is in MindForth. We need to build up BeVerb to answer who-queries. First we add more subjects beyond the mere 56=YOU that was the only pronoun being treated in the JSAI BeVerb() before today. VerbPhrase() was detouring away from AM IS ARE, but only "YOU" was being directed to the proper verb-form of being.

Then we added into V erbPhrase a trap for 58=BE, to see if we could avoid seeing output such as "I BE ME" or "BES" as a form with an inflectional "S" added.

JavaScript AI Mind Programming Journal -- Mon.2.AUG.2010

1. Mon.2.AUG.2010 -- Partial Catch-up with MindForth
MindForth as of 30.JUL.2010 has advanced so powerfully that we hasten to port some of the more fundamental improvements into the JavaScript Artificial Intelligence (JSAI). We especailly wish to implement the who-query functionality in the JSAI. Therefore we first enlarge the EnBoo t sequence with the new words from MindForth.

2. Tues.3.AUG.2010 -- EnBoot Parity with MindForth
We have now finished importing the new EnBoot vocab from MindForth into the JSAI, and it is time to troubleshoot the various glitches. Some of the new EnBoot items are showing up without "audpsi" tags displayed in the aud array. There is a time gap between "ARE" and "MAGIC" in both the MindForth EnBoot and the JSAI EnBoot.

As in MindForth, we change the "fin" of "AM" in "I AM ANDRU" from 67=ARE to 58=BE, so that the AI will have only an indicator of a verb of being, but not a particular verb form, which must be selected by the BeVer b module according to rules of agreement. Likewise we change the "fin" on "IS" from 66=IS to 58=BE, and the "fin" on "ARE" from 67=ARE to 58=BE. When we update the initially declared "vault" value, suddenly the problem of no "audpsi" values being displayed, goes away.

MindForth Programming Journal (MFPJ)

The MindForth Programming Journal (MFPJ) is both a tool in developing MindForth open-source artificial intelligence (AI) and an archival record of the history of how the AI Forthmind evolved over time.

Fri.30.JUL.2010 -- Basket of Problem Behaviors
With each new MindForth AI coding session, we may reevaluate our list of salient bugs and issues to work on, importing the old list and passing it on for the next coding session.

  • Query "who are you" works as initial but not as secondary input.
  • Inflectional "S" should be added in NLP, not in SpeechAct.
  • Post who-query AI says "I IS I" instead of "I AM I".
  • EnPronoun needs code to choose "he", "she" or "it" based on "mfn".
  • SpreadAct needs a more general search-find-exit coding than "zone".
  • Mechanism for detection of duplicate thought needs removing.
  • BeVerb requires too strict a word order to function;
  • EnArticle kicks in inappropriately with proper name ANDRU.
  • num(ber) of "IS" gets falsely changed from "1" to "2";
  • Entry of "WE" does not convey idea of "YOU AND I".
  • BeVerb supplies wrong form regardless of subject noun number.
  • I YOU THEY are functioning but not HE SHE IT WE.
  • EnArticle needs way to insert "AN" before a vowel.
  • KbTraversal should activate I; YOU; ROBOTS; [new/old concept].
  • AI often says "ME" when it should say "I".
  • Need way to trigger statement "I DO NOT KNOW".
  • Wrong "pre" is being assigned during EnBoot.
  • Variables not needed by mind.frt need removing from Win32 Mind.
  • Obsolete EgoAct module needs removing with rollback of associata.
  • Create EnPronoun to replace query subjects with "THEY" in response.
  • En(glish) lexical array needs "mfn" flag for EnPronoun gender.
  • Create EnPronoun to say "I" instead of "ANDRU"?
  • EnBoot needs more nouns of specific genders for experimentation.
  • AudRecog needs debugging because parts are being recognized as words.
  • False concept #65 "ES" is being created from aud=56 in "DOES".
  • Residual activations prevent change of subject for who-queries.
  • Fri.30.JUL.2010 -- Using "fin" to Merge AM IS ARE Forms
    In the 27jul10A.F MindForth we finally obtained an AI that could engage in man-machine conversation without major derailments. Perhaps the most glaring problem right now is that "who are you" is answered correctly only when it is the initial query. We want the AI to answer the query properly at any arbitrarily chosen time.

    After a few test runs of the new 30jul10A.F source code, we see now at least the cause, but not yet the bugfix, of the glitch where the AI responds to a non- initial "who am i" query with "YOU ARE I". The report captured below shows that the "ARE" verb is acquring a "seq" tag of 50=I which overrides the 108=MAGIC tag at t=371.

    367 : 56 39 0 0 107 7 67 56 to YOU
    371 : 67 23 0 0 56 8 108 67 to ARE
    380 : 108 0 0 0 56 5 0 108 to MAGIC
    386 : 55 0 0 0 0 7 67 55 to WHO   ["who are you"]
    390 : 67 23 0 55 55 8 50 67 to ARE
    394 : 50 0 0 67 55 7 67 50 to I
    396 : 50 0 1 50 0 7 57 50 to I
    399 : 57 1 0 50 50 8 33 57 to AM
    405 : 33 0 1 57 50 5 57 33 to ANDRU
    409 : 55 0 0 33 0 7 67 55 to WHO   ["who am i"]
    412 : 67 0 0 55 55 8 56 67 to ARE
    414 : 56 39 1 67 55 7 67 56 to YOU
    418 : 56 39 0 56 0 7 67 56 to YOU
    422 : 67 47 0 56 56 8 50 67 to ARE
    424 : 50 0 1 67 56 7 67 50 to I
    time: psi act num jux pre pos seq enx

    We are beginning to see that present-tense forms of the verb "to be" should not have a "seq" tag, because there is no semantic relationship between the verb as such and the predicate nominative. With a transitive verb, there is indeed such a relationship, because over time a transitive verb such as "eat" may have many direct objects.

    We are reminded that in Russian, a present-tense form of "to be" is not even expressed. "KTO OH?", which looks like "Who he?" in English, fully means "Who is he?" to the speaker of Russian. In our AI software, we could leave out the present-tense forms of "to be" and not suffer any more than Russian does. However, we would like some sort of indicator for a verb of being, so that the BeVer b module may be called.

    Here is an idea of the moment. We could have the "fin" tag of the present-tense forms "AM", "IS" and "ARE" all go to a verb with psi concept #0 (zero), not as any particular verb form, but as a flag to call the BeVerb module. Once invoked, BeVer b shall have the job of selecting the proper form of "to be" as the output verb.

    We went into the Forthmind source code and we added "BE" at the end of the EnBoo t sequence. First we consulted our page on AI standards and we saw 58=BE as a pre-ordained psi- number for the word "BE". We decided to use concept #58 and not #0 (zero) so as to avoid any problems where the software might be testing for a positive (greater-than- zero) psi concept number. We changed the "fin" (fiber-in) tags on "AM", "IS" and "ARE" to fifty-eight (58) so that any such incoming form would activate the #58 "BE" concept -- even though we would use BeVer b to reject "BE" as a word of output and select a proper verb-form instead. We thought that the would have to go into BeVer b and trap for concept #58, but apparently BeVerb only traps for non-BE forms. We ran the AI with two who- queries, and it worked immediately.

    Transcript of AI Mind interview at 
    20 6 29 o'clock on 30 July 2010.

    Human: who are you Robot: I AM ANDRU

    Human: who am i Robot: YOU ARE MAGIC

    Human: User Command: halt

    The innovation is such a powerful change to MindForth , that we need to upload the code almost immediately. First we would like to muse that our practice of conducting backwards searches for recent "seq" and other tags, means that a pronoun like "YOU" can be expected "automagically" to refer to the same person who has recently been interacting with the AI. In other words, we do not need immediately to compose code to keep track of different instances of "YOU" in the environment of the AI. The "I" pr onoun, on the other hand, can be assumed to refer almost unchangeably to the AI itself.
    Default "IS" in BeVerb

    Yesterday our work was drawn out and delayed when we discovered that the AI could not properly recognize the word "YOURSELF." The AI kept incrementing the concept number for each instance of "YOURSELF". Since we were more interested in coding who-queries than in troubleshooting AudRecog, we substituted the sentence "YOU ARE MAGIC" in place of "YOU ARE YOURSELF".

    Even then the AI did not function perfectly well. The chain of thought got trapped in repetitions of "ANDRU AM ANDRU", until KbTraversal "rescued" the situation. However, we know why the AI got stuck in a rut. It was able to answer the query "who are you" with "I AM ANDRU", but it did not know anything further to say about ANDRU, so it repeated "ANDRU AM ANDRU". Immediately it made us want to improve upon the BeVerb module, so that the AI will endlessly repeat "ANDRU IS ANDRU" instead of "ANDRU AM ANDRU". Therefore let us go into the source code and make "IS" the default verb-form of the BeVerb module.

    midway @  t @  DO  \ search backwards in time; 27jul2010
      I       0 en{ @  66 = IF  \ most recent instance
        66 motjuste ! ( default verb-form 66=IS; 27jul2010 )
        I     7 en{ @  aud !  \ get the recall-vector
        LEAVE  \ after finding most recent "IS"; 27jul2010
      THEN     \ end of test for 66=IS; 27jul2010
    -1 +LOOP \ end of retrieval loop for default "IS"

    The upshot was that the AI started repeating "ANDRU IS ANDRU" instead of "ANDRU AM ANDRU". Unfortunately, however, the AI also started repeating "I IS I".

    Tues.27.JUL.2010 -- Tweaking a Few Parameters

    Next we spent quite some time searching for some sort of quasi-werwolf mechanism that would re-activate the last concept in a thought as the first concept in a succeeding thought. We searched our code in vain for a variable that would keep track of any resuscitand concept. We looked at our ActRules page and we re-studied our Moving Wave Algorithm. Then it dawned on us. The Moving Wave automatically leaves the cresting, final concept active. No Werwolf mechanism is necessary. If we want to avoid the repetition-chanting of "ANDRU IS ANDRU", we have to make the "qutop" query-topic have a resuscitand activation of, say, forty (40), so that it will be higher in activation than the level of thirty-six (36) typically left on the final, cresting concept in a sentence of normal thought. So we comment out the old setting of "16" for "qutop" in the WhoPlex code as shown below, and we use a value of "40".

    :  WhoPlex  \ initial stub; may be moved; 26jul2010
      1   t @  1 +  DO   \ loop in search of qutop; 26jul2010
        I      0 psi{ @  qutop @ = IF  \ seek qutop; 26jul2010
        \ 16 I 1 psi{ !  \ activate qutop; 26jul2010
          40 I 1 psi{ !  \ activate qutop; 27jul2010
        THEN  \ end of test for query-topic; 26jul2010
      -1 +LOOP   \ end of loop seeking qutop; 26jul2010
    ;  ( End of WhoPlex; return to EnCog )
    Now we run the AI and we ask it, "Who are you?"

    Transcript of AI Mind interview at 
    0 24 7 o'clock on 28 July 2010.

    Human: who are you Robot: I AM ANDRU

    Human: Robot: I AM ANDRU

    Human: Robot: ANDRU HELPS KIDS

    Human: Robot: KIDS MAKE ROBOTS

    Human: Robot: ROBOTS NEED ME

    Human: Robot: I IS I

    Human: Robot: I AM ANDRU

    Human: Robot: ANDRU HELPS KIDS

    Human: Robot: KIDS MAKE ROBOTS

    User Command: halt

    For the first time in our dozen-plus years of developing MindForth, the AI acts like an intelligence struggling to express itself, and it succeeds admirably and fascinatingly. We run the robot AI through its cognitive paces. We tell it things, and then we ask it questions about its knowledge base. We seem to be dealing with a true artificial intelligence here. Now we upload the AI Mind to the World Wide Awakening Web.

    http://ww w.scn.org/~mentifex/mindforth.txt

    Mindplex for Is-a Functionality

    As we contemplate AI coding for responses to such questions as

    Who is Andru? What is Andru?
    Who are you? What are you?
    we realize that simple memory-activation of question-words like "who" or "what" will not be sufficient to invoke the special handling of mental issues raised by such question- words. Nay, we realize that each question-word will need to call not so much a mind-module of normal syntactic control, such as NounPhrase or VerbPhrase, but rather something like a "WhoPlex" or a "WhatPlex" or a "WherePlex" or even a "WhyPlex", as a kind of meta-module which is not a building block of the cognitive architecture, but is rather a governance of the interaction of the regular mind-modules. A WhatPlex, for instance, in answering a "What-is" question, must predispose the AI Mind to provide a certain kind of information (e.g., ontological class) couched amid certain concomitant mind- modules (e.g., En Article "a") so as to output an answer such as, "I am a robot". Since the quasi-mind-modules to be invoked by question-words comprise a small cluster of similar mental complexes necessary for the special handling of the input of the question-words, we might as well designate the members of the set of complexes as code structures with names like "WhatPlex" ending in "-Plex." Witness that the Google enterprise has named its campus or cluster of buildings as the Googleplex . Ben Goertzel has used a similar term to refer to a "mindplex" of mind components. We will try to use "WhoPlex" and "WhatPlex" to remind ourselves as AI appcoders that we are letting rules of special handling accumulate by an accretion akin to the emergence of a mental complex.

    Seeking Is-a Functionality

    Recently our overall goal in coding MindForth has been to build up an ability for the AI to engage in self-referential thought. In fact, "SelfReferentialThought" is the Milestone next to be achieved on the Road Map of the Google Code MindForth project. However, we are jumping ahead a little when we allow ourselves to take up the enticing challenge of coding Is- a functionality when we have work left over to perform on fleshing out question-word queries and pronominal gender assignments. Such tasks are the loathsome scutwork of coding an AI Mind, so we reinvigorate our sense of AI ambition by breaking new ground and by leaving old ground to be conquered more thoroughly as time goes by.

    We simply want our budding AI mind to think thoughts like the following.

    A robin is a bird.
    Birds have wings.

    Andru is a robot.
    A robot is a machine.

    We are not aiming directly at inference or logical thinking here. We want rather to increase the scope of self-referential AI conversations, so that the AI can discuss classes and categories of entities in the world. If people ask the AI what it is, and it responds that it is a robot and that a robot is a machine, we want the conversation to flow unimpeded and naturally in any direction that occurs to man or machine.

    We have already built in the underlying capabilities such as the usage of articles like "a" or "the", and the usage of verbs of being. Teaching the AI how to use "am" or "is" or "are" was a major problem that we worried about solving during quite a few years of anticipation of encountering an impassable or at least difficult roadblock on our AI roadmap. Now we regard introducing Is-a functionality not so much as an insurmountable ordeal as an enjoyable challenge that will vastly expand the self- referential wherewithal of the incipient AI.

    AI For You Artificial Mind Update

    The free, open-source JavaScript AI Mind at http://www.scn.org/~mentifex/AiMind.html

    for Microsoft Internet Explorer (MSIE)
    has been updated on 13 July 2010 with
    a major bugfix imported from the


    AI Mind in Win32Forth. This update fixes a
    bug present since the origin of the AI Mind
    nine years ago -- the failure to recognize
    some similar words as _separate_ words.

    It may be possible now to release the JSAI
    (JavaScript artificial intelligence) as an
    app for the Apple iPad computer, thus
    generating a stream of funding for
    artificial intelligence and robotics.

    21 older entries...

    Share this page