A forum for questions and answers about network programming on Linux and all other Unix-like systems

You are not logged in.

Pages: **1**

**enjoy****Member**- Registered: 2005-03-13
- Posts: 20

Hi,

I am presently developing image processing applications using C++.

obviously, such applications repeat mathematical functions like matrix multiplications, inverse of matrix millions of times. so i am in the state to optimize the application.

i want to use some open math libraries developed based on GENETIC algorithms.(i dont know where to access them).

can u kindly give some web sites/links related to that?

regards,

Enjoy.

Offline

**i3839****Oddministrator**- From: Amsterdam
- Registered: 2003-06-07
- Posts: 2,239

The problem is that genetic algorithms are mainly very good at solving more fuzzy, or computationally difficult problems. Matrix math is mathematically fixed, so the only way to optimize it in a math library is in the actual code implementation of the thing. Of course there are things which can be tuned on a higher level in your program, like the order of the matrix multiplications, splitup of the work, number of threads, etc. Tuning such things can be done with a runtime genetic algorithm, but it will be very specific for your program, so it most likely won't be found in some math library.

It may be more worthwile for you to avoid the raw computations you need to do, by writing specific math functions which take advantage of the data representation in your program (e.g. matrix functions which work on inverted matrices, thus avoiding inverting matrices whenever possible).

What you also could try is to let a graphic card do most of the computations. With newer cards which have shader support it may be very rewarding. Just render to an off-screen buffer which represents the results and read it back when it's done.

You could use genetic algorithms for the image processing itself, depending on what exactly you do. Using it only for the math part isn't very useful I think.

Offline

Pages: **1**