Rationale
The task of porting an artificial robot mind such as
Mind.Forth
from
Win32Forth into another programming language is too difficult
to perform all at once in one fell swoop. The intricate functionality of
the AI Mind would be simultaneously and hopelessly broken in too many
places for any hope of restoring order by a normal debugging process.
Therefore let us not so much code an AI Mind as evolve an AI Mind.
What Nature achieved in the evolution of mind over billions of years,
let us try to recapitulate in a matter of days -- then we will rest.
Start a subroutine or module that is able to sense something
coming in from the outside world, i.e., a key-press on the keyboard.
First code recognition of the Escape-key (ASCII 27).
Next code recognition of the Tab-key (ASCII 9).
Then code recognition of the Enter-key (ASCII 13).
Now you have two modules, a main aLife module and a subordinate,
Sensorium module. But what should come next in evolution?
Now we need a reaction module, so that the organism may react
to its environment. Let's call the reaction-module "Think".
[ ]
Think
Now, of course, the simple organism is not truly thinking yet,
but we have stubbed in the Think module and we need to show it.
In a Tutorial mode to be selected by pressing the Tab-key,
present a simple message to the effect that Think has been called.
You should now be able to run your AI program, watch it wait (briefly)
for keyboard input ending with a press of the Enter-key, and see
a message (in tab-selected tutorial mode) that Think has been called.
You have a partly functional AI program, but it has not yet quickened,
that is, it has not yet begun to think as a mind. But it should run
indefinitely (until you press the Escape-key to terminate it), looping
forever through the brief wait for human entry either during the action
of the Sensorium module, or upon the event-driven recognition of a key-press.
If you do not have this organic functionality, your organism is not viable,
and you must go back and reengineer your stem cells, as it were, of AI.
With the proper looping functionality, you now have a stimulus-response
organism. There is no knowledge being accumulated, because the animal
has no memory. Therefore our next step is to create the [audSTM] module
for auditory short term memory (STM).
Although many of the hundreds of Open Source AI projects at Sourceforge
are technically more advanced than the Mind project and show far better
programming skills than is evident in the Forth and JavaScript AI Mind code,
the Mind project has several features which warrant its consideration
and candidacy as a working model of a seed AI to be ported into Ada
and other languages already being used in SourceForge AI projects:
Languages of Open Source AI projects at SourceForge
A consideration far less important than having a theory of mind
but still of value for rapid prototyping is the fact that the AI Mind
is thoroughly
documented with respect to each mind module:
Flowchart (essential for programming the AI in a new language)
Since the SourceForge Mind already works in a primitive way,
there is no need to reinvent the wheel, and any programmer may
simply port or improve the pre-existing
AI Mind source code:
Mind.html
View/ Source/ Artificial Mind in JavaScript
mind4th.html
Mind.Forth free AI source code for robots