Propeller 0.3.0
Released under the EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0
Yet another Push-based genetic programming system in Clojure.
Installation
To install, add the following dependency to your project or build file:
[net.clojars.lspector/propeller "0.3.0"]
Topics
- Adding Genetic Operators
- Adding a Problem
- Adding a Selection Method
- A Guide to Experimentation
- Genetic Programming Loop
- Genome
- Introduction to Propeller
- Library Reference
- Selection
- Simplification
- Variation
Namespaces
propeller.problems.PSB2.fizz-buzz
FIZZ BUZZ from PSB2 Given an integer x, return “Fizz” if x is divisible by 3, “Buzz” if x is divisible by 5, “FizzBuzz” if x is divisible by 3 and 5, and a string version of x if none of the above hold.
Public variables and functions:
propeller.problems.PSB2.substitution-cipher
=========== PROBLEM DESCRIPTION ========================= SUBSTITUTION CIPHER from PSB2 This problem gives 3 strings. The first two represent a cipher, mapping each character in one string to the one at the same index in the other string. The program must apply this cipher to the third string and return the deciphered message.
Public variables and functions:
propeller.problems.PSB2.twitter
=========== PROBLEM DESCRIPTION ============================= TWITTER from PSB2 Given a string representing a tweet, validate whether the tweet meets Twitter’s original character requirements. If the tweet has more than 140 characters, return the string “Too many characters”. If the tweet is empty, return the string “You didn’t type anything”. Otherwise, return “Your tweet has X characters”, where the X is the number of characters in the tweet.
Public variables and functions:
propeller.problems.valiant
Possibly impossible to solve with genetic programming. Stems from the work of Leslie Valiant and involves determining the parity of an unknown subsequence of a larger sequence of bits.
Public variables and functions:
propeller.variation
Propeller includes many kinds of genetic operators to create variation within the population. You can specify the rate of the variation genetic operators with the :variation
map.