You are here

Symbolic Regression with Evolutionary Algorithms

I'm working more closer now with symbolic regression which is essentially genetic programming. It seems that the models we are making are based on using evolutionary algorithms. From these algorithms, there are a category of potential solutions to a problem. From these answers, they are possible answers mathematically that can be achieved in real world use. The chief directive of evolutionary algorithms is to locate the best solution throughout the evolutionary process. 

I have a a feeling about how evolutionary algorithms are used to improve our modeling, but I'm not going to speculate at this moment.

This is what I did this week:

Monday:  Finishing review of Columbia River Treaty, spent time looking at Virtual Columbia River data, started reading and taking notes from Powerpoint on Iteration #2 Results of Estuary Sub Group of the Ecosystem-Based Function Work Group (SELFE and Delft3D).

Tuesday: Attended part of The Columbia River Estuary "Bioreactor" discussion of the 2013 NSF site Visit, continued reading and taking notes from Powerpoint on Iteration #2 Results of Estuary Sub Group of the Ecosystem-Based Function Work Group (SELFE and Delft3D); attended CMOP Knowledge Transfer and Education and Broadening Participation discussions of the site visit.

Wednesday: Had a meeting discussing the ins-and-outs of blogging at CMOP then had a group picture, becoming more acquainted with my project by reading background on symbolic regression and genetic programming. Symbolic regression is based on reality of what is called evolutionary algorithms. This group of algorithms is from Darwinian philosophy of evolution and one of its prime characteristics is that there is not one calculated solution, but a category of potential solutions. This set of possible and adequate solutions is dubbed "population". Constituents of a population are named "individuals". Mathematically, they stand for possible answers, or answers which can be achieved in real world use. The chief goal of evolutionary algorithms is to locate the best solution throughout evolutionary process. Symbolic regression’s central aim is to "synthesize", in an evolutionary manner, a "program" (computer programs, logical expressions, mathematical formulas, etc...) which will solve a user identified problem as favorably as possible. I can see how this might be used for determining a Salmon Habitat Opportunity calculation. Looks like I’m going to use HTML again and learn some Python. Later on, I participated in safety training.

Thursday: Read more background on genetic programming, establishing a working Python environment on a computer, looked into various genetic programming libraries to choose which seems to be best supported or have the best features to try first.

Friday: Read more information about symbolic regressionI learned that genetic programming is essentially symbolic regression which is performed by evolutionary algorithms instead of by humans. I later attended an research ethics seminar, attended a meeting with the cyber team, had one-on-one meeting with Chrales, and did more research. 

I'll probably do more research tonight and on the weekend, but I'll try to have some non-CMOP related fun while I'm at it