Comments
Eric Abrahamson wrote: Ericabrahamson [at] aya [dot] yale [dot] edu. Thanks for the wave. I'm a senior Computer Science Major at Cal State East Bay in Hayward and an IT Assistant at the SEVA Foundation in Berkeley, CA.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

SYS-CON.TV
Today's Top SOA Links


Timing the Market with Distributed Genetics - Part 2
Picking the best stocks for investing a fixed amount of money

At the end of my previous article (DNDJ, Vol. 6, issue 4), I explained the theory behind the two major technologies to be used in timing the market. On the one hand, we are dealing with distributed computing - a process whereby large computationally intensive tasks can be broken up and shared among multiple computers in order to be processed in a shorter amount of time. On the other hand, genetic programming gives us a mechanism for solving the most complicated of problems by "evolving" a solution through the random creation of multiple candidate solutions and the gradual selection of the ones that look most promising.

In this article - the second of this two-part series - we are going to dive into the code behind our solution. First, we'll look at the genetic programming implementation - and see how the artificial intelligence principles that govern this approach can be most readily applied to picking the best stocks in which to invest a fixed amount of money. We'll see what kinds of data these algorithms will require to make their decisions, and we'll see how to evaluate the potential solutions after they've made their decisions.

In the second half of this article we'll turn our attention to the "grid-ification" of our genetic programming solution. A key concern with any such operation is the proper decomposition of a software application into the client application that is intended to run on a single centralized system, and the pieces that are intended to be distributed among multiple machines to perform the actual work of the solution. We'll take a look at the way our solution is constructed, as well as some key challenges that had to be overcome in its creation.

The Genetic Algorithm
The essential framework for the genetic portion of our solution was provided by Brian Connolly in his article "Survival of the Fittest: Natural Selection with Windows Forms". In this article, Brian shows how .NET's Codegen facilities - a set of classes that allow .NET applications to generate new .NET code at runtime - can be leveraged to produce automated "ants" that can, over the course of multiple generations, become increasingly good at gathering pieces of food dropped on a theoretical grid.

Since you can read all about the basics of genetic programming with .NET in this article, we won't go into much more depth about this technology here. There are also three classes provided in this article that we were able to use without modification (see Table 1).

About Derek Ferguson
Derek Ferguson, founding editor and editor-in-chief of .Net Developer's Journal, is a noted technology expert and former Microsoft MVP.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE