An open API service indexing awesome lists of open source software.

https://github.com/iwhalen/symbolic_regression

Simple Symbolic Regression
https://github.com/iwhalen/symbolic_regression

evolutionary-computation function-tree genetic-programming reverse-polish-notation symbolic-regression

Last synced: 2 days ago
JSON representation

Simple Symbolic Regression

Awesome Lists containing this project

README

          

# CSE822 Symbolic Regression Project

A simple symbolic regression project using genetic programming, MPI, and OpenMP. This code makes heavy use of reverse polish notation (abbreviated rpn in the code; also known as post-fix notation) which is a simple way of representing a function so it can be evaluated on a stack: [see here for more](https://en.wikipedia.org/wiki/Reverse_Polish_notation). For more on genetic programming see [wikipedia](https://en.wikipedia.org/wiki/Genetic_programming), [geneticprogramming.com](http://geneticprogramming.com/), and [this excellent introductory book](https://www.amazon.com/Genetic-Programming-Introduction-Artificial-Intelligence/dp/155860510X).

## Compiling

Run `make`.

## Running

Compiled program takes a few arguments to be able to run.

```
-m mutation rate, in range [0, 1]
-c crossover rate, in range [0, 1]
-s seed, random seed
-f function, from FunctionFactory::FunctionType enum
-p population size, > 0
-g generations, > 0
```

Each must be provided, no default values are hard coded. See `simple_run.sh` for an example.