Brad Wyble wrote on Mon, 11 Aug 2003
The open source concept to AI, which is essential what you are
doing here, is a very interesting one.
However, the open source success stories have always involved
lots of tiny achievable goals surrounding one mammoth success
(the functional kernel). i.e. there were many stepping stones
which served to organize efforts.
The central, if not mammoth AI emuland here is the
http://mentifex.virtualentity.com/jsaimind.html -- Mind-1.1
release of JavaScript source code as listed in the AI4U book,
Programmer's Manual and textbook of artificial intelligence,
http://www.amazon.com/exec/obidos/ASIN/0595654371/ on Amazon.
This approach doesn't seem to have a series of achievable goals
that will direct efforts.
The basic goal (from which diversions are not only permitted but
rather encouraged) is to build up AI functionality by coding the
http://mentifex.virtualentity.com/acm.html DIY AI mind-modules.
And if I may offer some constructive criticism of clarity,
the text of this email is very clear, but that of the webpage
is much harder to follow. If you wish people to take this
seriously, make an effort to make it very clear exactly what
you are hoping for them to do.
Some questions I was unable to answer in 5 minutes of browsing
your site:
How do these minds compete?
These minds compete by evolving, by survival of the fittest.
Programmers are invited to embed their names or initials,
along with a date-of-creation stamp (e.g. atm12aug2003)
in any mind-module that they write or rewrite and release,
so that the evolutionary history (DNA?) leaves a record.
On what/whose servers will they run?
They should run on the servers of whoever codes them initially,
then on the computers of whoever tries to develop them further.
What input is the AI system given?
The Audition mind-module is given sentences of human language
by means of keyboard entry, as if the ASCII characters were
phonemes of human speech. Other modules, such as
http://mind.sourceforge.net/gusrecog.html -- Gustation/Taste;
http://mind.sourceforge.net/olfrecog.html -- Olfaction/Smell;
http://mind.sourceforge.net/tacrecog.html -- Touch;
http://mind.sourceforge.net/visrecog.html -- Vision;
will have their own inputs as devised by each coder.
By what means will they be evaluated?
The AI Minds will be evaluated by the community of AI coders,
examining all the various aspects such as functionality,
survivability, elegance of coding technique, comments, etc.
Why Perl?
http://www.cpan.org/authors/id/M/ME/MENTIFEX/mind.txt in the
Comprehensive Perl Archive Network (CPAN) is an instance of
memetic penetration of the vast and well-organized world of
Perl programmers with mirror sites across the global 'Net.
In the Perl community and, to some extent, in the XML community,
the concept of namespaces is very important: Whoever gets
there first, gets to name the important mind-modules -- just
as the Soviet-era Russians gloried in naming the Sea of Dreams
(Morye Mecht) and other features on the dark side of the moon.
With the AI mind-module names, it is not so much an ego-quest
as a desire to specify a group of what seem to be the ideal
mind-modules and to arrange them in an ideal serial order.
Otherwise, Perl is just one of twenty-plus AI target languages.
What (who's)code does the main Alife loop connect with for the
submodules?
The plan is that each Perl AI coder shall web-publish the mind.pl
code at all stable waypoints on the pathway to AI implementation.
Therefore the submodules could come from anywhere -- the programmer
hosting the previous mind.pl code and still writing enhancements,
or Netizens noticing the codebase and volunteering to add to it.
Please remember, there need not be homogeneity in the added code,
although the Comprehensive Perl Archive Network (CPAN) welcomes
the publication of sufficiently mature Perl modules for sharing.
As is stated on page xviii of the AI For You (AI4U) textbook,
Change at the bottom is fast and furious -- meaning that
we may expect the highest-level mind-modules to achieve early
and long-lasting stability, while low-level code mutates often.
You use the word port as if programmers are merely translating
an engine from one codebase to another, but that doesn't seem to
be the case? What did you mean by port exactly?
http://www.virtualentity.com/mind/vb/
was a port of Mind.Forth to Visual Basic.
http://www.angelfire.com/nf/vision/ai/mjava.html
was a port of the JavaScript AI Mind to Java.
These ports in the traditional sense have not achieved the
full functionality of the source AI in the target language --
apparently because small differences between languages have
resulted in major differences in achieving AI functionality.
Therefore the new approach is to encourage not all-at-once
ports but rather the careful, gradual recapitulation of the
genesis of the AI For You (AI4U) Mind-1.1 JavaScript codebase
in any one (not just Perl) of