A Guide to Propeller
+Generated by Codox
Propeller 0.3.0
A Guide to Propeller
Propeller is an implementation of the Push programming language and the PushGP genetic programming system in Clojure.
For more information on Push and PushGP see http://pushlanguage.org.
Overview
@@ -34,7 +34,7 @@If you have installed Clojure, you can run Propeller on a genetic programming problem with the command clj --main <namespace>
, replacing <namespace>
with the actual namespace that you will find at the top of the problem file. The examples below use leiningen, but you can replace lein run -m
with clj --main
to run the same problem.
A specific example is provided later below.
How do I run Propeller on a problem?
-To run a problem in Propeller, you want to call the -main
function in the problem file using leiningen. The -main
function will create a map of arguments from the input and run the main genetic programming loop.
To run Propeller on a problem, you want to call the -main
function in the problem file using leiningen. The -main
function will create a map of arguments from the input and run the main genetic programming loop.
Below is the general format to run a problem through the command-line:
lein run -m [namespace of the problem file you want to test]
@@ -116,10 +116,12 @@
Contributing
You can report a bug on the GitHub issues page.
The best way to contribute to Propeller is to fork the main GitHub repository and submit a pull request.
+Propeller provides a way to automatically generate documentation for any contributions you might make.
License
Eclipse Public License 2.0
This commercially-friendly copyleft license provides the ability to commercially license binaries; a modern royalty-free patent license grant; and the ability for linked works to use other licenses, including commercial ones.
diff --git a/docs/Adding_Genetic_Operators.html b/docs/Adding_Genetic_Operators.html index 76c2356..5d572c1 100644 --- a/docs/Adding_Genetic_Operators.html +++ b/docs/Adding_Genetic_Operators.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
Adding Genetic Operators
+Generated by Codox
Propeller 0.3.0
Adding Genetic Operators
In addition to the already-included genetic operators, you can add your own!
Variation Genetic Operators
-
diff --git a/docs/Adding_Problem.html b/docs/Adding_Problem.html
index d4f9e9d..ac75452 100644
--- a/docs/Adding_Problem.html
+++ b/docs/Adding_Problem.html
@@ -1,6 +1,6 @@
-
- To add a new problem, you need training and test data. For Problem Synthesis Benchmark Problems (PSB2), you can fetch datasets using
psb2.core/fetch-examples
.
@@ -22,7 +22,7 @@
[datasets-directory problem-name n-train n-test]
- - Define the possible Push instructions to be used to create plushys. It should be a non-lazy list of instructions from
push/instructions
+ - Define the possible Push instructions to be used to create plushys. It should be a non-lazy list of instructions from
push/instructions
, input instructions, close, and constants (including functions that produce constants). - Define an error function that will evaluate plushys and add
:behaviors parsed-outputs
,:errors
, and:total-error
to the individual - Define the function
-main
with a map of default arguments. - Define a selection method function in
propeller.selection
that selects an individual from the population - Add the selection method in
propeller.selection/select-parent
under thecase
call:
diff --git a/docs/Additional_Instructions.html b/docs/Additional_Instructions.html
index 853d97a..c2fe3b9 100644
--- a/docs/Additional_Instructions.html
+++ b/docs/Additional_Instructions.html
@@ -1,6 +1,6 @@
- - Additional Instructions
- input_output.cljc diff --git a/docs/Generating_Documentation.html b/docs/Generating_Documentation.html new file mode 100644 index 0000000..4fdb00c --- /dev/null +++ b/docs/Generating_Documentation.html @@ -0,0 +1,5 @@ + +
- A Guide to Propeller
- Adding Genetic Operators
- Adding a Problem
- Adding a Selection Method
- Additional Instructions
- A Guide to Propeller
- Adding Genetic Operators
- Adding a Problem
- Adding a Selection Method
- Additional Instructions
- Generating Documentation for Propeller
Generated by Codox
Propeller 0.3.0
Adding a Problem
+Generated by Codox
Propeller 0.3.0
Adding a Problem
In general, a problem file has 3 components: train-and-test-data
, instructions
, error-function
, and -main
.
Generated by Codox
Propeller 0.3.0
Adding a Selection Method
+Generated by Codox
Propeller 0.3.0
Adding a Selection Method
Generated by Codox
Propeller 0.3.0
Table of contents
+Generated by Codox
Propeller 0.3.0
Table of contents
Generated by Codox
Propeller 0.3.0
Generating Documentation for Propeller
+To generate documentation with codox, run scripts/GenerateDocs.sh
in the command line. This will run “lein codox” on the command line to generate first batch of HTMl files. Then, it runs FunctionsToMD to take Push instructions generated by def-instruction
and spit it out to a Markdown file. Then, it runs HTMLFix to fix the ordered lists in Adding_Genetic_Operators.md
, Adding_Problem.md
, and Adding_Selection_Method.md
.
Generated by Codox
Propeller 0.3.0
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.genome
The genetic material in Propeller. A plushy
is a list of Push instructions that represent a Push program. They hold the genetic material for an individual
. In the initial population, we create random plushys.
Generated by Codox
Propeller 0.3.0
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.genome
The genetic material in Propeller. A plushy
is a list of Push instructions that represent a Push program. They hold the genetic material for an individual
. In the initial population, we create random plushys.
Public variables and functions:
propeller.problems.PSB2.bouncing-balls
BOUNCING BALLS from PSB2
@@ -13,7 +13,7 @@Public variables and functions:
propeller.problems.PSB2.spin-words
SPIN WORDS from PSB2
diff --git a/docs/propeller.genome.html b/docs/propeller.genome.html index fa73cc5..87cf333 100644 --- a/docs/propeller.genome.html +++ b/docs/propeller.genome.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.genome
The genetic material in Propeller. A plushy
is a list of Push instructions that represent a Push program. They hold the genetic material for an individual
. In the initial population, we create random plushys.
Generated by Codox
Propeller 0.3.0
propeller.genome
The genetic material in Propeller. A plushy
is a list of Push instructions that represent a Push program. They hold the genetic material for an individual
. In the initial population, we create random plushys.
make-random-plushy
(make-random-plushy instructions max-initial-plushy-size)
Creates and returns a new plushy made of random instructions and of a maximum size of max-initial-plushy-size.
plushy->push
(plushy->push plushy)
(plushy->push plushy argmap)
Returns the Push program expressed by the given plushy representation.
The function takes in a plushy representation as input and converts it into a Push program by iteratively processing the plushy elements and adding instructions to the push program. It also handles the case where there are open instructions that need to be closed before the end of the program.
diff --git a/docs/propeller.gp.html b/docs/propeller.gp.html index 86f37c7..59e466e 100644 --- a/docs/propeller.gp.html +++ b/docs/propeller.gp.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.gp
Main genetic programming loop.
+Generated by Codox
Propeller 0.3.0
propeller.gp
Main genetic programming loop.
gp
(gp {:keys [population-size max-generations error-function instructions max-initial-plushy-size solution-error-threshold mapper], :or {solution-error-threshold 0.0, mapper pmap}, :as argmap})
Main GP loop.
On each iteration, it creates a population of random plushies using a mapper function and genome/make-random-plushy function, then it sorts the population by the total error using the error-function and sort-by function. It then takes the best individual from the sorted population, and if the parent selection is set to epsilon-lexicase, it adds the epsilons to the argmap.
The function then checks if the custom-report argument is set, if so it calls that function passing the evaluated population, current generation and argmap. If not, it calls the report function passing the evaluated population, current generation and argmap.
diff --git a/docs/propeller.problems.PSB2.basement.html b/docs/propeller.problems.PSB2.basement.html index c36f760..3b95853 100644 --- a/docs/propeller.problems.PSB2.basement.html +++ b/docs/propeller.problems.PSB2.basement.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.basement
BASEMENT from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.basement
BASEMENT from PSB2
Given a vector of integers, return the first index such that the sum of all integers from the start of the vector to that index (inclusive) is negative.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.bouncing-balls.html b/docs/propeller.problems.PSB2.bouncing-balls.html index 51afeee..252c6cd 100644 --- a/docs/propeller.problems.PSB2.bouncing-balls.html +++ b/docs/propeller.problems.PSB2.bouncing-balls.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.bouncing-balls
BOUNCING BALLS from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.bouncing-balls
BOUNCING BALLS from PSB2
Given a starting height and a height after the first bounce of a dropped ball, calculate the bounciness index (height of first bounce / starting height). Then, given a number of bounces, use the bounciness index to calculate the total distance that the ball travels across those bounces.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.bowling.html b/docs/propeller.problems.PSB2.bowling.html index 8b3a419..39627ea 100644 --- a/docs/propeller.problems.PSB2.bowling.html +++ b/docs/propeller.problems.PSB2.bowling.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.bowling
BOWLING from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.bowling
BOWLING from PSB2
Given a string representing the individual bowls in a 10-frame round of 10 pin bowling, return the score of that round.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.camel-case.html b/docs/propeller.problems.PSB2.camel-case.html index c3fc49d..1125caa 100644 --- a/docs/propeller.problems.PSB2.camel-case.html +++ b/docs/propeller.problems.PSB2.camel-case.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.camel-case
CAMEL CASE from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.camel-case
CAMEL CASE from PSB2
Take a string in kebab-case and convert all of the words to camelCase. Each group of words to convert is delimited by “-”, and each grouping is separated by a space. For example: “camel-case example-test-string” → “camelCase exampleTestString”
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.dice-game.html b/docs/propeller.problems.PSB2.dice-game.html index 5c0d09e..3472631 100644 --- a/docs/propeller.problems.PSB2.dice-game.html +++ b/docs/propeller.problems.PSB2.dice-game.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.dice-game
DICE GAME from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.dice-game
DICE GAME from PSB2
Peter has an n sided die and Colin has an m sided die. If they both roll their dice at the same time, return the probability that Peter rolls strictly higher than Colin.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.fizz-buzz.html b/docs/propeller.problems.PSB2.fizz-buzz.html index 4e124b4..dbe605c 100644 --- a/docs/propeller.problems.PSB2.fizz-buzz.html +++ b/docs/propeller.problems.PSB2.fizz-buzz.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
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.
+Generated by Codox
Propeller 0.3.0
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.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
error-function
(error-function argmap data individual)
Finds the behaviors and errors of an individual: Error is 0 if the value and the program’s selected behavior match, or 1 if they differ, or 1000000 if no behavior is produced. The behavior is here defined as the final top item on the STRING stack.
diff --git a/docs/propeller.problems.PSB2.fuel-cost.html b/docs/propeller.problems.PSB2.fuel-cost.html index adc0c36..e07a48a 100644 --- a/docs/propeller.problems.PSB2.fuel-cost.html +++ b/docs/propeller.problems.PSB2.fuel-cost.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.fuel-cost
FUEL COST from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.fuel-cost
FUEL COST from PSB2
Given a vector of positive integers, divide each by 3, round the result down to the nearest integer, and subtract 2. Return the sum of all of the new integers in the vector
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.gcd.html b/docs/propeller.problems.PSB2.gcd.html index c88b88d..52df0b2 100644 --- a/docs/propeller.problems.PSB2.gcd.html +++ b/docs/propeller.problems.PSB2.gcd.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.gcd
GCD GREATEST COMMON DIVISOR from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.gcd
GCD GREATEST COMMON DIVISOR from PSB2
Given two integers, return the largest integer that divides each of the integers evenly
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.luhn.html b/docs/propeller.problems.PSB2.luhn.html index f679775..addd864 100644 --- a/docs/propeller.problems.PSB2.luhn.html +++ b/docs/propeller.problems.PSB2.luhn.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.luhn
LUHN from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.luhn
LUHN from PSB2
Given a vector of 16 digits, implement Luhn’s algorithm to verify a credit card number, such that it follows the following rules: double every other digit starting with the second digit. If any of the results are over 9, subtract 9 from them. Return the sum of all of the new digits.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.middle-character.html b/docs/propeller.problems.PSB2.middle-character.html index 90c554d..1e7024f 100644 --- a/docs/propeller.problems.PSB2.middle-character.html +++ b/docs/propeller.problems.PSB2.middle-character.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.middle-character
MIDDLE CHARACTER from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.middle-character
MIDDLE CHARACTER from PSB2
Given a string, return the middle character as a string if it is odd length; return the two middle characters as a string if it is even length.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.paired-digits.html b/docs/propeller.problems.PSB2.paired-digits.html index d8fbaaf..f60ed29 100644 --- a/docs/propeller.problems.PSB2.paired-digits.html +++ b/docs/propeller.problems.PSB2.paired-digits.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.paired-digits
PAIRED DIGITS from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.paired-digits
PAIRED DIGITS from PSB2
Given a string of digits, return the sum of the digits whose following digit is the same.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.shopping-list.html b/docs/propeller.problems.PSB2.shopping-list.html index 4defa18..d97663e 100644 --- a/docs/propeller.problems.PSB2.shopping-list.html +++ b/docs/propeller.problems.PSB2.shopping-list.html @@ -1,7 +1,7 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.shopping-list
DICE GAME from PSB2
-Peter has an n sided die and Colin has an m sided die. If they both roll their dice at the same time, return the probability that Peter rolls strictly higher than Colin.
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.shopping-list
SHOPPING LIST from PSB2
+Given a vector of floats representing the prices of various shopping goods and another vector of floats representing the percent discount of each of those goods, return the total price of the shopping trip after applying the discount to each item.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
error-function
(error-function argmap data individual)
Finds the behaviors and errors of an individual: Error is 0 if the value and the program’s selected behavior match, or 1 if they differ, or 1000000 if no behavior is produced. The behavior is here defined as the final top item on the FLOAT stack.
diff --git a/docs/propeller.problems.PSB2.snow-day.html b/docs/propeller.problems.PSB2.snow-day.html index 49ac690..d04c1ee 100644 --- a/docs/propeller.problems.PSB2.snow-day.html +++ b/docs/propeller.problems.PSB2.snow-day.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.snow-day
SNOW DAY from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.snow-day
SNOW DAY from PSB2
Given an integer representing a number of hours and 3 floats representing how much snow is on the ground, the rate of snow fall, and the proportion of snow melting per hour, return the amount of snow on the ground after the amount of hours given. Each hour is considered a discrete event of adding snow and then melting, not a continuous process.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.solve-boolean.html b/docs/propeller.problems.PSB2.solve-boolean.html index 599ff38..cb58bf2 100644 --- a/docs/propeller.problems.PSB2.solve-boolean.html +++ b/docs/propeller.problems.PSB2.solve-boolean.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.solve-boolean
SOLVE BOOLEAN from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.solve-boolean
SOLVE BOOLEAN from PSB2
Given a string representing a Boolean expression consisting of T, F, |, and &, evaluate it and return the resulting Boolean.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.spin-words.html b/docs/propeller.problems.PSB2.spin-words.html index a2dd3cf..9b0144b 100644 --- a/docs/propeller.problems.PSB2.spin-words.html +++ b/docs/propeller.problems.PSB2.spin-words.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.spin-words
SPIN WORDS from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.spin-words
SPIN WORDS from PSB2
Given a string of one or more words (separated by spaces), reverse all of the words that are five or more letters long and return the resulting string.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.square-digits.html b/docs/propeller.problems.PSB2.square-digits.html index a94c1ff..56ed2c0 100644 --- a/docs/propeller.problems.PSB2.square-digits.html +++ b/docs/propeller.problems.PSB2.square-digits.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.square-digits
SQUARE DIGITS from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.square-digits
SQUARE DIGITS from PSB2
Given a positive integer, square each digit and concatenate the squares into a returned string.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.substitution-cipher.html b/docs/propeller.problems.PSB2.substitution-cipher.html index 3f8f584..fff7b44 100644 --- a/docs/propeller.problems.PSB2.substitution-cipher.html +++ b/docs/propeller.problems.PSB2.substitution-cipher.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.substitution-cipher
SUBSTITUTION CIPHER from PSB2
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.substitution-cipher
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.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
diff --git a/docs/propeller.problems.PSB2.twitter.html b/docs/propeller.problems.PSB2.twitter.html index 70cc9c8..a21910d 100644 --- a/docs/propeller.problems.PSB2.twitter.html +++ b/docs/propeller.problems.PSB2.twitter.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.twitter
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.
+Generated by Codox
Propeller 0.3.0
propeller.problems.PSB2.twitter
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.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
error-function
(error-function argmap data individual)
Finds the behaviors and errors of an individual: Error is 0 if the value and the program’s selected behavior match, or 1 if they differ, or 1000000 if no behavior is produced. The behavior is here defined as the final top item on the STRING stack.
diff --git a/docs/propeller.problems.simple-regression.html b/docs/propeller.problems.simple-regression.html index 46b4d0e..286284a 100644 --- a/docs/propeller.problems.simple-regression.html +++ b/docs/propeller.problems.simple-regression.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.simple-regression
Simple Regression:
+Generated by Codox
Propeller 0.3.0
propeller.problems.simple-regression
Simple Regression:
Given inputs and outputs, find the target function.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
error-function
(error-function argmap data individual)
Finds the behaviors and errors of an individual. The error is the absolute deviation between the target output value and the program’s selected behavior, or 1000000 if no behavior is produced. The behavior is here defined as the final top item on the INTEGER stack.
diff --git a/docs/propeller.problems.software.number-io.html b/docs/propeller.problems.software.number-io.html index 8a1a960..4058b7a 100644 --- a/docs/propeller.problems.software.number-io.html +++ b/docs/propeller.problems.software.number-io.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.software.number-io
Number IO from iJava (http://ijava.cs.umass.edu/)
+Generated by Codox
Propeller 0.3.0
propeller.problems.software.number-io
Number IO from iJava (http://ijava.cs.umass.edu/)
This problem file defines the following problem:
There are two inputs, a float and an int. The program must read them in, find their sum as a float, and print the result as a float.
diff --git a/docs/propeller.problems.software.smallest.html b/docs/propeller.problems.software.smallest.html index af78820..f9aae4c 100644 --- a/docs/propeller.problems.software.smallest.html +++ b/docs/propeller.problems.software.smallest.html @@ -1,6 +1,6 @@ -Generated by Codox
Propeller 0.3.0
propeller.problems.software.smallest
SMALLEST PROBLEM from C. Le Goues et al., "The ManyBugs and IntroClass Benchmarks
+Generated by Codox
Propeller 0.3.0
propeller.problems.software.smallest
SMALLEST PROBLEM from C. Le Goues et al., "The ManyBugs and IntroClass Benchmarks
for Automated Repair of C Programs," in IEEE Transactions on Software
Engineering, vol. 41, no. 12, pp. 1236-1256, Dec. 1 2015.
diff --git a/docs/propeller.problems.string-classification.html b/docs/propeller.problems.string-classification.html
index cf9853b..d9c911b 100644
--- a/docs/propeller.problems.string-classification.html
+++ b/docs/propeller.problems.string-classification.html
@@ -1,6 +1,6 @@
-propeller.problems.string-classification documentation Generated by Codox
Propeller 0.3.0
propeller.problems.string-classification
String Classification:
+propeller.problems.string-classification documentation Generated by Codox
Propeller 0.3.0
propeller.problems.string-classification
String Classification:
Given a string, return true if it contains A, C, G, and T. Else return false.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
error-function
(error-function argmap data individual)
Finds the behaviors and errors of an individual: Error is 0 if the value and the program’s selected behavior match, or 1 if they differ, or 1000000 if no behavior is produced. The behavior is here defined as the final top item on the BOOLEAN stack.
diff --git a/docs/propeller.problems.valiant.html b/docs/propeller.problems.valiant.html
index 2ba8d6f..574ac12 100644
--- a/docs/propeller.problems.valiant.html
+++ b/docs/propeller.problems.valiant.html
@@ -1,6 +1,6 @@
-propeller.problems.valiant documentation Generated by Codox
Propeller 0.3.0
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.problems.valiant documentation Generated by Codox
Propeller 0.3.0
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.
-main
(-main & args)
Runs propel-gp, giving it a map of arguments.
error-function
(error-function argmap data individual)
Finds the behaviors and errors of an individual: Error is 0 if the value and the program’s selected behavior match, or 1 if they differ. The behavior is here defined as the final top item on the BOOLEAN stack.
instructions
A list of instructions which includes keyword strings with the format “in + i” where i is a number from 0 to num-vars-1 concatenated with boolean and exec_if instructions and close.
diff --git a/docs/propeller.push.instructions.bool.html b/docs/propeller.push.instructions.bool.html
index 0ca4d19..5b0ae73 100644
--- a/docs/propeller.push.instructions.bool.html
+++ b/docs/propeller.push.instructions.bool.html
@@ -1,4 +1,4 @@
-propeller.push.instructions.bool documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.bool
BOOLEAN Instructions, created with propeller.push.instructions/def-instruction
. List of instructions can be found at Additional Instructions.
+propeller.push.instructions.bool documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.bool
BOOLEAN Instructions, created with propeller.push.instructions/def-instruction
. List of instructions can be found at Additional Instructions.
\ No newline at end of file
diff --git a/docs/propeller.push.instructions.character.html b/docs/propeller.push.instructions.character.html
index 8effdbd..46e3db0 100644
--- a/docs/propeller.push.instructions.character.html
+++ b/docs/propeller.push.instructions.character.html
@@ -1,4 +1,4 @@
-propeller.push.instructions.character documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.character
CHAR Instructions, created with propeller.push.instructions/def-instruction
. List of instructions can be found at Additional Instructions.
+propeller.push.instructions.character documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.character
CHAR Instructions, created with propeller.push.instructions/def-instruction
. List of instructions can be found at Additional Instructions.
\ No newline at end of file
diff --git a/docs/propeller.push.instructions.code.html b/docs/propeller.push.instructions.code.html
index b57ca4d..6c85d6b 100644
--- a/docs/propeller.push.instructions.code.html
+++ b/docs/propeller.push.instructions.code.html
@@ -1,4 +1,4 @@
-propeller.push.instructions.code documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.code
CODE Instructions, created with propeller.push.instructions/def-instruction
. List of instructions can be found at Additional Instructions.
+propeller.push.instructions.code documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.code
CODE Instructions, created with propeller.push.instructions/def-instruction
. List of instructions can be found at Additional Instructions.
\ No newline at end of file
diff --git a/docs/propeller.push.instructions.html b/docs/propeller.push.instructions.html
index e77b7de..2289b73 100644
--- a/docs/propeller.push.instructions.html
+++ b/docs/propeller.push.instructions.html
@@ -1,6 +1,6 @@
-propeller.push.instructions documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions
Push Instructions
+propeller.push.instructions documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions
Push Instructions
def-instruction
(def-instruction instruction function)
Defines a Push instruction as a keyword-function pair, and adds it to the instruction table
generate-instructions
(generate-instructions stacks functions)
Given a sequence of stacks, e.g. :float :integer, and a sequence of suffix function strings, e.g. _add, _mult, _eq, automates the generation of all possible combination instructions, which here would be :float_add, :float_mult, :float_eq, :integer_add, :integer_mult, and :integer_eq, also transferring and updating the generic function’s stack-type metadata. For some vector instructions, the placeholder :elem will be replaced with the stack of the corresponding element type (e.g. for :vector_integer, with :integer)
get-literal-type
(get-literal-type data)
If a piece of data is a literal, return its corresponding stack name e.g. :integer
. Otherwise, return nil
.
diff --git a/docs/propeller.push.instructions.input-output.html b/docs/propeller.push.instructions.input-output.html
index 6bbb302..c6fb4e3 100644
--- a/docs/propeller.push.instructions.input-output.html
+++ b/docs/propeller.push.instructions.input-output.html
@@ -1,6 +1,6 @@
-propeller.push.instructions.input-output documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.input-output
INPUT and OUTPUT Instructions. Additional instructions can be found at Additional Instructions.
+propeller.push.instructions.input-output documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.input-output
INPUT and OUTPUT Instructions. Additional instructions can be found at Additional Instructions.
_print
Instruction to print output.
handle-input-instruction
(handle-input-instruction state instruction)
Allows Push to handle input instructions of the form :inN, e.g. :in2, taking elements thus labeled from the :input map and pushing them onto the :exec stack.
\ No newline at end of file
diff --git a/docs/propeller.push.instructions.numeric.html b/docs/propeller.push.instructions.numeric.html
index a91a590..1cc1cf3 100644
--- a/docs/propeller.push.instructions.numeric.html
+++ b/docs/propeller.push.instructions.numeric.html
@@ -1,6 +1,6 @@
-propeller.push.instructions.numeric documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.numeric
FLOAT and INTEGER Instructions (polymorphic). Additional instructions can be found at Additional Instructions.
+propeller.push.instructions.numeric documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.numeric
FLOAT and INTEGER Instructions (polymorphic). Additional instructions can be found at Additional Instructions.
_add
Pushes the sum of the top two items onto the same stack
_dec
Pushes the decrement (i.e. -1) of the top item of the stack
_from_boolean
Pushes 1 / 1.0 if the top BOOLEAN is TRUE, or 0 / 0.0 if FALSE
diff --git a/docs/propeller.push.instructions.polymorphic.html b/docs/propeller.push.instructions.polymorphic.html
index 0244a02..7b749c4 100644
--- a/docs/propeller.push.instructions.polymorphic.html
+++ b/docs/propeller.push.instructions.polymorphic.html
@@ -1,6 +1,6 @@
-propeller.push.instructions.polymorphic documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.polymorphic
Polymorphic Instructions (for all stacks, with the exception of non-data ones like input and output)
+propeller.push.instructions.polymorphic documentation Generated by Codox
Propeller 0.3.0
propeller.push.instructions.polymorphic
Polymorphic Instructions (for all stacks, with the exception of non-data ones like input and output)
_deep_dup
Pushes a copy of an indexed item from deep in the stack, without removing it. The top INTEGER is used to determine the index from the BOTTOM of the stack.
_dup
Duplicates the top item of the stack. Does not pop its argument (since that would negate the effect of the duplication)
_dup_items
Duplicates the top n items on the stack, one time each. The number n is determined by the top INTEGER. If n <= 0, no items will be duplicated. If fewer than n items are on the stack, the entire stack will be duplicated. The final number of items on the stack is limited to globals/max-stack-items.
diff --git a/docs/propeller.push.instructions.string.html b/docs/propeller.push.instructions.string.html
index 80a42e3..b2a6b5d 100644
--- a/docs/propeller.push.instructions.string.html
+++ b/docs/propeller.push.instructions.string.html
@@ -1,4 +1,4 @@
-propeller.push.instructions.string documentation Generated by Codox
Propeller 0.3.0