Symbolic Regression Using Genetic Programming And No Plagrism

Genetic Programming

The first portion of the assignment is to implement the GP for symbolic regression. I strongly encourage you to use an already created GP system for this assignment (although, if you want, by all means make your own from scratch). Two popular ones are ECJ1 (Java) and DEAP2 (Python), but feel free to use any system you like, but please do check with me if you want to use one implemented in a language other than Java, Python, C, C++, C#. If you want, you can use mine3, but note that it will only work on symbolic regression and it is not that well documented (but it is very good at symbolic regression).

Any academic misconduct will be investigated fully and I will push for the maximum allowable penalty.

I have provided you with a collection of data in CSV format. For the most part, this data was generated by me by randomly generating data points, pumping it through a function, and then adding a little bit of noise to the output. See if you can reverse engineer the functions I used to create the data. All the data is formatted such that the first n-1 columns are the independent variables and the nth (last) column is

https://cs.gmu.edu/~eclab/projects/ecj/

https://deap.readthedocs.io/en/master/

3

the dependent variable. For example, in ‘d1.csv’ there are two columns. The first column we will call and the second we will call y. We need to find some function of that will predict y. So, y ≈ f(x). If we had 3 columns, we would want z ≈ f(x,y). Note I have approximately equal to because you may not find the exact functions, but you will likely still get a close approximation. Ultimately, your goal is to use symbolic regression to try to find

"Get 15% discount on your first 3 orders with us"
Use the following coupon
FIRST15

Order Now