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

Namespaces

propeller.core

Public variables and functions:

propeller.genome

Public variables and functions:

propeller.gp

Public variables and functions:

propeller.problems.PSB2.basement

BASEMENT from PSB2

propeller.problems.PSB2.bouncing-balls

BOUNCING BALLS from PSB2

propeller.problems.PSB2.bowling

BOWLING from PSB2

propeller.problems.PSB2.camel-case

CAMEL CASE from PSB2

propeller.problems.PSB2.dice-game

DICE GAME from PSB2

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.fuel-cost

FUEL COST from PSB2

propeller.problems.PSB2.gcd

propeller.problems.PSB2.luhn

LUHN from PSB2

propeller.problems.PSB2.middle-character

MIDDLE CHARACTER from PSB2

propeller.problems.PSB2.paired-digits

PAIRED DIGITS from PSB2

propeller.problems.PSB2.shopping-list

DICE GAME from PSB2

propeller.problems.PSB2.snow-day

SNOW DAY from PSB2

propeller.problems.PSB2.solve-boolean

SOLVE BOOLEAN from PSB2

Public variables and functions:

propeller.problems.PSB2.spin-words

SPIN WORDS from PSB2

propeller.problems.PSB2.square-digits

SQUARE DIGITS from PSB2

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.

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.

propeller.problems.simple-regression

=========== PROBLEM DESCRIPTION ============================= Simple Regression: Given inputs and outputs, find the target function.

Public variables and functions:

propeller.problems.software.fizz-buzz

Public variables and functions:

propeller.problems.software.number-io

propeller.problems.software.smallest

propeller.problems.string-classification

=========== PROBLEM DESCRIPTION ============================= String Classification: Given a string, return true if it contains A, C, G, and T. Else return false.

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.

propeller.push.instructions

propeller.push.instructions.bool

Public variables and functions:

    propeller.push.instructions.character

    Public variables and functions:

      propeller.push.instructions.code

      Public variables and functions:

        propeller.push.instructions.input-output

        Public variables and functions:

        propeller.push.instructions.numeric

        propeller.push.instructions.polymorphic

        propeller.push.instructions.string

        Public variables and functions:

          propeller.push.instructions.vector

          propeller.push.interpreter

          Public variables and functions:

          propeller.push.limits

          propeller.push.state

          propeller.selection

          propeller.session

          Public variables and functions:

            propeller.simplification

            propeller.tools.calculus

            Public variables and functions:

            propeller.tools.character

            Public variables and functions:

            propeller.tools.distributions

            Public variables and functions:

            propeller.tools.math

            propeller.tools.metrics

            propeller.utils

            Useful 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.