Genetic name generator 
Author Message
 Genetic name generator

I was playing with some genetic algorithms just now, where the
initially random data relationships are progressively optimized
according to how well a result they produce.  I couldn't figure out an
obvious algorithm to choosing what kinds of generated names sound
good, so I decided to do it on a case-to-case basis.

The names were represented as strings of syllables, just some
syllables I pulled out of my head that would sound nifty in a name.  I
made it so every syllable had a link to every other syllable, and each
link had a score.  Recursively going down to a limit of say, 5
syllables, I started scoring names based on how much I liked them, and
the computer adjusted scores for each link accordingly so that one
syllable would be far more likely to proceed to a syllable I have
approved for the first syllable than one that didn't go well after the
first syllable.

I have a question though: what exactly am I doing?  :)  I just
realized that what the computer is learning is not a good name, but
rather good relationships between any two syllables.  If 'ku' has a
high scoring link to 'po', it will almost always produce 'kupo', but
if I don't like the string 'kupo' if it is directly followed by
'ble', or worse, if I don't like the syllable 'cul' preceding 'pa',
but do like 'culpa' when it is followed by 'ble', how will my program
ever know?

The problem is it doesn't score paths, it scores links.  Though
certain popular sequences of links (paths) will start showing up, I'm
not sure if that counts as the same as storing scores of each possible
path through the syllable tree.  This problem is a situation where
there is no best answer, except taken in context of the whole name.  I
can't say to myself that 'se' should follow 'lf' irregardless of
whether 'se' is part of 'myself' or whether 'se' is part of 'cheese',
and I don't think an algorithm that does so will generate pleasant
sounding names no matter how closely I tune it.

So what should I do?  Storing all possible paths adds up to an awful
lot of permutations... I heard there was a shortcut to it, but the
approach I took seems to have some fundamental flaws.  Does anyone do
this sort of thing, who could possibly lend me some advice?

Who isn't even sure if 'genetic' is the best word for this situation.

Fri, 13 Jan 2006 06:53:22 GMT  
 [ 1 post ] 

 Relevant Pages 

1. f90: Genetic name for subroutines

2. name that PD LALR(1) parser generator (status)

3. getting the name of a generator function

4. Parser Generator/Scanner Generator for Scheme?

5. Wanted: parser-generator/lexical-analyser-generator outputting Scheme

6. Enhanced Generators - two-way generators

7. Generator syntax (was: Calling a generator multiple times)

8. generator within a generator doesn't execute?

9. Genetic Algorithms - practical applications?

10. 3/30/2000 - RTP NC - Genetic Algorithms in Smalltalk

11. Genetic Programming

12. Genetic Algorithms in APL


Powered by phpBB® Forum Software