Mind.html is the JavaScript tutorial version of Mind.Forth
artificial intelligence for robots. Because both AI programs
were initially released as essentially the same artificial mind
coded in two different programming languages, almost the
same User Manual is provided mutatis mutandis for the
early releases of both AI minds.
Each species of the AI mind has a different purpose and a different
raison d'etre. The Forthmind actually came first, because
there was demand for an artificial mind coded in what was historically
a major programming language for amateur robotics, namely the Forth
programming language. The JavaScript version came into existence for
the sake of the extreme simplicity of running (and distributing) the
AI mind by merely clicking on a
Mind.html as a Web link. Tutorially,
Mind.html is more powerful with all the flashy features of JavaScript,
but robotically, or as the brain for a living, thinking robot, Mind.Forth
is open to vast improvement in AI features far beyond what is possible
in JavaScript. Where Mind.html must always remain a demonstration of
the AI mind, Mind.Forth may give rise to a nation of masses of AI minds.
In the early releases of Mind.html and Mind.Forth, sometimes one version of
the AI will not only be catching up to advances made in the other version,
but by sheer momentum will go somewhat further than the other version,
which in turn may then catch up to and surpass the co-evolving version.
Separate branches of mentifex-class AI development, such as
Franks AI Mind
by the Forth programmmer
Frank J. Russo, may have features far beyond the
original Mind.Forth but may be in need of tweaking to take advantage of
algorithmic improvements made in the primeval AI after the origin of species.
AI enthusiasts who want always to have the very latest emergence of AI
may find it worthwhile to learn both Forth and JavaScript so as to be able
to develop AI in either language or to follow the
AI Algorithm Steps for
coding a different species of AI mind in a different programming language.
Maybe you have heard that there is an artificial intelligence coded
in JavaScript, or maybe someone has shown you the Tutorial AI Mind
running inside the browser called Microsoft Internet Explorer (MSIE)
on a Windows computer. Either you come to the AI Mind, or, better yet,
the AI Mind comes to you.
2.1 Obtaining
Mind.html
Just click on the link above, or ask someone who already has the AI
to install Mind.html on your computer. Different Web sites may have
different versions of the AI at different stages in AI Mind evolution.
2.2 Downloading
Mind.html
After clicking on the weblink above so that the AI Mind runs in your
Microsoft Internet Explorer (MSIE) Web browser, you halt the AI and
you capture the AI source code file by dropping down from the menu
item "View" at the top of your browser screen. You choose the option
View /Source by letting go of the mouse when "Source" is highlighted.
Then a large text file of the AI program opens up on your screen,
and you save the file as "Mind.html" on your computer hard disk.
2.3 Distributing
Mind.html
Students at high school are free to make copies of the JavaScript
Mind.html for MSIE software and to distribute the artificial AI Mind with
or without changes made to the AI source code file, which is easy to change
superficially and more difficult to change algorithmically. For instance,
any student who installs the AI at a new school or college is free to
customize the new AI installation with the name of the new school and with
other details specific to the school, the class, the instructor, or whatever.
An up-to-date print-out of this AI User Manual may be positioned near the
computer on which users will meet and interact with the artificial Mind.
Since this manual is in the public domain, it may be changed ad libitum.
As a further help for users (and for the originating open-source AI project),
a
paperback or
hardbound copy of the
AI4U textbook of artificial intelligence
may be kept in close proximity to the AI Mind's computer so that interested
users may have the immediate opportunity to study the make-up of the AI Mind.
Other instructional materials, such as books on programming in JavaScript,
may also be valuable resources to keep on hand in the AI Mind laboratory.
Instructors who teach and write curricular materials on a particular
programming language may discover pedagogical and even financial success
if they couch their various code examples and homework problems in terms
of porting
Mind.html or
Mind.Forth into their target programming language.
First you start the JavaScript AI Mind by clicking on it.
You may also host the AI Mind on your own hard disk
or your own Web page and then bring the Mind to life by
running MSIE, then using "File/ Open" with the AI filename,
or by clicking on the Seed AI link that you have transplanted.
Notice at the
end of this User Manual that there is a link to
C:\Windows\Desktop\Mind.html that will work only when
you have made your own local copy of the JavaScript Seed AI.
You have the opportunity to spread your artificial intelligence
by planting Mind.html AI on as many computers as possible.
If the computer that you use is shared by a group of users,
other people may stumble upon the ghost in the machine and
may accept the challenge of programming a more powerful AI.
If you are a manufacturer or distributor of computers, you
are free to install the JavaScript Seed AI on every desktop.
You are the AI guru for your organization and you are wired.
To operate Mind.html, first choose any desired options in the
Control Panel,
such as [ ] Transcript or [ ] Tutorial or [ ] Diagnostic, etc.
You will learn to make a quick selection of, say, Transcript mode
so that everything said by either you or the robot will appear
at least on the Transcript screen and possibly on hardcopy paper --
if you print out the resulting Web page as a record of your session.
If you need free support for your AI user experience from Usenet,
you may run the AI in Transcript mode and use the computer mouse
to drag-and-drop the conversation into your message for Usenet --
where free support is not guaranteed but where the best experts are
glad to help you and where your message helps the
Seed AI to spawn.
You then enter a simple English sentence into the AI input, such
as, "cats eat fish" or "you understand me" -- with no punctuation.
The idea is to build up a knowledge base (KB) of things that
the AI knows, so that you may discuss these things with the AI
or query its knowledge base to see how well the AI operates.
Although you may find a ready-made ontology out on the Web,
with the free, public-domain JavaScript or Forth AI for robots
you build up an original ontology by teaching the AI ordinary facts,
as if the AI Mind were a baby learning from you on a need-to-know
basis in order to survive in the world and discover new knowledge.
Users who are also programmers are welcome to enhance the AI Mind
by feeding it the common everyday knowledge contained in ontologies
found on the semantic Web, so that any AI may rapidly grow into a
cyborg superintelligence, because the AI software conceptualizes
whatever knowledge it acquires in a process of machine learning.
One way to query the KB is to switch from one topic to another,
then go back and ask the AI (query the KB) about an old topic.
Questions may be of the same form as, "do you know me," or may
use interrogative words such as, "who are you" (no question mark),
or, "what do the robots see" (in lower case with no punctuation).
We converse with the AI using lower case and no punctuation
because we are using the computer keyboard to simulate the sounds
of human speech. Any use of punctuation might confuse the AI
composed of very brittle and not yet fault-tolerant software.
When the AI software hears the question words "who" or "what,"
the oldConcept module (for recognizing known words) suppresses
the activation of "who" or "what" to such a degree that the Mind
must "fill in the blanks" of "who" or "what" by remembering the
answer to the question. If question-words were not subactivated,
then the AI might be unable to remove "who" or "what" from the
response and might parrot back, e.g., "THE ROBOTS SEE WHAT,"
instead of, for example, "THE ROBOTS SEE THE TARGETS."
The topic-switching technique might produce a transcript as follows.
Human: cats eat fish
Robot: CATS EAT FISH
Human: boys play games
Robot: BOYS PLAY GAMES
Human: what do cats eat
Robot: CATS EAT FISH
Human: boys
Robot: BOYS PLAY GAMES
Of course, the primitive AI may confuse its concepts and
make some wildly erroneous statements. More work must
be done to strengthen the AI Mind and make it smarter.
When you start the JavaScript AI, it innately knows a few
dozen valuable words coded into the English bootstrap module.
It is best if you increase the vocabulary of your robot AI
with only one new word per input sentence, because the AI
has to parse your input and decide whether each unfamiliar
word is a noun or a verb. (It may not yet recognize adjectives.)
One of the most interesting features of the robot AI becomes
visible when you let the JavaScript Seed AI fill up its available
memory space and forget things on purpose in Rejuvenate mode.
As time goes by, the AI shows the current value of time "t"
in the FYI (for your information) space below the AI output,
along with a count of how many "rejuvenations" have been made.
Until the lifelong memory is almost full, no rejuvenations are
even necessary, but, once a certain point is reached, the AI
begins to rejuvenate its Mind over and over again by forgetting
the very oldest memories in order to make room for new memories.
The ability to rejuvenate the Mind makes your robot potentially
immortal -- barring death by misadventure or the user ending the AI.
As the Mind.html AI becomes more sophisticated, it may be interesting
to keep the AI in Transcript mode and conduct psychological
tests of the reasoning processes at work in the AI Mind.
Of course, more linguistic and especially logical features
are being coded into the AI so that it may handle negation
of sentences, question forms, pronouns, and so on.
For many years it seemed that the most sophisticated thought
that we might expect from the AI would be a demonstration of
the ability to answer "why?" questions with "because" statements.
We are there now. The JavaScript AI already knows the words
"why" and "because" as elements contained in the English bootstrap.
We have coded a low-key activation of "because" whenever "why"
is encountered in the input stream, so that the AI will have not
a certainty but a tendency to use the conceptual word "because"
in whatever response it makes to a question containing "why."
Then a philosophically very strange phenomenon may occur.
As programmers and as neurotheoreticians we can not force
the AI to reason its way through to answer grand "why" questions;
we can only hope that the AI is thinking the thoughts that happen
to provide logical "because" answers to any input "why" questions.
The strange thing is that human beings probably do the same thing.
As a baby mind matures, he she or it answers questions more maturely.
Even in the earliest releases of the Mind you may experiment
with how the AI differentiates between "you" in reference to
itself and "you" as the person to whom the AI Mind is speaking.
You may name the AI by telling it its own name: "you are Andru"
or "you are Barba" or whatever. Then you may ask, "who are you."
The AI may not immediately respond with the requested information,
if it is thinking about something else, so you must wait patiently.
You should not use any punctuation or case-shifting while you
are conversing via keyboard with the AI Mind, because the AI
is like a robot with a pair of ears that can hear only sounds,
not question-marks ("?") or [SHIFT] keys.
You should not try to use the backspace key to correct a mistake,
because the AI Mind is hard at work trying to understand you
while you type in each word, just like a human being
listening to you in real life. As with another human being,
simply repeat yourself if you make a mistake in what you say.
When Mind.html first runs, it may be in whatever display mode
has been set as the initial default mode by an AI programmer.
Clicking on the Tutorial check-box selects the tutorial mode.
Pressing the [Tab] key will cycle Mind.html through the
various display modes until it reaches the Tutorial mode
that shows you how the AI Mind is thinking internally.
3.2.1 The Old Messenger Tutorial -- A Sequence of Messages On-Screen
At the beginning of 2005, the tutorial display of the AI Mind in JavaScript
was nothing more than a slow rotation through a sequence of tutorial messages
on-screen, and Mind.Forth AI for robots did not even have a tutorial mode.
Then Mind.Forth evolved into having not a messenger tutorial but a
dynamic tutorial, which evolved even further in the JavaScript AI.
The messenger tutorial is now so obsolete that it may eventually be
eliminated in order to open up more on-screen real estate for the dynamic
thought-process tutorial. If your version of the AI Mind still has a
messenger-style tutorial with rotating messages, please be advised that
you can do some sophisticated operations with the messenger feature.
Since the human user may change display modes by clicking on a new
check-box in the AI Mind Control Panel, the tutorial messages have
been numerically keyed to jump instantly to the first of several
mode-specific messages that explain or teach the selected display-mode.
If you are the AI lab assistant and you notice that students do not
understand something about one of the display modes, you may go into
the JavaScript AI source code and you may make any indicated changes.
If you are teaching artificial intelligence in a "foreign" language
other than English, you may simply replace all the English sentences
with messages in your target language. You could also create a bilingual
or trilingual tutorial display.
Since there is practically no limit to how many tutorial messages may
be coded into the AI Mind for display by rotation, you are free to add
special messages about your class, your AI/robotics club, your school,
your Web site or whatever. You are free to sell advertising inside the
messenger tutorial display of artificial minds that you release into
the Darwinian Internet jungle of the survival of the fittest.
3.2.2 The New Dynamic Tutorial -- Spreading Activation from Concept to Concept
The dynamic tutorial display goes beyond static tutorial messages
to show you the processes of deep thought in the artificial mind.
You see the machine intellect seize upon a noun as a subject and
then select an action-word verb associated with that subject-noun.
Next you see the combination of subject and verb cooperate to find
a direct object of the chosen verb. If the AI Mind is not able to
find a fitting, logical, non-spurious direct object, you see the
Mind pose a question that you may choose to answer or ignore.
By such trial and error of statement and question, the AI Mind
seeks to navigate a meandering chain of thought.
If you understand
how the AI Mind works and if you are thinking of
a career in artificial intelligence, it is important for you to
demonstrate the operation of the AI Mind to as wide an audience as
possible. With individuals, it is instructive to discuss their
opinion as to whether or not the primitive AI is truly thinking.
For a mass audience, you might engineer a demonstration of the
seed AI on community-access cable television.
If you are an AI programmer and you improve the open-source AI Mind,
dare to envision even the most spectacular and stunning displays of
the slow meandering of thought or the swift flash of imagination.
If you code dreaming in one AI Mind or a Vulcan mind-meld among
multiple AI Minds, create not a microscope but a psychoscope
in your tutorial display that busts the artificial mind wide open.
4. No Human Input -- Sensory Deprivation
If you start the artificial mind running and you do not enter
any input when you are prompted on the computer screen,
the AI will think about the several dozen concepts that are
pre-loaded into its brain. Soon it will run out of fresh
ideas and it will start to repeat its output of thoughts.
It may not get bored, but it may become boring to others.
If you type in a simple three-word sentence, you will
give the AI a knowledge base (KB) to think about.
5. Minimal Human Input -- Press [ENTER] Key
When you or someone with you starts the AI mind running,
it may not be clear exactly what to do next. Just pressing
the [ENTER] key is a way of inviting the AI to think a thought.
Since the AI is programmed to answer whatever you type with
a thought of its own, even when you enter nothing at all
and press the [ENTER] key, you cause the AI mind to think.
When you simply watch the screen and you do not press
any key at all, the AI waits patiently for any input from
you, then automatically goes into thinking mode.
6. Simple Human Input -- Conversation With the AI Mind
You may type in a simple three-word sentence, such as
"cats eat fish" or "you know me" -- without punctuation.
The AI will try to deal with what you tell it. It may
ask you a question if you use a word that it does not know.
For that reason, you should try to use only one new word
in any given sentence, so that the AI may parse the word
and try to figure out if it is a noun or a verb or whatever.
You should also try to use only plural nouns, because
the primitive AI mind may not yet have learned the grammar
that distinguishes between singular and plural forms.
7. Knowledge Base Input -- Loading the AI with Factual Knowledge
For early versions of the AI, there are several ways to fill up its
brain with a knowledge base (KB). One way is to tell the Mind
a series of related facts with one new word per sentence.
Then, when the AI asks you about a new word, you answer
with a sentence that has another new word. For instance,
you might say, "cats chase birds" and "birds lay eggs" and
"eggs feed people" and "people make robots" and so forth.
Another way to build up a knowledge base is to enter a group of
facts about, say, what each kind of animal eats. You might write,
"bears eat honey" and "fish eat bugs" and "cats eat fish" and so on.
You could also enter knowledge in response to the output of the AI.
On whatever subject the AI thinks about, you might tell it more information.
The Mind.html program has long been evolving towards a basic functionality
characterized by two paramount abilities -- the ability to generate
a meandering chain of thought, and the ability to navigate around gaps
in the AI knowledge base. If we had an omniscient AI that knew everything,
thoughts could easily meander from concept to concept in an unbroken chain,
and there would be no need to design work-arounds for the dead ends that
occur in human and machine intelligence. The Mind.html AI starts out with
only a few concepts and must acquire new knowledge from what you tell it.
By a fortunate coincidence for mind-designers, the gap-avoidance imperative
and the knowledge-learning imperative are a match made in heaven. We simply
program an AI to ask a question wherever a meandering chain of thought
encounters a gap or a dead end in the knowledge base. Different versions
of the AI Mind may ask these stop-gap questions in different formats.
The simplest format is to substitute the interrogative word "WHAT"
wherever a gap occurs, as in "UNICORNS EAT WHAT", when the AI Mind
does not know what unicorns eat. More sophisticated AI Minds may substitute
an entire question instead of the word "WHAT" and may say something like
"UNICORNS EAT... WHAT DO UNICORNS EAT". If no answer is forthcoming,
a smart AI may pick a different subject or a different verb and follow
a different pathway in the meandering chain of thought.
8. Knowledge Base Query -- Asking the AI Questions
Once you have loaded factual information into the knowledge base (KB)
of the artificial mind, there are various ways to ask questions of the AI
and find out what it knows. You could enter, for example,
- "cats" (to see what the AI knows about cats);
- "cats eat" (to see if the AI can finish the sentence);
- "cats eat what"; or
- "what do cats eat" -- all with no punctuationion, not even a question mark.
You could also ask specific questions, such as, "do cats eat fish" or
"do cats eat books". Depending on the state of the art of the AI Mind,
it may answer with a positive or negative statement, or with a question
of its own.
If an AI Mind programmed in a language other than JavaScript had the ability
to surf the Web in search of requested information, then you could ask the AI
questions for it to answer after a time delay of sufficient length for the AI
to gather data and make an intelligent response to you.
Even current and near-future versions of the AI Mind in JavaScript can be
pre-loaded with a built-in knowledge base of facts about any topic,
such as might be needed for a question-answering, customer-service AI.
Then the general public could ask the AI questions, and the knowledge base
could be gradually modified over time so as to accommodate more and more
"frequently asked questions" -- a FAQ, so to speak.
9. Hidden Features of Mind.html Tutorial AI
Ultimately there are no hidden features, because the free AI source code
is so open for inspection, but some features are not immediately obvious
from the simplicity of the human-computer interface (HCI). A teacher of
AI will gradually learn the most latent features of the AI-For-You Mind.
There may also be emergent features such as consciousness and emotion.
As programers we want to increase the AI functionality with as many positive
features as possible. If you think of some features that ought to be included,
you may code them and release your own AI Mind onto the Web, or you
may suggest your ideas in the various AI discussion forums.
In the event of AI dysfunction or berserk behavior, it may be necessary to
administer the
Vulcan nerve pinch that renders the AI Mind unconscious.
With one hand, press [Shift] and [Percent]; then press the [Enter] key.
You will zap the AI Mind by reducing all conceptual activation to zero.
After a delay of time, the stunned sentience should recover by dint of
ego resuscitation, where the concept of the ego resurrects itself from
a vegetative, flatliner state of zombie brain-dead wipe-out and begins
to reconnect with its
mind-body duality and existential dilemma.
9.2 Trekking through tutorial tips
Over sufficient time and distance, logic dictates that whatever can
be found, will be found. Thus even the most casual AI Mind useroid
may tumble to the expedient practice of clicking repeatedly on the Tutorial
check-box in order to trek or voyage rapidly through all tutorial messages.
If you vaguely recall that some useful tip was lurking among the messages,
you may either click your way through all the tips or open up the source
code to read through the entire list of rotating messages. You may insert
a new tip that has occurred to you as worthwhile, if you know JavaScript.
10. Psychological Experimentation
There are various tests that you may perform to evaluate the
psychology of the artificial mind. Your first question may be,
is the AI actually thinking? You may invite a colleague or friend
of yours to observe Mind.html in action and to advise you on
whether the software is truly thinking, or is merely generating
canned responses -- like a so-called chatbot or chatterbot.
If you run the AI in tutorial mode, you may observe how the
robot mind software calls (summons) its various mental modules.
It is not calling up canned responses. Rather, it is activating
concepts that form a chain of associations -- a process commonly
known as "thinking." If the software is still buggy and makes
a few spurious associations, it is still thinking -- erroneously.
The free public-domain release of this software is an attempt
to get the very best programmers to work on improving the AI.
Another, much more intriguing question is, is the AI Mind
conscious and aware of itself? (At this early stage, probably not.)
The AI is on its way to consciousness by virtue of its concept of self.
You may address the AI as "you" and see if it answers as "I".
Likewise, you may speak as "I" and see if the software calls you
"you" -- as it is designed to do.
If you experiment too drastically and you drive the robot mind crazy,
you may need to seek the help of
Dr. Joanne Pransky, the robot psychiatrist.
11. Oldest Living Artificial Mind
Any school or class may compete with other schools for the
distinction of being home to the oldest living artificial Mind,
in JavaScript or Forth or any other porgrasmming language.
The original AI Mind on SourceForge had a
Rejuvenate module
that kept the AI Mind forever young and vulnerable only to
death by misadventure -- not by old age as suffered by humans.
As different versions of AI Minds proliferate, each one is
a species of mind struggling for survival of the fittest in
the Darwinian jungle of schools, museums, storefront windows
and the waiting rooms of businesses that want to entertain
their happy customers with artificial intelligence instead
of hearing angry complaints from unhappy consumers who demand
to have their own needs met immediately and unreasonably.
Now suppose that you install Mind.html True AI on a computer
in a public venue where novice users may interact and experiment
with the AI Mind. At first, the AI or the computer itself might
crash every day under the burden of tolerating unsavvy users.
Over time, however, the AI ought to become more robust and more
crash-resistant as built-in safeguards prevent damage to the AI.
At first locally, next regionally and then nationally, your AI
installation might become a famous AI celebrity for being the
oldest-running, uninterrupted AI installation in the record books.
Even if your AI dies by misadventure, you may have kept it running
so long that it still holds a record for its length of artificial life.
If you manage a store that sells computers, you might set aside
special computers on prominent display with claims of either being
the oldest living AI Mind or having held the longest-running AI life.
12. Installing Mind.html on a Computer
Whoever uses an MS-DOS PC or laptop computer to do computer work,
could easily install Mind.html to give the computer a true AI.
Because the AI Mind software is simply a text file of JavaScript
and HyperText Mark-up Language (HTML), it is easy to change the
AI Mind when you have loaded it into a text editor like WordPad.
With absolutely no knowledge of JavaScript or HTML, you may
change superficial aspects such as the name of the program or
the content of tutorial messages just by editing a few lines.
Keep the original Mind.html file available under a different
name in case you make a mistake, and then re-edit the original.
You may change one or more of the links at the top of the AI
to links of your own choosing. If you use your own Mind.html page
as the source link at the top of the screen, then Netizens who
install your AI Mind on their websites will be linking back to you.
Your improvements to the AI Mind display and your tutorial messages
may be so appealing that dozens or hundreds of other websites may
install what you have created and may send you a constant flow of hits.
If so, you are like Adam or Eve at the dawn of AI genesis and evolution.
14. Shutting Down Mind.html Tutorial AI
At any time, the human user may press the [Esc(ape)] key to
stop Mind.html and then click a check-box to close the AI window.
To stop the artificial life of the AI Mind -- which would
otherwise try to live forever on the screen of your computer --
you simply press the Escape key and see what happens.
You may also click on any "Halt" check-box that you see.
If the AI is processing input or preoccupied in deep thought,
there may be a brief delay in the AI response to your command.
Eventually, though, the AI should indicate that it has stopped.
If you want to start the AI up again, you may unclick Halt.
If you want to completely shut down the AI and close its window,
you may click on the Terminate check-box and confirm your choice.
To back out of terminating the AI, you may unclick Terminate.
On Usenet
there is the
comp.lang.javascript newsgroup, the
comp.robotics.misc
newsgroup for robotics, and the comp.ai.* hierarchy for artificial intelligence.
The social bookmarking
site http://del.icio.us/tag/ai
is a place where you may
swap AI bookmarks with other AI enthusiasts. In cyberspace you may join
the #ai Internet Relay Chat (IRC)
and in meatspace you may go in person to
AI Meetup events. It is important to post
messages in public rather than private
forums so that experts may choose to de-lurk and provide valuable information.
There is always someone who knows more or has greater skills than any individual.
If you want to be the ultimate AI Mind expert guru, grok the
AI Mind FAQ.
As you become familiar with the care and maintenance of artificial Minds,
you may want to consider a career in artificial intelligence (AI).
The following job description titles might appeal to you.
Subject Verb Object
|--------------------------| |--------------------------| |--------------------|
| CATS associates to CHASE | | EAT associates to BUGS | | FISH tickles CATCH |
| CATS associates to LOVE | | EAT associates to +FISH | | FISH tickles LIKE |
| CATS associates to HATE | | EAT associates to BIRDS | | FISH tickles EAT |
| CATS associates to EAT | -------------------------- | FISH tickles CHASE |
| CATS associates to NEED | | FISH tickles AVOID |
-------------------------- --------------------
The diagram above replicates the tutorial display of how Mind.html thinks