GPdotNET – Quick Tour


GPdotNET is tree based genetic programming application for solving problems based on Symbolic Regression. GPdotNET can be applied in various engineering problems of modeling and optimization, as well as Time Series modeling. Project contains C# library with Genetic programming implementation algorithms and Windows Forms application for graphical and visual results presentation. GPdotNET also support parallel processing for multicore processors based on ParallelFx library.

GPdotNET Quick Tour

GPdotNEt requires data to be stored in CSV format, which you can load in application. You can also load data for testing prediction model. The following picture shows Data dialog for loading training and testing data. Loaded data are presented in tabular and graphical manner.

Data format

The format of data which you can load in to  an application are in CSV format. The following picture show data format in notepad editor. Each column is split with semicolon, and each row with new line.

clip_image004

Note that decimal separator is comma (European standard). During of loading data for training and testing, program creates model with the last colum as an output variable, and others as input. From training data GPdotNET define variable for Terminal set as well.

Settings parameters of Genetic programming

GP has various parameters which have to be correctly set. The following picture show GP parameters GPdotNET supports.

Selection Methods in Genetic programming

Regarding selection methods in GP, GPdotNET supports 6 kind of selection:

  1. Rank
  2. Roulete
  3. Tournment
  4. SUS
  5. FUS
  6. SS

Tournment and SS (Skrgic selection) contain additional parameter, which can be specified by the user.

Initialization methods

Initialization methods supported with GPdotNET

1. Full

2. Grow

3. Ramphed – Half & half

Primitive computers programs

Every genetic programming algorithms contains set of primitive computers programs which user can choose for model. GPdotNET support near 50 function which can be included in GP model. User can easily choose which programs can be included in GP model by checking Selected column. The weight column  defined different probability for choosing function during of run the GP.

Running GP algorithm

When you setup all information needed for running GP, click Run button, and algorithm is starting. On this Tab page (see picture below) you can see information about:

1. Current generation

2. Currently best fitness

4. Maximum fitness

5. Average fitness in population

Etc…

Involve until is option how to run program regarding fitness value or generation number. In combo box option you can choose:

Involve until:

1. Generation number

2. Fitness >=

Based on the option, you can input value in edit control.

You can also see some time specific information about average time left to program completes (if you select involve until generation number).

Presenting the results

GPdotNET is multithreaded application, so during the program runs, you can see result model, as well as result in S-Expression.

Click on View S- expression button to see result.

clip_image014

Testig GP model

If you loaded test data in Data Tab page, when program finish searching for the best chromosome, you can see prediction based on the current result. See picture below. You can also see the prediction of testing data during the program runs.

There will be more in the next post, which we will put some tutorials about modelling in GPdogtNET.

About Bahrudin Hrnjica

PhD in Mechanical Engineering, Microsoft MVP for .NET. Likes .NET, Math, Mechanical Engineering, Evolutionary Algorithms, Blogging.

Posted on 05/11/2009, in .NET, C#, GPdotNET and tagged , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s