[Home]Jwanders/NameGeneratorDiscussion

ec2-18-118-137-243.us-east-2.compute.amazonaws.com | ToothyWiki | Jwanders | RecentChanges | Login | Webcomic

BNF: Jwanders/NameGenerator

This is a scaled down version of a random "name-like" name generator I wrote years ago.  I figured it might work in BNF, and that people might like to see it. I'll write a more detailed discription later, but at the moment I have to go give a girl her boots.

Looks like a table for an order-2 Markov chain. Out of curiosity, what did you use as source data? - MoonShadow

Yup.  It's pretty simple actually; I just compiled the statistics of three letter combinations from a list of 11746 real first names.  I've always though of it as a "Dissociated-Press Algorithm", but I get the sense from MoonShadow/GeneratorGenerator that Markov chain is the more proper name.  It picks two letter names more often than I'd like, but overall I've been quite pleased with the results.

I tried to put in the full precision version, but its 609753 characters seemed to kind of choke the Wiki--I hope I didn't break anything ;-).  I've scaled it down to a maximum 50 entries per rule and am curious to see how that affects the results.

It's mumbling a little presently.  It's possible for it to end up with a two letter string for which there is no way to complete the triplet and at the moment, due to my poor design, it's just repeating that two letter string at the end of a name.  Ideally there would be some optional rule like "undefined ::= <default>" that, if defined, would catch all undefined non-terminals, but that's just because I'm too lazy at present to catch these cases in my compilation script...

I also think it works better with more data, but don't think the wiki's going to be happy if a make the page any bigger.  I saw that include statements are supported, and am wondering about splitting it up over multiple pages, but this seems like it might be a BadIdea.

This thing has already been genuinely useful to me, as I need first names by the bucketload for RolePlaying purposes. Thanks for creating it! --Requiem
Wow, fun. :) With your permission, Jwanders, I'll post a link to it on the NaNoWriMo forums when they open this year - there are a lot of authors out there, and fantasy authors in particular, who would really welcome such a thing. (A particularly silly triplet of names I just got: Tiffelseus; Eus; She.)  --Rachael
Oh yes, please feel free to spread it around.  Especially if it will draw more unsuspecting souls into the WikiClutches? ;-) --JW

If anyone's looking for a minor project, I need an algorithm that will find the greatest common divisor of an imprecise set of integers. I.E. For the set of integers (a0,a1,...,an) and precision p, find integer k such that bi = k*a'(i) for i=0..n where ai*(1-p) =< a'(i) =< ai*(1+p).  If that makes no sense, pretend you imagined it.

ec2-18-118-137-243.us-east-2.compute.amazonaws.com | ToothyWiki | Jwanders | RecentChanges | Login | Webcomic
This page is read-only | View other revisions | Recently used referrers
Last edited September 24, 2004 4:11 pm (viewing revision 9, which is the newest) (diff)
Search: