« Real-world GPU applications from @GPUComputing | Main | Wall socket + USB power »

Eureqa and Symbolic Regression

In the mid 90's I worked at a company called Optimax.  They had a really brilliant solution for solving manufacturing scheduling problems -- especially problems that didn't fit into traditional O.R. models.

The Optimax approach was to mash an uber-fast truth maintenance system with a genetic algorithm solver.  Also throw in a scripting language so humans could use it.  The end result was that you could simply declare your scheduling problem in the scripting language, the genetic algorithm solver would attempt to produce a more optimal schedule and the TMS would keep the solver honest by quickly scoring schedules and determing feasibility.  Lather, rinse, repeat.  In a short amount of time you wound up with a very good schedule.  If you wanted to, you could even attempt to modify that schedule manually and the TMS would warn you if you produced an infeasible schedule.

It worked really well.  Having just come from American Airlines' hardcore O.R. group (AADT) I was really impressed and learned quite a bit.

Back to the present... yesterday I actually spent a little time looking for a tool to help me synthesize some low-level x86 SSE instructions from a table of raw input and output data and thought about how it was a variation of what was built at Optimax.  I didn't immediately find anything...

... and then today my friend Sam sent me the link to Cornell's Eureqa tool

Here's the summary from the Eureqa site:

Eureqa is a software tool for detecting equations and hidden mathematical relationships in your data. Its primary goal is to identify the simplest mathematical formulas which could describe the underlying mechanisms that produced the data. Eureqa is free to download and use. Below you will find the program download, video tutorial, user forum, and other and reference materials.

I'm excited to see if it can help me solve my problem!

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>