Solving CryptoQuote with a GA
By John Escobar and Tom Kiehl
A CryptoQuote is a simple substitution code where each letter that appears
may stand for a different letter. The substitutions are consistent
throughout the puzzle. Punctuation is not translated.
For example: POLYYONTOP = RENSSELAER
The Genetic Structure:
- Genome:A chromosome of 26 integer alleles, with 26
allele values -
- Selection Type: Steady-State with 65% of the population is
- Scaling: Linear Scaling - Sigma Truncation
- Initialization:Initialized so that each of the allele
values were unique. Also implemented a seeding initializer
- Mutation:Swap mutator, swaps the allele value in one
position on the chromosome with an allele value in a different
- Crossover:Partial Match Crossover, to preserve the
uniqueness of allele values.
Table of Contents
- Utilizing a Dictionary
Bigger Dictionary implies Better Results?
- Seeding the initial
population from the Dictionary.
Fitness Function Development
- Random Search vs. GA
- Source Code, Sample Data, and Results
- Online demo (Coming soon)
Back to GA Page