These puzzles are called pangrams. Douglas Hofstadter wrote about them in his Metamagical Themas column in Scientific American in the early 80s.

Someone came up with an algorithm to solve pangrams, and it involves getting the values right letter by letter. First you plug in any old value for evey letter ("This sentence contains one 'a', one 'b'... and one 'z'). The you adjust it so that the 'a' count is correct. Then you adjust it so that the 'a' and 'b' are correct, and so on, until you reach 'z'.

Maybe you could adjust your measure of fitness to take this into account. Other than that I don't have any remarks on your code, which looks pretty fine to me. The only thing I'd suggest is that .3 for mutation is very high.


In reply to Re: Improving Evolutionary Algorithm (pangram) by grinder
in thread Improving Evolutionary Algorithm by jweed

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.