Mind.forth: What does it do?

Mentifex mentifex at scn.org
Sun Dec 6 14:49:36 EST 1998

John Passaniti "jpass at rochester.rr.com" wrote on Sun 06 Dec 1998:

> Mentifex wrote in message <3669b08f.0 at news.victoria.tc.ca>...
>> Since the e-mail asks about the documentation of Mind.forth, here 
>> is the plan.  Mind.forth is being written into a 30K data space,
>> which corresponds roughly both to the file editing limit on Geo-
>> Cities.com and to the 1024 X 30 size of thirty MVP-Forth screens.
>> Part of the plan is to keep 30K Mind.forth small enough for robots.
> What does the size of the *source* have to do with the desire to
> keep the *object* small enough for robots to execute?

  In the non-compiled but rather interpreted Amiga public-domain
  Fred Fish #977 MVP-Forth that I am using, there is only the source.
                                                         Why are you
> further restricting the size of your source (and documentation)
> by the unfortunate 30k limit of GeoCities' editor?

  Here in Seattle, the generous humanity-loving Microsoft Corporation
  has donated ten Windows NT Internet-Explorer workstations to the
  local public library, which lets me print ten free pages per day --
  conveniently the size of a 30-screen ~30K Mind.forth AI program.
                                                      Why not simply
> edit offline with your fave editor, upload to GeoCities, and enjoy
> not only the efficiency of an editor you know and love, but the
> freedom to express yourself without arbitrary text limits?

  I chafed at first under the 30K limit of the Albert-Schweitzer-
  benevolent GeoCities, but came to relish the more focused hit-counts.
> If GeoCities limits you to only using their editor, go elsewhere.
> Hell, I'm sure that if you asked, you could find numerous people
> who would be happy to provide you free web space so you could bypass
> the limitations of GeoCities.  If nothing else, you wouldn't have
> to suffer with GeoCities slapping their "brand" at the bottom-right
> of every page, and the annoying pop-up window that also appears.

  In Internet Explorer, go to "security" and turn that stuff off.

>> However, each of the thirty Mind.forth screens already has its own
>> http://www.geocities.com/Athens/Agora/7256/screen15.html etc. Web
>> page with a 30K space for thorough explanation and code-comments.  
>> The plan is to document each screen of code as it gets written,
>> so that eventually absolutely nothing in Mind.forth is unclear.         

> One way to ensure clarity is to choose words that are clear, so
> that your readers don't have to contend with buzzphrases, neologisms,
> foreign phrases, or obscure references.  If your goal is to make
> others understand your effort, use words to facilitate that goal.

> Here's an example:  kioku.  Every time I came across this word
> in your source code, I had to ask myself what the word meant.
> I also had to ask what the "{" at the end meant, since there wasn't
> a matching bracket to close it.

  The array "kioku{" is my attempt to conform to the conventions
  of the Forth Scientific Library (FSL).  Apparently I am supposed
  to write code incorporating the matching bracket "}" into the
  instructions for querying the array, but I have not done so yet.
                                   It finally became enough of a
> useless distraction from my understanding of your source code that
> I typed that word into Alta-Vista, and eventually discovered it is
> Japanese for "memory."  Thankfully some company was selling "kioku
> candles" or I might never have known.  Lovely candles, but knowing
> this provides *no* additional clarity.  Does kioku have some additional
> meaning, or are you just impressing us with your Japanese vocabulary?

   I had to treat her to an East Indian tandoori dinner with mango
   ice cream after she sat several hours with me and translated the
   ASCII mind-diagram into Japanese.  Luckily she retained no rights,
   and I could dangle the Mentifex AI design before the Japanese
   geniuses who may not invent the VCR or the pop-tart but who really
   go out there and climb Mount Suribachi in perfecting such products.

> I now have to map in my mind the symbol "kioku" to the common word
> "memory."  Why must I bother doing this?  Why can't you simply
> choose names that are clear?

  It's a trifecta trade-off, John.  Just by using that one Japanese
  word at the heart of the Mind.forth AI program, we cause engineers
  all over Honshu and Hokkaido to huddle around their monitors late
  into the night, even beyond the Shinkansen train departures, oohing
  and ah-so-ing over Mind.forth and its Vernor Vingean possibilities.

> When I read your messages, source code, and comments, I don't feel
> I'm gaining much from the experience (other than adding to my lexicon
> of useless foreign phrases I can use to win trivia contests).
> I for example thank your Mind.forth project for bringing me the word
> "mekos" which sounds either German or Greek, and which apparently
> means something like the "size" or "length."  Some might wonder why
> "size" or "length" wouldn't have been a better word to use in your
> source code, but apparently you don't.

  Well, Doctor, I fear using a word like "length" because in Micro-
  soft AmigaBASIC it was a reserved word.  The Greek "mekos" means
 "length" but is a desirably *short* word.  As long as I clue people
  in under the Forth comments, the result can be a positive-win game.

> I may not be well-read with regard to AI, but comparing your
> ramblings to that of what I have read (books like Randall D. Beer's
> "Intelligence as Adaptive Behavior" and Jonathan H. Connell
> "Minimalist Mobile Robotics") manage to *not* overwhelm the
> reader with buzzphrases and neologisms, but more importantly
> make an effort to express their concepts in clear English.
> And they aren't just spewing AI theory.  They're talking about
> their real-world implementations, their experiments, and what
> they have discovered.

  Having gotten nowhere for twenty years with theory, I code
  Mind.forth now as the implementation and experiment of necessity.

> Practicality is a wonderful thing.  Try it.

>> Your e-mail laments the choice of Forth, but I have compelling
>> reasons to do this work not first in Forth but *second* in Forth           
>> after having already released the program on 26nov1994 as
>> Mind.REXX.

> There is nothing terribly wrong with Forth.  I love the language,
> but I also realize that expressing your code in Forth or REXX
> limits it to programmers of those two (marginalized) languages.
> I can't see why you couldn't express it in pseudo-code,

  At the University of Washington and at U Cal Berkeley (one week),
  I was a Greek and Latin major, not a computer science student.
                                                          so that
> it was open and implementable in whatever language was best suited
> for the problem being solved.  Forth is a great language, but if
> your ideas stand alone, they should be able to be expressed
> in a language independent manner.

>> It's those other, brighter Forth programmers whom I am counting    
>> on to port Mind.forth into programming languages that you prefer.
>> They won't make the effort until they see functionality developing
>> in Mind.forth -- but even the Mind.rexx program *did* function.

> I (and I am sure others) would love to port Mind.forth to other
> programming languages, but all we (or at least, I) would be doing
> at this point would be transliterating your Forth code into another
> language.  Without a deeper understanding of what the code is
> supposed to do (and *how*) it is just a mechanical exercise,

  Hopefully, before too far into 1999, Forth coders will get Mind.forth
  up and running on their own machines and *show* it to interested
  parties.  (There is no incentive to grok Mind.forth until it starts
  carrying on conversations.)  Then the original Forth coders and the
  observing devotees of Java, C, Prolog etc. will carry out a port
  of both the *structure* of Mind.forth and of the AI *theory*.
> much different from writing a compiler that takes Java bytecodes
> and outputs to some other machine-- there is no real understanding
> of the program being translated, just a small local understanding of
> how to map symbols from one space into another.

> You could do a lot for your theory of mind by simply (and I mean
> *simply*) stating it.  I've seen your incomprehensible diagram
> (which incidentally looks surreal with the proportional-width
> fonts used by many people these days to view their mail).

  Jorn Barger graciously taught me how to use < PRE > and < /PRE >
  to make the mind-diagram display properly on Web sites (q.v.!).
> Apparently, your diagram tells me everything I need to know to
> understand your concept?

>  /^^^^^^^^^^^\ Syntax Strings Together a Thought /^^^^^^^^^^^\  
> /visual memory\           ________   semantic   /  auditory   \
>|      /--------|-------\ / syntax \  memory    |episodic memory|
>|      |  recog-|nition | \________/------------|-------------\ |
>|   ___|___     |       |     |flush-vector     |    _______  | |         
>|  /image  \    |     __|__  / \  _______       |   /stored \ | |        
>| / percept \   |    /     \/   \/ Verbs \------|--/ phonemes\| |
>| \ engrams /---|---/ Nouns \    \_______/      |  \ of words/  |
>|  \_______/    |   \_______/-------------------|---\_______/   |

> Yeah!  Of course!  Now I see everything!  <ahem>

  No!  Read some of the theory docs, then trace the info flow above.

> Am I missing something because I don't have a deep background in
> AI, or am I missing something because you are relying on a bizarre
> ASCII diagram to express a concept that is better written?

  The theory is intricate, John.  Twelve years of pain, two years of
  avalanche ideation brought forth the linguistic theory of cognition.  

> You are an infuriating guy, Arthur.  There are moments of lucidity
> where what you write is clear, immediately sensible, and so lacking
> in pretentious nonsense that I get the feeling you are on to something
> profound (or at least useful).  Then there are the other moments where
> you write like some goofy postmodernist, hell bent on obscuring the
> meaning of words as if it was all some Dadaist experiment.  It isn't.

> Okay, maybe you find such use of language fun and challenging.
> Reading over the first part of your "The Art of the Meme" presents
> someone who might win at final Jeopardy, but I'm not sure if that
> is your goal.  Well, you know what 

  "Art of Meme" is just a lark to trump my coeval's "Art of the Deal."

> Here's my humble suggestion:  Develop a split personality.
> Let one side of you (let's call him "Arthur") focus on bringing
> Mind.forth and your theory of mind into sharper focus.  Arthur
> would care more about providing a solid foundation for his ideas
> on which others could prove (or disprove) the validity of your model.
> Arthur would care more [about?] expressing clearly his ideas rather
> than repeating his ASCII drawings which apparently haven't taken
> the world by storm.

> The other side of you (let's call him "Mentifex") can work
> separately to write with maximum pretension, using all the
> best French and German phrases you can find.  Mentifex can
> name-drop obscure 19th century philosophers in the same sentence
> as pop-culture references, giving a Dennis Miller kind of
> effect (only with a more technological edge).  And Mentifex can
> not only promote the ASCII drawing representing his theory of mind,
> but he can add to it, with crude bubbles filled with phrases like
> "spaghetti paradox resolution unit" and "chewy hypersensory input
> matrix quantifier."  In short, Mentifex can work on being the
> beat-poet he evidently wants to be, possibly being the William
> S. Burroughs of the 21st century.  [ No, the Alexander Dubcek. ]

More information about the Neur-sci mailing list