Search This Blog

15 August 2005

random AI thoughts

Generally, when doing Genetic Algorithms (as opposed to Genetic Programming), we try to model everything on life.
Specifically, we will generally do Chromosomes, Genes, etc....

But perhaps we don't need the one-to-one correlation. Perhaps there are better options if we don't. For example,
if instead we use a class called Tendency, that class could mix Genotype and Phenotype. How? Well, if your mother
had a tendency to fight when frightened, and your father had a tendency to run when frightened, using basic crossover
and mutation algorithms, the child would either obtain one, the other, a mix, or a slightly modified version of those
tendencies... Not genetic predisposition, but phenetic (?) predisposition.

Is there any other advantage to this approach? Well, unless we are trying to do a simulation of an existing model (ie:
the 46 human chromosomes), I think we are more likely to think in terms of tendencies. A troll has a tendency (high or low)
to attack, eat, sleep, run, fight, etc... When encode these as chromosomes with some arbitrary encoding? Why not allow
crossover and mutation on the Attack-Tendency (predisposition?)...

how does that work towards other things... like... genetic programming of circuit boards, solving Beale's puzzles, etc...
maybe things like "choosing AND-gate" or "using the letter 'E'" would have a specific tendency, and although you wouldn't
necessarily do them all the time, you might do them more often than not... thus, two programs with the same genetic makeup
still might behave slightly different? (Phenotype?) Maybe the act() method would allow you to base what you are going to
choose on the various preferences, environmental (knight nearby?), history, etc.... maybe, take it a step further, when
constructing your MMORPG character, maybe those preferences play out to determine you have blue eyes, and then that becomes
a static choice...?

the fact is that smarter programs adapt better and faster... thus, you need overlapping and conflicting desires/predispositions...
but this is very "fuzzy"... if the program were trying to determine whether a program infringed on copyright, then it couldn't
just choose that answer most of the time -- but it could do SpamBayes-style likelihoods...