This project began as a result of an online discussion of Richard Dawkins'
Weasel program, a rather simple demonstration of a genetic algorithm first
discussed in The Blind
Watchmaker.
I don't know who it was first pointed out that, given enough time, a
monkey bashing away at random on a typewriter could produce all the works
of Shakespeare. The operative phrase is, of course, given enough time.
Let us limit the task facing our monkey somewhat. Suppose that he has to
produce, not the complete works of Shakespeare but just the short
sentence 'Methinks it is like a weasel', and we shall make it relatively
easy by giving him a typewriter with a restricted keyboard, one with just
the 26 (capital) letters, and a space bar. How long will he take to write
this one little sentence?
Wikipedia
I recently encountered Wesley Elsberry's online version of
the weasel program and thought to myself, "This could be made into a game."
So I made one.
My thinking at the time was that The Blind watchmaker has been
around for more than twenty years, and - simple as it is - people still
misunderstand and misrepresent it. They make false
claims about how the algorithm works, and they falsely deny that a
genetic algorithm can work without a fixed goal. The algorithm isn't intended
to explain biology; it is intended to address a simple mathematical concept,
which is: selection is cumulative. The monkeys do not need to type
Shakespeare if a selecting agent preserves each step that is closer to
Shakespeare than its predecessor.
People have written entire books and devoted careers to debunking this
concept and its illustration. I asked myself, with all the demonstrations
available online, why is it so difficult to understand? My best answer is
that watching an abstract demonstration does not convey a deep understanding
of what is going on.
So I decided to write my own demonstration, one that would involve people in
the process of selection and allow them to see that any string of characters,
whether it be letters of the alphabet or the GATC's of the genome, can be
reached through cumulative selection.
Things happen in itatsi that are very surprising.
The first thing a player will notice is that words form while attempting to
form other words. The universe of targets in itatsi
is much richer and deeper than that of Dawkins' Weasel. Instead of one
sentence being the desired end, we have a genetic fitness scoring algorithm
and tens of thousands of potential targets. The
itatsi Training Weasel evolves strings of letters,
some of which are dictionary words, but many more that resemble words but are
not dictionary words. It does this in any of its supported languages. For
people interested in the game aspect of itatsi, it
is worth noting that perfectly good words - including common names, slang,
argot, jargon, acronyms, trade names and recent additions to the language -
occur and are not scored by the program. Frustrating as this may be, it
illustrates that different environments have different selectors.
Some children are more productive than others, and some are blind alleys,
perfectly good words, but having little similarity to other words. They are
overspecialized and cannot adapt. Other words have many nearby cousins. I
think itatsi reinforces an understanding of how blind variation and selection
can produce many different results.
Itatsi uses the same mutation engine written by
Wesley Elsberry, re-written for asp, with the
addition of frame shift mutations. The central necessity of a Weasel program
is that the mutation engine must be blind to the goals and objectives of the
selecting agent. It must have no goals, no bias, no memory. While playing
itatsi, it is tempting to form superstitious
beliefs about how letters change in response to selections, but these have no
basis in reality. The itatsi mutation algorithm is
as random as possible, given the limits of programming languages.
Itatsi differs from the original Dawkins' Weasel
by having several kinds of mutations and by having a general fitness scoring
algorithm rather than a fixed target.
|
|
Based on "Weasel" as described by Richard Dawkins
Weasel Javascript
algorithm coded by Wesley R. Elsberry.
Game concept, scoring, coding and design by Midwifetoad
Itatsi coded using Macromedia HomeSite 5.5
Itatsi Game concept, scoring, coding and design are the
intellectual property of James L. Sowder.
All Right Reserved. The trade name Weasel Words applies to
the word game implemented by this web page, and to the underlying concept,
the user interface, and the scoring system. This game may not be hosted on
any web site without the express permission of the author.
|
|
|
|