Genetic Programming
Genetic programming, evolutionary algorithms, and genetic algorithms. Keep up with the latest research, share your experiences and applications, discuss best practices.
Username: Password:
Create a community | Create an account | Forgot your password?
Moderator: psiolent

Home

Submit to Community

Forum

Sections
Research and News
Applications
Best Practices
Resources
Ask the Community

    Computers > Artificial Intelligence > Genetic Programming > Applications > Genetic Algorithms and Curve Fitting

Genetic Algorithms and Curve Fitting

Submitted 2005-09-19 10:40:08 by psiolent
Rating: 0 (0 votes) | 1702 Views
Section: Applications


I recently was working on a project that required modeling of radio transmission signal strength at various distances from a radio source. Theoretically, signal strength drops off with the square. That is, if you move twice the distance away, the signal drops off by a factor of four.

Unfortunately, this doesn't happen in real life for a variety of reasons. Fortunately, though, I had a good data set measuring signal strength from the radio source in question by distance.

There are many applications of genetic programming used to find formulas for curves and other applications. However, these require pretty advanced population representation involving operator trees (I'm sure you've seen examples).

I knew the basic form of my final formula would be 1 / d ^ 2 (where d is distance). However, the curve can be scaled vertically and horizontally and shifted vertically and horizontally due to a variety of real-life influences. I created a new formula that used only 4 parameters to represent this shifting and scaling. This new formula looked like this:

A / (Bd + C) ^ 2 + D

Here, A represents vertical scaling, B represents horizontal scaling, C represents horizontal shifting, and D represents vertical shifting.

I built a simple genetic algorithm that only dealt with these four parameters. This algorithm very quickly evolved a parameter set that minimized the error from the data set.

General purpose genetic algorithms certainly are very useful. But there is no reason to use them when more data is available that can lead to a faster, more efficient evolution. In this case, genetic algorithms were used in a tight, focused way and found me four parameters that were just right.



Discuss this submission in the forum

Rate this submission: Bad Good
   
Most Recent
Ephimeral Random Constants
pySTEP or Python Strongly Typed gEnetic Programming
Assistance Request
Using Genetic Programming to Create Music
Beginner's Guide to Genetic Programming

Most Viewed
Evolving a Keyboard Layout
Genetic Algorithms in Video Game
GP in Python
JAGA: Java API for Genetic Algorithms
Groovy Java Genetic Programming

Most Popular
The Birth of Genetic Programming
DGPF
Selecting Neural Net Parameters with Genetic Algorithms
JAGA: Java API for Genetic Algorithms
Fighting Crime with Genetic Algorithms


All trademarks and copyrights on this page are owned by their respective owners. All posts are owned by the poster. All submissions are owned by the submitter. Everything else copyright © 2005-2010 Kozaja, Incorporated | Terms of Service | Wed, 08 Sep 2010 16:21:06 -0700 | Free web communities at Bloomshare