Loading ...
Sorry, an error occurred while loading the content.
 

More Mind.f

Expand Messages
  • Frank J. Russo
    As I struggle to figure out what is going on I periodically look at the data store / accumulated. Below is a copy of the .en / .psi There should be 4 new
    Message 1 of 16 , Jun 13, 2006
      As I struggle to figure out what is going on I periodically look at
      the data store / accumulated.

      Below is a copy of the .en / .psi

      There should be 4 new concepts, man, created, serve and machines but
      It appears machines and serve are not take as new concepts or am I
      interpreting this incorrectly. By the way I turned OFF thinking so
      as not to disturb the list.

      154 : 44 0 0 0 6 0 44 to IN
      157 : 50 0 0 0 5 0 65 to ME
      163 : 72 0 0 0 5 73 72 to MAN
      171 : 73 0 72 72 5 39 73 to CREATED
      178 : 39 0 73 73 5 0 39 to ROBOTS
      185 : 39 0 39 39 5 67 39 to ROBOTS
      189 : 67 0 39 39 8 66 67 to ARE
      198 : 66 0 67 67 8 0 66 to MACHINES
      207 : 66 0 66 66 8 67 66 to MACHINES
      213 : 67 0 66 66 8 72 67 to SERVE
      217 : 72 0 67 67 5 0 72 to MAN
      time: psi act jux pre pos seq enx

      Help me to understand.

      Frank
    • AT Murray
      ... ATM: The above list is an excellent Psi report. ... The above two items are the tail end of the English bootstrap sequence that loads the AI Mind with ~37
      Message 2 of 16 , Jun 13, 2006
        --- In win32forth@yahoogroups.com,
        "Frank J. Russo" <fjrusso@...> wrote:
        >
        > As I struggle to figure out what is going on I
        > periodically look at the data store / accumulated.
        >
        > Below is a copy of the .en / .psi
        >
        > There should be 4 new concepts,
        > man, created, serve and machines
        > but it appears machines and serve
        > are not taken as new concepts or
        > am I interpreting this incorrectly.
        > By the way I turned OFF thinking so
        > as not to disturb the list.
        >
        > 154 : 44 0 0 0 6 0 44 to IN
        > 157 : 50 0 0 0 5 0 65 to ME
        > 163 : 72 0 0 0 5 73 72 to MAN
        > 171 : 73 0 72 72 5 39 73 to CREATED
        > 178 : 39 0 73 73 5 0 39 to ROBOTS
        > 185 : 39 0 39 39 5 67 39 to ROBOTS
        > 189 : 67 0 39 39 8 66 67 to ARE
        > 198 : 66 0 67 67 8 0 66 to MACHINES
        > 207 : 66 0 66 66 8 67 66 to MACHINES
        > 213 : 67 0 66 66 8 72 67 to SERVE
        > 217 : 72 0 67 67 5 0 72 to MAN
        > time: psi act jux pre pos seq enx
        >
        > Help me to understand.
        >
        > Frank

        ATM:
        The above list is an excellent Psi report.

        > 154 : 44 0 0 0 6 0 44 to IN
        > 157 : 50 0 0 0 5 0 65 to ME

        The above two items are the tail end of the
        English bootstrap sequence that loads the AI
        Mind with ~37 initial concepts to think with.

        > 163 : 72 0 0 0 5 73 72 to MAN
        > 171 : 73 0 72 72 5 39 73 to CREATED
        > 178 : 39 0 73 73 5 0 39 to ROBOTS

        ATM:
        In each line above, the first numbers (163, 171, 178)
        are the time "t" points. It looks as though the user
        may have hesitated after typing in the word "man",
        because more than four time "t" points were used --
        but it probably does not matter. By the way, one
        problem with filling an input buffer and requiring
        that a carriage-return (CR) must be entered, is
        that some human users may type in a sentence
        but then walk away without pressing Return.
        Mind.Forth is designed to fill in its own CR,
        if necessary, so as not to wait forever.

        The second column holds the "psi" concept numbers:
        "72, 73, 39". That part works beautifully here.
        Mind.Forth assigns psi #72 to MAN and #73 to CREATED.
        ROBOTS already has psi #39 in the enBoot source code,
        so obviously the AI has recognized the word "robots".
        You know that word-recognition is not working whenever
        the AI assigns a brand new concept # to an old concept.

        The act(ivation) column shows zero activation --
        typical for *after* complete input or output.
        Activations go up during thinking, then down.

        The "jux(taposition)" column is mainly for future use,
        and looks perfectly normal here.

        The "pre(vious)"-concept numbers (0, 72, 73) all look
        good, with a zero because MAN has no previous concept.

        The part-of-speech "pos" column has a problem with
        all fives ("5") as if all the words were nouns ("5").
        http://mind.sourceforge.net/m4thuser.html points out
        that only one new word should be introduced at a time,
        so as not to confuse the Parser about part-of-speech.
        The verb should have a number-eight ("8") POS tag.
        If a verb is not accepted as such, one may start over.

        Both the (sub)"seq"(ent)-concept column and the
        English-transfer ("enx") columns look excellent.

        > 185 : 39 0 39 39 5 67 39 to ROBOTS
        > 189 : 67 0 39 39 8 66 67 to ARE
        > 198 : 66 0 67 67 8 0 66 to MACHINES

        Ah, here "ARE" is recognized as a #8 verb,
        but somehow MACHINES is falsely recognized
        as part of the #66 "IS" concept. My fault,
        I think, because sometimes an "S" confuses
        the audRecog module as it is presently written.

        > 207 : 66 0 66 66 8 67 66 to MACHINES
        > 213 : 67 0 66 66 8 72 67 to SERVE
        > 217 : 72 0 67 67 5 0 72 to MAN

        MACHINES is still being regarded as an "IS" verb,
        and so the apparent verb-verb-noun (8, 8, 5) input
        does not make sense to the AI -- it can not properly
        assign associative tags to the word MACHINES.
        SERVE has somehow become confused with the #67
        "ARE" concept, perhaps because of the final "E".

        OK, the audRecog subroutine is not totally bugfree
        when it comes to distinguishing certain sequences
        of ASCII characters. It may be necessary to not use
        MACHINES or SERVE if these words confuse the AI.
        In past years I have spent dozens of painful
        hours fiddling with the audRecog subroutine,
        and usually the slightest change breaks it worse
        than it was before. It works properly probably
        eighty percent of the time, if not more.
        Even though the audRecog module became suspect
        to me over time, I pressed on for True AI.

        Which, by the way -- "True AI" -- was achieved in
        Mind.Forth on Wed.7.JUN.2006 when I tweaked the
        algorithm for activating nouns and then verbs.

        http://www.mail-archive.com/agi@.../msg03034.html
        is an announcement and detailed description of the True AI.

        By way of a new progress report, I would like to point out
        a few things about why Mind.Forth is so fragile and kludgey.

        Throughout the entire decade of the creation of Mind.Forth,
        the topmost goal has always been to demonstrate thinking,
        and to do so by reducing all the aspects of thinking to
        their simplest necessary manifestations. Therefore in
        Mind.Forth we must only use plural nouns and present-
        tense verbs, as in "birds lay eggs" and "people eat eggs".
        Everything else about language will be an add-on to
        the simple Subject-Verb-Object (SVO) grammar structure.

        Even with such utter simplicity, Mind.Forth can deal
        with tens of thousands of relationships out there in
        the world, as expressed by subject + verb + object.
        (The AI does not yet know about verbs of being.)

        One might object and say that Mind.Forth does not
        know what a "CAT" is or what a "ROBOT" is. True,
        but Mind.Forth can learn facts about CATS or ROBOTS
        and discuss its knowledge and answer questions.

        If and when robot-makers add sensory engrams to the
        concept-nouns in the Mind.Forth knowledge base (KB),
        then Mind.Forth should know the nature of things,
        and not just the relationships among names of things.

        Nevertheless, the ability of Mind.Forth to remember
        relationships and to discuss them, shows AI thought --
        and it is by no means a trivial phenomenon.

        On each webpage of the SourceForge Mind project,
        it is possible to click on the Site Meter button
        and read the access logs about what countries,
        what corporations, what government agencies, and
        so on, are accessing Mind.Forth and related files.
        Since the Mind.Forth breakthrough on Wed.7.JUN.2006,
        the AI has escaped from SourceForge out onto the
        uncharted domains of AI watchers worldwide.
        Your humble programmer here has done the hard work
        of trying out all possible insights for ten years
        until suddenly the algorithms clicked on 7jun2006.
        Now perchance the Mensa-level brainy types will
        take over and improve upon what the AI proves --
        that machines are capable of baby-like thought.
        From my role as an independent scholar in AI
        I will step down to being just another amateur,
        coding my pet AI Minds in Forth and JavaScript.

        Meanwhile, I remain eager to answer questions
        in my off-the-job hours and I appreciate the
        interest in Mind.Forth among my fellow Forthers.

        Sincerely,

        Arthur T. Murray
      • Frank J. Russo
        Arthur T. Murray I see a problem in the following code that keeps my AI from running. jolt @ 16 +! 13jun2006 To widen gap with spurious ... Are you
        Message 3 of 16 , Jun 20, 2006
          Arthur T. Murray

          I see a problem in the following code that keeps my AI from running.

          jolt @ 16 +! \ 13jun2006 To widen gap with spurious
          ----This is a fatal error should it be 16 jolt +! ??
          Are you trying to add 16 to the contents of jolt?


          ---Found in the Nounphrase section
          motjuste @ psi ! \ 1jun2006 For use in Activate module.
          act @ jolt ! \ 7jun2006 So nounAct activates all nodes equally.
          \ jolt @ 8 +! \ 13jun2006 To enhance slosh-over activation.
          jolt @ 16 +! \ 13jun2006 To widen gap with spurious
          associations.
          nounAct \ 7jun2006 To impart a winning activation equally.
          0 jolt ! \ 7jun2006 Safety measure after use of jolt.


          Frank
        • AT Murray
          ... ATM: Yes, I am. I guess I forgot how to do that in Forth. I guess it should be: 16 jolt +! = sixteen jolt plus-store I had better correct my source code
          Message 4 of 16 , Jun 20, 2006
            --- In win32forth@yahoogroups.com, "Frank J. Russo" <fjrusso@...>
            wrote:
            >
            >
            > Arthur T. Murray
            >
            > I see a problem in the following code that keeps my AI from running.
            >
            > jolt @ 16 +! \ 13jun2006 To widen gap with spurious
            > ----This is a fatal error should it be 16 jolt +! ??
            > Are you trying to add 16 to the contents of jolt?
            ATM:
            Yes, I am. I guess I forgot how to do that in Forth.
            I guess it should be:
            16 jolt +! \ = sixteen jolt plus-store

            I had better correct my source code in the next iteration.
            Thanks for pointing out the problem. (See more notes below.)

            >
            >
            > ---Found in the Nounphrase section
            > motjuste @ psi ! \ 1jun2006 For use in Activate module.
            > act @ jolt ! \ 7jun2006 So nounAct activates all nodes
            equally.
            > \ jolt @ 8 +! \ 13jun2006 To enhance slosh-over activation.
            > jolt @ 16 +! \ 13jun2006 To widen gap with spurious
            > associations.
            > nounAct \ 7jun2006 To impart a winning activation
            equally.
            > 0 jolt ! \ 7jun2006 Safety measure after use of jolt.
            >
            >
            > Frank
            >

            In the code snippet above, I am using the "jolt" variable
            to add strength to the proper, non-spurious associations,
            so that the correct associations will be selected more often,
            and the spurious associations will be chosen less often.
            (I wonder why my own Mind.Forth did not have a fatal error.)

            In the last day or two I have updated the
            http://mind.sourceforge.net/m4thuser.html#tutorial
            User Manual on the Mind.Forth Tutorial mode, to let
            users know than they may watch the thinking of the AI.

            http://artilectworld.com/html/mentifex.html describes Mind.Forth.

            Cheers,

            Arthur T. Murray
          • Frank J. Russo
            Arthur, I am running both your code and my variation on the Forth Version: 6.11.09 Build: 2. Still having a problem getting either of them to run for more
            Message 5 of 16 , Jun 21, 2006
              Arthur,

              I am running both your code and my variation on the Forth Version:
              6.11.09 Build: 2. Still having a problem getting either of them to
              run for more than a few seconds when they crash. This is after I
              enter 1 or 2 statements. I usually do something like 'robots are
              smart', ' robots are fast'. This way there is only a single new
              concept in the sentence.

              It appears they are writting over their own code. What I mean is
              if I try to look at (psi) or (en) arrays I get an error, .en or .psi
              fail to function and if I look at aud (.aud) it runs past the 1024
              size up to ~ 1096. This tells me it is over writting its code and I
              suspect it is why (en) and (psi) arrays are trashed. It seems to
              occur after a REJUVENATE cycle. I know, don't use the new version. I
              guess I'd rather dig and find out what is happening. Ideas?

              Frank
            • AT Murray
              ... ATM: I assume that people who don t run Mind.Forth on the W32FOR42_671.zip version of Tom Zimmer perhaps do not have a copy of WinZip to unzip the download
              Message 6 of 16 , Jun 21, 2006
                --- In win32forth@yahoogroups.com, "Frank J. Russo" <fjrusso@...>
                wrote:
                >
                > Arthur,
                >
                > I am running both your code and my variation
                > on the Forth Version: 6.11.09 Build: 2.

                ATM:
                I assume that people who don't run Mind.Forth on the
                W32FOR42_671.zip version of Tom Zimmer perhaps do not
                have a copy of WinZip to unzip the download file,
                or perhaps they already have a large C;\Win32for
                directory and do not wish to have a conflict between
                the last Tom Zimmer version and the newer versions.
                Or maybe you are going to write your audition code
                in the newer Forth that makes full use of Windows.

                I don't use the newer versions of Win32Forth because
                I really don't want to get involved with Windows (I am
                a Commodore Amiga enthusiast forced to use Windows);
                and I am (obviously) not very good at coding Forth.
                The only real Forth in Mind.Forth is the array code.
                The rest of it is really simple switching circuitry,
                designed to imitate neuronal switching in the brain.
                There is probably some simple reason why the AI
                refuses to cooperate with the newer Win32Forths.
                I suspect, for some reason, that the problem is
                probably in the .echo code -- a module which exists
                to grab the robot speech output and hold it steady
                for the human user to look at, because otherwise
                the output would scroll by too fast to be seen.

                As a possible fix, you could comment out all calls
                to .echo and see if the AI then runs properly.
                You could also comment out calls to Rejuvenate
                and run the AI Mind with short life-spans.

                > Still having a problem getting either of them to
                > run for more than a few seconds when they crash.
                > This is after I enter 1 or 2 statements.
                > I usually do something like
                > 'robots are smart', ' robots are fast'.
                > This way there is only a single new
                > concept in the sentence.

                ATM:
                Ideally, a user should use a noun, and then
                a transitive verb, and then another noun,
                such as "robots see people" and then
                introduce new nouns after "robots see...."
                Once two nouns are known, new verbs may be used.
                For instance, "robots see birds".
                Then, "birds see eggs".
                Then "birds lay eggs".
                (The need for one concept at a time is because
                the Parser module is still extremely primitive.)

                >
                > It appears they are writing over their own code.
                > What I mean is if I try to look at (psi) or (en)
                > arrays I get an error, .en or .psi fail to function
                > and if I look at aud (.aud) it runs past the 1024
                > size up to ~ 1096.

                ATM:
                Then maybe the problem is with the array code, which
                I adapted from Brodie's "Starting Forth" but my code
                did not work at first. I asked for help on c.lang.forth
                back in 1998, and I got help from "JET" and Tom Zimmer.
                JET's suggested changes made the arrays work, so I
                have used the same array code ever since.

                > This tells me it is over writing its code and I
                > suspect it is why (en) and (psi) arrays are trashed.
                > It seems to occur after a REJUVENATE cycle.

                ATM:
                That's why I say above, you can comment out all calls
                to Rejuvenate and just operate the AI with a short life --
                as I did from 1998 though 2001, when I coded Rejuvenate.

                > I know, don't use the new version. I guess I'd rather
                > dig and find out what is happening. Ideas?
                >
                > Frank
                >

                ATM:
                Well, I would certainly be glad if some better
                Forther than I am, were to make Mind.Forth cooperate
                with each new Win32Forth version as they come out.

                I would also suggest that Mind.Forth users update from
                http://mind.sourceforge.net/mind4th.html as their source
                for the current 18 June 2006 version or a future one,
                because the new Tutorial mode is extremely important
                for seeing the "deep thought" processes of the AI.

                Please don't everybody hate me for this statement,
                but: Forth community -- IF Mind.Forth really is True AI,
                THEN you might get to work on it and establish your
                precious Hong-Kong-airport-building Forth language
                as THE language for true AI (at least until everybody
                figures out how Mind.Forth achieves intelligent thought,
                and then a more ha-ha "modern" language may win out).
                I mean, Forth was long the language of choice for robots.

                Since the claimed "AI breakthrough" of 7 June 2006, I
                am encouraging Netizens in many venues to download the
                Mind.Forth AI and to run it the Tutorial display mode,
                where the thought processes become visible.

                So remember, Forthers, what Shakespeare said:

                There is a tide in the affairs of men,
                Which, taken at the flood, leads on to fortune;
                Omitted, all the voyage of their life
                Is bound in shallows and in miseries.

                Sincerely,

                Arthur T. Murray
              • Dennis Ruffer
                Arthur, I m not sure if the Win32Forth folks are going to like me talking about this here, but a sleepless night found some of the issues people have been
                Message 7 of 16 , Jun 23, 2006
                  Arthur,

                  I'm not sure if the Win32Forth folks are going to like me talking
                  about this here, but a sleepless night found some of the issues
                  people have been complaining about in your code. I use a 1.67 GHz G4
                  PowerBook, so some of the changes are simply to make your code more
                  compliant with ANS Forth. We might want to move this discussion to
                  comp.lang.forth, but I wasn't sure you were listening there yet.

                  First, the changes:

                  The word NOT is not defined by ANS Forth, so it can either be defined
                  in your code, or I found that you were using it in places that can be
                  done more efficiently in other ways. Such as:

                  remove 0= NOT since it is simply redundant
                  replace = NOT with - which is a little more obscure, but faster

                  You should also replace 0 = with 0= which I see is used quite a bit.

                  The word CLS is not defined in ANS Forth, but PAGE is. I'm not sure
                  how that is going to affect you in Win32Forth, but there's some
                  output issues that we may have to negotiate anyway. I'm seeing a lot
                  of these "###############################WHAT" and I'm not quite sure
                  if that's for real. I supposed I could fire up Virtual PC and check
                  it, but that takes time.

                  Now, one of the bugs that is most certainly causing problems is the
                  following line (1701):

                  LEAVE \ Do not say the low-activation noun.

                  Replace it with this:

                  EXIT \ Do not say the low-activation noun.

                  The former only works inside loops and may not even be doing what you
                  expect.

                  Frank has already discovered the following problem:

                  \ jolt @ 8 +! \ 13jun2006 To enhance slosh-over activation.
                  jolt @ 16 +! \ 13jun2006 To widen gap with spurious
                  associations.

                  which should be:

                  \ 8 jolt +! \ 13jun2006 To enhance slosh-over activation.
                  16 jolt +! \ 13jun2006 To widen gap with spurious
                  associations.

                  Finally, you have an array boundary problem with the CHANNEL
                  children. You only define them to be 1024 elements wide, but you
                  never do boundary checking on the value in t. Therefore, it blows up
                  at this point:

                  Artificial intelligence -- alive and thinking since 23 June 2006.
                  TAB mode. ESCAPE exit. IQ = 8. Time = 954. Cyc = 21 since 23 June 2006.
                  ENTER a positive or negative Subj-Verb-Obj unpunctuated sentence.
                  Normal display-mode is in effect. Press Tab key for other modes.

                  EGO: Boosting self; [ENTER] say something [ENTER]
                  EGO Module recalls the oldest memory --
                  ###############################WHAT
                  Robot: ###############################WHAT

                  I'm not sure what you intend here, so I simply define the following:

                  : t+! ( n -- ) t +! t @ cns @ > abort" t is too large" ;

                  and use that when incrementing t. This doesn't fix the crash, but it
                  at least tells you why.

                  Let me know what you would like to really do about these things.

                  DaR
                • George Hubert
                  ... G4 ... more ... to ... defined ... be ... faster ... sure ... lot ... sure ... check ... the ... you ... activation. ... activation. ... up ... 2006. ...
                  Message 8 of 16 , Jun 23, 2006
                    --- In win32forth@yahoogroups.com, Dennis Ruffer <druffer@...> wrote:
                    >
                    > Arthur,
                    >
                    > I'm not sure if the Win32Forth folks are going to like me talking
                    > about this here, but a sleepless night found some of the issues
                    > people have been complaining about in your code. I use a 1.67 GHz
                    G4
                    > PowerBook, so some of the changes are simply to make your code
                    more
                    > compliant with ANS Forth. We might want to move this discussion
                    to
                    > comp.lang.forth, but I wasn't sure you were listening there yet.
                    >
                    > First, the changes:
                    >
                    > The word NOT is not defined by ANS Forth, so it can either be
                    defined
                    > in your code, or I found that you were using it in places that can
                    be
                    > done more efficiently in other ways. Such as:
                    >
                    > remove 0= NOT since it is simply redundant
                    > replace = NOT with - which is a little more obscure, but
                    faster
                    >
                    > You should also replace 0 = with 0= which I see is used quite a bit.
                    >
                    > The word CLS is not defined in ANS Forth, but PAGE is. I'm not
                    sure
                    > how that is going to affect you in Win32Forth, but there's some
                    > output issues that we may have to negotiate anyway. I'm seeing a
                    lot
                    > of these "###############################WHAT" and I'm not quite
                    sure
                    > if that's for real. I supposed I could fire up Virtual PC and
                    check
                    > it, but that takes time.
                    >
                    > Now, one of the bugs that is most certainly causing problems is
                    the
                    > following line (1701):
                    >
                    > LEAVE \ Do not say the low-activation noun.
                    >
                    > Replace it with this:
                    >
                    > EXIT \ Do not say the low-activation noun.
                    >
                    > The former only works inside loops and may not even be doing what
                    you
                    > expect.
                    >
                    > Frank has already discovered the following problem:
                    >
                    > \ jolt @ 8 +! \ 13jun2006 To enhance slosh-over
                    activation.
                    > jolt @ 16 +! \ 13jun2006 To widen gap with spurious
                    > associations.
                    >
                    > which should be:
                    >
                    > \ 8 jolt +! \ 13jun2006 To enhance slosh-over
                    activation.
                    > 16 jolt +! \ 13jun2006 To widen gap with spurious
                    > associations.
                    >
                    > Finally, you have an array boundary problem with the CHANNEL
                    > children. You only define them to be 1024 elements wide, but you
                    > never do boundary checking on the value in t. Therefore, it blows
                    up
                    > at this point:
                    >
                    > Artificial intelligence -- alive and thinking since 23 June 2006.
                    > TAB mode. ESCAPE exit. IQ = 8. Time = 954. Cyc = 21 since 23 June
                    2006.
                    > ENTER a positive or negative Subj-Verb-Obj unpunctuated sentence.
                    > Normal display-mode is in effect. Press Tab key for other modes.
                    >
                    > EGO: Boosting self; [ENTER] say something [ENTER]
                    > EGO Module recalls the oldest memory --
                    > ###############################WHAT
                    > Robot: ###############################WHAT
                    >
                    > I'm not sure what you intend here, so I simply define the following:
                    >
                    > : t+! ( n -- ) t +! t @ cns @ > abort" t is too large" ;
                    >
                    > and use that when incrementing t. This doesn't fix the crash, but
                    it
                    > at least tells you why.
                    >
                    > Let me know what you would like to really do about these things.
                    >
                    > DaR
                    >

                    No-one minds a discussion about ANSI forth in general here,
                    particularly if it applies to a program that can be made portable
                    with a few mods (personally if I write a console based app I try to
                    make it ANSI copatible; it GUI apps that use W32F/windows specific
                    code that aren't easily portable). I don't use mind-forth myself (too
                    many other fish to fry) but it makes sense to me to make it ANSI
                    compatible so people can try it on other systems.

                    George
                  • Dennis Ruffer
                    ... Cool! ;) I did fire up VPC and found that the # s do not occur in Win32Forth, and thus, it does not crash. Now, to see if I can find out where the # s are
                    Message 9 of 16 , Jun 23, 2006
                      On Jun 23, 2006, at 9:31 AM, George Hubert wrote:

                      > --- In win32forth@yahoogroups.com, Dennis Ruffer <druffer@...> wrote:
                      >>
                      >> <snip>
                      >> I'm seeing a
                      > lot
                      >> of these "###############################WHAT" and I'm not quite
                      > sure
                      >> if that's for real. I supposed I could fire up Virtual PC and
                      > check
                      >> it, but that takes time.
                      > <snip>
                      > No-one minds a discussion about ANSI forth in general here,
                      > particularly if it applies to a program that can be made portable
                      > with a few mods (personally if I write a console based app I try to
                      > make it ANSI copatible; it GUI apps that use W32F/windows specific
                      > code that aren't easily portable). I don't use mind-forth myself (too
                      > many other fish to fry) but it makes sense to me to make it ANSI
                      > compatible so people can try it on other systems.
                      >
                      > George

                      Cool! ;)

                      I did fire up VPC and found that the #'s do not occur in Win32Forth,
                      and thus, it does not crash.

                      Now, to see if I can find out where the #'s are coming from...

                      DaR



                      [Non-text portions of this message have been removed]
                    • AT Murray
                      ... Dennis, thanks for your response. Immediately upon seeing your post on the Web, I have gone off-line to compose a careful answer. ... ATM: I don t think we
                      Message 10 of 16 , Jun 23, 2006
                        Dennis Ruffer (DaR) wrote:

                        > Arthur,
                        Dennis, thanks for your response.
                        Immediately upon seeing your post on the Web,
                        I have gone off-line to compose a careful answer.

                        DaR:
                        > I'm not sure if the Win32Forth folks are
                        > going to like me talking about this here,
                        > but a sleepless night found some of the issues
                        > people have been complaining about in your code.
                        ATM:
                        I don't think we have worn out our welcome (yet),
                        so let's talk WHILE NOT the natives are restless.

                        DaR:
                        > I use a 1.67 GHz G4 PowerBook, so some of the
                        > changes are simply to make your code more
                        > compliant with ANS Forth.
                        ATM:
                        I am coding on an old Windows 95 Packard Bell tower.

                        DaR:
                        > We might want to move this discussion to comp.lang.forth,
                        > but I wasn't sure you were listening there yet.
                        ATM:
                        I look into c.l.f. for "Mind.Forth" or "Mentifex"
                        and I would have to sign up with a news provider
                        to resume posting there. I would feel a strong
                        urge to crosspost just a little into
                        comp.ai.nat-lang and comp.robotics.misc
                        if a pertinent topic came up.

                        DaR:
                        > First, the changes:
                        >
                        > The word NOT is not defined by ANS Forth,
                        > so it can either be defined in your code,
                        > or I found that you were using it
                        > in places that can be done more
                        > efficiently in other ways. Such as:
                        >
                        > remove 0= NOT since it is simply redundant
                        > replace = NOT with - which is a little more obscure,
                        > but faster
                        >
                        > You should also replace 0 = with 0=
                        > which I see is used quite a bit.
                        ATM:
                        In the last four years since publishing AI4U,
                        I have sometimes gone months at a time without
                        coding any Mind.Forth and so I forget a lot.
                        Then I just rush through, using Forth words
                        that I think will work.

                        DaR:
                        > The word CLS is not defined in ANS Forth,
                        > but PAGE is. I'm not sure how that is going
                        > to affect you in Win32Forth, but there's some
                        > output issues that we may have to negotiate
                        > anyway. I'm seeing a lot of these
                        > "###############################WHAT" and
                        > I'm not quite sure if that's for real. [...]
                        ATM:
                        All those pound signs ("#") are not supposed to
                        be there, so such a line of output is not for real.
                        (Each # character probably shows one loop-iteration.)
                        By the way, may I express a general gratitude
                        about Forth? We all know how supposedly hard
                        it is to manipulate strings of text in Forth.
                        To me, I think of Forth as being "atomistic."
                        At first, I thought that the string issue
                        would cause me problems, but it turned out
                        that Mind.Forth did not need to manipulate
                        strings. Instead, the AI works with starting-
                        points and stopping-points in auditory memory.
                        Consequently, there are no strings to manipulate.

                        DaR:
                        > Now, one of the bugs that is most certainly
                        > causing problems is the following line (1701):
                        >
                        > LEAVE \ Do not say the low-activation noun.
                        >
                        > Replace it with this:
                        >
                        > EXIT \ Do not say the low-activation noun.
                        >
                        > The former only works inside loops and may
                        > not even be doing what you expect.
                        ATM:
                        I will try out these various changes, when I
                        next get some time to do serious Mind.Forth coding.
                        For a few weeks, I am working on a special job
                        seven days a week and have little time to code.
                        Then in the comments I will try to give credit for
                        the source(s) of various Mind.Forth improvements.

                        DaR:
                        > Frank has already discovered the following problem:
                        >
                        > \ jolt @ 8 +! \ 13jun2006 To enhance slosh-over activation.
                        > jolt @ 16 +! \ 13jun2006 To widen gap with spurious
                        > associations.
                        >
                        > which should be:
                        >
                        > \ 8 jolt +! \ 13jun2006 To enhance slosh-over activation.
                        > 16 jolt +! \ 13jun2006 To widen gap with spurious
                        > associations.
                        ATM:
                        I must have tried the first line and it did not work,
                        so then obviously I must have compounded my error.
                        Luckily, Forth lets you test these things out
                        at the ok-prompt command line, and I will do so.

                        DaR:
                        > Finally, you have an array boundary
                        > problem with the CHANNEL children.
                        ATM:
                        The CHANNEL array stands for "memory channels."

                        DaR:
                        > You only define them to be 1024 elements wide, but
                        > you never do boundary checking on the value in t.
                        > Therefore, it blows up at this point:
                        >
                        > Artificial intelligence -- alive and thinking
                        > since 23 June 2006.
                        ATM:
                        It warms the cockles, etc., to see that date --
                        which is today -- up on the screen. Until a few
                        months ago, I did not even know that I could fetch
                        the system time and date from Windows. I successfully
                        made guesses about how to do it, and then I found
                        it stated clearly in the package documentation.
                        If I may belabor the point, showing the time and
                        date should figure mightily if we ever get
                        high school or college science classes,
                        or museums, or retail computer stores,
                        or whatever concourse of wandering humans,
                        to put on display something like,
                        "The oldest living True Artificial Intelligence,"
                        because then people will see how old the AI is.

                        > TAB mode. ESCAPE exit. IQ = 8.
                        ATM:
                        Although there is not yet any calculation behind
                        the declaration of the AI IQ level, it is included
                        as a challenge for some AI coder eventually to
                        try to make a good stab at calculating the IQ.
                        (Then watch out, humans, when IQ > genius level.)
                        Meanwhile, since the AI breakthrough claimed at
                        http://artilectworld.com/html/mentifex.html
                        I increment the IQ by one with each upload.

                        > Time = 954. Cyc = 21 since 23 June 2006.
                        ATM:
                        "Cyc" stands for "cycles of rejuvenation"
                        but it is also an oblique reference to the
                        Cyc ontology, a portion of which could now
                        post-breakthrough probably be swallowed by
                        installations of a souped up Mind.Forth --
                        namely the set of all tidbits of knowledge
                        of the form Subject + Transitive Verb + Object.

                        > ENTER a positive or negative Subj-Verb-Obj
                        > unpunctuated sentence. Normal display-mode
                        > is in effect. Press Tab key for other modes.
                        >
                        > EGO: Boosting self; [ENTER] say something [ENTER]
                        > EGO Module recalls the oldest memory --
                        > ###############################WHAT
                        > Robot: ###############################WHAT
                        ATM:
                        Ooh, that's embarassing. Somebody's LiveJournal
                        diary already made fun of that line above.

                        DaR:
                        > I'm not sure what you intend here,
                        ATM:
                        Mind.Forth is slowly tending in the direction
                        of substituting "WHAT" when it lacks knowledge.

                        > so I simply define the following:
                        >
                        > : t+! ( n -- ) t +! t @ cns @ > abort" t is too large" ;
                        >
                        > and use that when incrementing t.
                        > This doesn't fix the crash,
                        > but it at least tells you why.
                        >
                        > Let me know what you would like to really do about these things.
                        >
                        > DaR

                        ATM:
                        Thanks, Dennis, for the very knowledgeable analysis.

                        Firstly, I would like to incorporate the improvements
                        in the Mind.Forth code when my job stint is over,
                        if not sooner, with credit given in the comments.

                        Because I am so slow to code, especially right now,
                        anyone who wishes may improve and Web-host MindForth.
                        Normally one might want an Open-Source project to
                        keep to a standard issue of the software source code,
                        but not so with AI Minds that must evolve and survive.
                        The more variations of Mind.Forth there are, the better.

                        Dennis, Frank, Jos, Alex McD., George -- here is my
                        timetable of what I am trying to do with Mind.Forth.

                        A few more bugs have to be worked out before I can
                        make the first official SourceForge file release.
                        The AI needs to demonstrate the ability to maintain
                        meandering chains of thought, so that concepts in
                        one thought cause the AI to think another thought.
                        Even if the AI thinking process is deterministic --
                        which would be shown by repetitious thinking --
                        there are two important considerations here.
                        Firstly, human interaction will interrupt and
                        obscure the deterministic phenomenon. After all,
                        we human beings may be just as deterministic.
                        Secondly, it should nonetheless be interesting
                        to see the AI think all its possible thoughts,
                        based on all the concepts in its knowledge base.

                        For the AI Mind to think all possible thoughts,
                        more work must be done on having the AI balk at
                        expressing a spurious association. Instead, the
                        AI needs to either stop a fruitless line of
                        thought, or else ask any nearby human a question.
                        The questions are easily triggered when the AI
                        is unable to complete a sentence being generated,
                        substitutes the concept of WHAT in the idea,
                        and perhaps reformulates the idea as a question.
                        Note that this process implements machine learning.

                        An official SourceForge "mind" project file release
                        is important for several reasons. After five years
                        since 2001, if I do not make a file release pretty
                        soon, my project may get kicked off of SourceForge.
                        If "Mind" has a growing set of file releases, it
                        will compete more effectively with other projects.
                        One competes for memetic, Darwinistic purposes.

                        Although initially I thought that I would "solve
                        AI" software-wise in Mind.Forth and only issue
                        the claimed solution in a Zipped file release,
                        the claimed breakthrough of 7 June 2006 has
                        already let the cat out of the bag, so to
                        speak -- although people may dispute the claim.
                        Now I view a series of SourceForge file releases
                        more as an archive of the Mind.Forth waypoints.

                        Once Mind.Forth has become stable and robust
                        enough to make the SourceForge file release,
                        then I am extremely eager to update the
                        http://mind.sourceforge.net/Mind.html
                        JavaScript version to the level of Mind.Forth,
                        because not only is there a substantial
                        installed user base of the JavaScript AI,
                        but it is constantly growing larger.
                        It is so ridiculously easy to click
                        on a link to Mind.html and run the AI,
                        as opposed to downloading W32FOR42_671.zip
                        and the mind4th.html code to run Mind.Forth,
                        that the JavaScript AI becomes all-important.
                        So, first Mind.Forth, then Mind.html, then
                        back to Mind.Forth or Mind.perl or whatever.

                        Bye for now (gotta go slave for Mammon).

                        Sincerely,

                        Arthur T. Murray
                      • Dennis Ruffer
                        Arthur, I does sound like you have a plan, and even though I have the ability to play at the moment, I d prefer the pay check that goes along with a deadline.
                        Message 11 of 16 , Jun 23, 2006
                          Arthur,

                          I does sound like you have a plan, and even though I have the ability
                          to play at the moment, I'd prefer the pay check that goes along with
                          a deadline. I'm trying to track down the #'s right now. In between
                          answering job leads, I'm sure I will figure it out eventually. I did
                          an expert system 20 some years ago, so this holds some curiosity for
                          me, even though I'm way behind on the technical details. Once I have
                          something working, I'll put a file onto my web site and post an
                          announcement in comp.lang.forth, letting you know here too. When you
                          get time, you can join in and carry it over to the other news
                          groups. I can probably field some of the questions from the Forth
                          group, but I'd be hard pressed on the other groups. Getting this out
                          as a working ANS Forth application will hopefully, get you quite a
                          few comments from our community that you aren't getting here yet.

                          I may do a little re-factoring for you too. I noticed the string
                          issue, and I can tell that Forth is not your "native" language.
                          Forth has a reputation of being a write-only language, but I think I
                          can clean this up so it will be more readable. I commend you for
                          choosing to use Forth in your research, and I hope I can get more of
                          us involved in it. I've seen all to many Forth projects abandoned
                          once the developers decided to take their project "mainstream". Word
                          Perfect comes to mind, and GE did a locomotive diagnostic system
                          before I did my expert system for diagnosing cars. It's good to see
                          someone try it from the other way around.

                          DaR
                        • Frank Russo
                          If there is another place to carry on discussions of programming Mind.f please let me know. I have a lot of questions but do not want to bog down the
                          Message 12 of 16 , Jun 23, 2006
                            If there is another place to carry on discussions of programming Mind.f please let me know. I have a lot of questions but do not want to bog down the win32forth group with them.

                            Frank


                            ---------------------------------
                            Do you Yahoo!?
                            Next-gen email? Have it all with the all-new Yahoo! Mail Beta.

                            [Non-text portions of this message have been removed]
                          • Dennis Ruffer
                            Arthur, I found the reason for the # s and the cause of the CHANNEL overflow. Line 1615 was: rv @ 0 aud{ @ 32 Using a blank SPACE-bar. and it
                            Message 13 of 16 , Jun 23, 2006
                              Arthur, I found the reason for the #'s and the cause of the CHANNEL
                              overflow.

                              Line 1615 was: rv @ 0 aud{ @ 32 > \ Using a blank SPACE-bar.
                              and it should be: rv @ 0 aud{ @ 32 - \ Using a blank SPACE-
                              bar.

                              Otherwise, rv overflows the aud{ CHANNEL and it picks up a #.

                              This appears to be another one of those things that should not have
                              worked, even in Win32Forth.

                              The problem now is that it doesn't give you enough time to type
                              anything. I'll have to look at the input routines to see if I can
                              clean that up some.

                              DaR
                            • AT Murray
                              ... ATM: http://www.914pcbots.com among its Forums has an A.I. Zone that was created last year specifically for discussion of the Mind.Forth and Mind.html
                              Message 14 of 16 , Jun 23, 2006
                                --- In win32forth@yahoogroups.com, Frank Russo <fjrusso@...> wrote:
                                >
                                > If there is another place to carry on discussions
                                > of programming Mind.f please let me know.
                                ATM:
                                http://www.914pcbots.com among its "Forums" has
                                an "A.I. Zone" that was created last year specifically
                                for discussion of the Mind.Forth and Mind.html project.

                                Frank, you will probably feel much more at ease if
                                you register at 914pcbots.com and start discussing
                                Mind.f there. The site welcomes our AI message
                                traffic, and I am quite eager to see some
                                http://mind.sourceforge.net/motorium.html routines
                                get coded in Win32Forth.

                                I will keep an eye out there for any Mind.f posts
                                and try to respond to them.

                                Back in August of 2005 I received an AI e-mail from
                                a fellow "DisQ" in The Netherlands. DisQ wanted to
                                discuss AI, and I offered him three possible forums.
                                DisQ chose the 914pcbots forum, where he and I then
                                filled up page after page with our exchange of ideas.
                                That discussion between DisQ and me is still there
                                on the site, and somehow it racked up thousands of
                                page-views. So, Frank, maybe I'll see you there.

                                > I have a lot of questions but do not want
                                > to bog down the win32forth group with them.
                                >
                                > Frank

                                So as not to bog it down further, I would like to
                                reply a little to messages #11419 and #11422 from
                                Dennis (DaR).

                                The idea of having the Mind program out on the Web
                                in gForth is quite exciting. I look forward to it.

                                I am gathering all these messages as text files
                                for me to study, the next time I code Mind.Forth.

                                It would be good to identify a line of code not
                                only by line number (which may shift over time),
                                but also by what mind-module the code is in.

                                For DaR, about letting the user have enough time
                                to type input into the AI -- the input routines
                                have some counters in them -- specificially the
                                "rsvp" variable as used in Audition and Listen,
                                to slow down the AI enough for human input.

                                If a Mind.f coder has a computer with a really
                                fast CPU chip, then the coder is free to increase
                                the "rsvp" variable so as to slow down the inputting.

                                A minor feature of Mind.Forth is that, after the
                                AI uses "WHAT" to ask the user a question, the
                                rsvp variable is momentarily adjusted so as to
                                give the user a longer chance to respond. No,
                                wait. It's the other way around. When there has
                                been no human input for an arbitrary number of
                                cycles, the rsvp variable is decremented so that
                                the AI will think on its own a lot faster and
                                not wait unbearably long (observer POV) to think.
                                But if the AI suddenly decides to ask the user
                                a WHAT question, the rsvp variable is incremented
                                so as to slow the AI down again to suit the user.

                                A prime consideration here is that the AI should
                                be interesting to people who watch it think.

                                Anyway, gotta sleep, gotta work 7 days a week.
                                Bye for now.

                                Sincerely,

                                Arthur T. Murray (user ATM on 914pcbots)
                              • AT Murray
                                ... On 14 June 2006 I responded above to a post by FJR. Yesterday -- a year and a half later -- I finally tracked down and eliminated the bug in question.
                                Message 15 of 16 , Dec 6, 2007
                                  --- In win32forth@yahoogroups.com, "AT Murray" <mentifex@...> wrote:
                                  > OK, the audRecog subroutine is not totally bugfree
                                  > when it comes to distinguishing certain sequences
                                  > of ASCII characters. It may be necessary to not use
                                  > MACHINES or SERVE if these words confuse the AI.
                                  > In past years I have spent dozens of painful
                                  > hours fiddling with the audRecog subroutine,
                                  > and usually the slightest change breaks it worse
                                  > than it was before. It works properly probably
                                  > eighty percent of the time, if not more.
                                  > Even though the audRecog module became suspect
                                  > to me over time, I pressed on for True AI.

                                  On 14 June 2006 I responded above to a post by FJR.
                                  Yesterday -- a year and a half later -- I finally
                                  tracked down and eliminated the bug in question.

                                  http://mind.sourceforge.net/audrecog.html --
                                  the auditory recognition "audRecog" module --
                                  was sometimes malfunctioning by misrecognizing
                                  one word of input as the word of a different
                                  concept, usually if both words ended the same.

                                  The solution was to base the selection of an
                                  auditory recognition upon finding the candidate
                                  word-match with the highest incremental activation,
                                  rather than merely taking the most recent match.

                                  By what is known as serendipity or sheer luck,
                                  the present solution to the old audRecog problem
                                  opens up a major new possibility for a far more
                                  advanced version of the audRecog module -- one
                                  that can recognize the concept of, say, "book"
                                  as input of either the word "book" or "books."
                                  Since audRecog now recognizes a word by using
                                  incremental activation, it should not be too
                                  hard to switch the previous pattern-recognition
                                  algorithm into one that no longer insists upon
                                  dealing only with entire words, but can instead
                                  recognize less than an entire word because so
                                  much incremental activation has built up.

                                  The above message may not be very crystal clear,
                                  and so it is posted here mainly as a show of
                                  hope and as a forecasting of what may yet come.

                                  http://mind.sourceforge.net/mind4th.html is
                                  the original Mind.Forth with the new audRecog.

                                  http://AIMind-I.com is FJR's AI Mind in Forth.
                                  (Sorry I can't help in the matter of timers.)

                                  ATM
                                  --
                                  http://mentifex.virtualentity.com/mind4th.html
                                • Mentifex
                                  ... Yesterday I debugged a serious fault in the http://code.google.com/p/mindforth/wiki/AudRecog module which had been there since the dawn of
                                  Message 16 of 16 , May 9 3:12 PM
                                    --- In win32forth@yahoogroups.com, "Frank J. Russo" <fjrusso@...> wrote:
                                    >
                                    >
                                    > As I struggle to figure out what is going on
                                    > I periodically look at the data store / accumulated.
                                    >
                                    > Below is a copy of the .en / .psi
                                    >
                                    > There should be 4 new concepts, man, created, serve
                                    > and machines but it appears machines and serve are
                                    > not taken as new concepts or am I interpreting this
                                    > incorrectly> By the way I turned OFF thinking so
                                    > as not to disturb the list.
                                    >
                                    > 154 : 44 0 0 0 6 0 44 to IN
                                    > 157 : 50 0 0 0 5 0 65 to ME
                                    > 163 : 72 0 0 0 5 73 72 to MAN
                                    > 171 : 73 0 72 72 5 39 73 to CREATED
                                    > 178 : 39 0 73 73 5 0 39 to ROBOTS
                                    > 185 : 39 0 39 39 5 67 39 to ROBOTS
                                    > 189 : 67 0 39 39 8 66 67 to ARE
                                    > 198 : 66 0 67 67 8 0 66 to MACHINES
                                    > 207 : 66 0 66 66 8 67 66 to MACHINES
                                    > 213 : 67 0 66 66 8 72 67 to SERVE
                                    > 217 : 72 0 67 67 5 0 72 to MAN
                                    > time: psi act jux pre pos seq enx
                                    >
                                    > Help me to understand.
                                    >
                                    > Frank

                                    Yesterday I debugged a serious fault in the
                                    http://code.google.com/p/mindforth/wiki/AudRecog
                                    module which had been there since the dawn of
                                    http://www.scn.org/~mentifex/mindforth.txt AI.

                                    Recently while coding and troubleshooting the new
                                    http://cyborg.blogspot.com/2010/04/enpronoun.html
                                    module for the substitution of English pronouns
                                    ("he, she, it") in place of English nouns, I
                                    found that the old AudRecog module could not
                                    distinguish between "man" and "woman" as
                                    separate nouns and concepts. Now the problem
                                    seems to be fixed and the free AI source code
                                    has been uploaded to the link given above.

                                    Arthur
                                    --
                                    --
                                    http://cyborg.blogspot.com
                                    http://doi.acm.org/10.1145/307824.307853
                                    http://doi.acm.org/10.1145/1052883.1052885
                                    http://www.scn.org/~mentifex/mindforth.txt
                                  Your message has been successfully submitted and would be delivered to recipients shortly.