This project contains a simple genetic algorithm implemented in Clojure. We started work on it during the September 14 meeting, and will be continuing it at future meetings..
The algorithm is very simple:
- Given a integer, find an expression that evaluates to that value.
- A valid expression meets the following grammar (numbers in {braces} are repeats, and portions in [brackets] are optional):
expression -> digit op digit \[op digit\]{3} digit -> '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' op -> plus | minus | multiply | divide plus -> '+' minus -> '-' multiply -> '*' divide -> '/'
- Operations are evaluated from left to right; there is no operator precedence.
Come to the Dojo and play with us!.