notes for my dvorak evolution program

Posted by david marsh on Thu 29 May 2008

In an earlier post about a dvorak evolved layout I remarked that I was working on a new version. This post is some note for myself of things the new version must do:

  • Rather than asexual reproduction with mutation of individual genes (keys) of the most successful layout, I want to have sexual reproduction between two or more layouts. This caused one keyboard layout to quickly become dominant and it was hard to depose it
  • There should also be mutations of offspring, but it should be no where near what was needed with asexual reproduction, maybe one gene (key) is mutated every n successfully copied genes (keys)
  • I want to keep a gene (layout) pool that the breeding pairs are selected from
  • The most "fit" layouts get to produce offspring, whereas the least fit are killed off
  • I want individual layouts to age so that the pool doesn't become full of one copy that may not be the best. Maybe they can only breed n times *I have to make sure that incest doesn't happen, It's pointless and preventing it will stop one layout dominating the pool through weight of numbers

How I intend to breed them;

  1. In DNA there is no limit to the amount of GATC that you can use, but the genes of a layout will be the keys.
  2. I'm limited to A - Z, but only one each.
  3. I'll pick the two keys for the position at random and then remove that letter from the letter pool if it's still there, otherwise the other one will be chosen.

There's more, but I'll wait for another day.