Advertisement

GA Generating Functions

Started by October 14, 2004 03:23 PM
4 comments, last by Prozak 20 years, 1 month ago
I would like to see some sort of Genetic-Evolved program that evolves an aproximation to a curve. Basicaly, I have this original function f(x)=y. I want to get an AI-generated equation that will aproximate f(x)=y as closely as possible, as: in: 5 out: 1 in: 4 out: 3 in: 3 out: 2 etc... and the AI-evolved function would aproximate these values as closely as possible. Is there anything out there on the market like this?
Yeah, a tonne of stuff. It's trivial (as described).

It entirely depends upon what your paramaters are, and what your terminal and non-terminal sets are.

Some more info (why you want this, how it needst to work, etc) would help...
Advertisement
For moderatly simple cases you can actually code something yourself in just a few hours (I just did today actually), but it really depends on how fast you need it to converge how stable it needs to be in getting good results and the sophistication of your data.

Here's a screenshot of my app running the green curve is the input a half-sine wave with 30 sample points, the red curve is the currently best approximation.

Note that the only operations availble to my "monkies" in this case
are "x += value", "x *= value", "x = 1/x" and "x *= x" runtime when the picture was taken was about 30seconds.

http://delfinen.telge.kth.se/~tobbe/MonkeySine.png
HardDrop - hard link shell extension."Tread softly because you tread on my dreams" - Yeats
Yeah, this is something you could do in a short period of time. I recently made a GP library, for use in a project I'm currently involved in, that supports various methods so I can test various approaches to the problem (I actually plugged your example in the fitness function for fun). With something so specific you could easily get away with something done in an hour or two.
If a plant cannot live according to its nature, it dies; so a man.
This is not an AI problem; it's a maths problem. Specifically, it's the problem of non-parametric curve fitting. It also doesn't require an evolutionary solution (although obviously you could apply one).

Q: Why, particularly, does this need to be a non-parametric approximation?

Timkin
hmmm....

ok, there is this complex algorithm, to which i don't have access, that produces a varying pattern, depending on a numeric input.

If I input 5 to it, it produces a pattern with a certain length, and with a certain number sequence, which is allways static.

As the number increases, so does the pattern length.

I would like to know if there is any "equation generator" that would try to create a mathematic equation that would aproximate as best it can the pattern created by the algorithm...

If I do get such an equation, my work could be greatly sped up.

I imagined such an equation could be evolved through the use of Genetic Algorithms, that was a first guess, but other methods are welcome of course.

Thanx for any insights into this...

This topic is closed to new replies.

Advertisement