Mini-Project 2 : Java-based Distributed Genetic Programming
Abstract of my mini-project report
The increased availability of the Internet presents a wealth
of computing resources which, when harnessed in the implementation of
genetic programming, provides the computing power required for
solving difficult problems. This paper proposes a distributed
approach to genetic programming. A distributed genetic
programming system termed DGP is developed in the Java programming
language to demonstrate the potential of distributed genetic
programming running over a network of heterogeneous computers. This paper
describes the design and implementation of the DGP
system. Experiments were conducted to compare the performances of
distributed genetic programming and conventional genetic programming
on three problems. The results of the experiments are reported in
this paper.
The DGP system
Description
The DGP system system was adapted from a standalone GP system written by
Hansueli Gerber to solve the simple symbolic regression problem. The implementation of DGP consists of several sequential genetic programs running aschronously on a network of workstations, trying to maximise the same function. On each workstation, a local population is resident, which evolves independently of the populations on the other workstations. After a designated number of generations, each workstation will transmit their best solutions to neighbouring subpopulations. On receiving immigrants from other populations, the workstation will select and replace its worst individual with these immigrants. This migration of individuals refreshes the genetic material of neighbouring populations. Instructions for running the DGP system is
here.
Features
-
The DGP system is designed to be genetic and can support a variety of problem domains. Three problems, namely, Symbolic Regression, Artificial Ant following the Santa Fe trail and the Los Altos Hills trail, have been successfully implemented in DGP. This is achieved through an object oriented design coupled with code sharing using abstraction and inheritance in Java. A common user interface is used for all three problems. The user has just to specify the problem name together with some control parameters in the command to invoke the DGP system.
-
Flexibility to support both the execution of stand-alone and distributed genetic programs.
-
Independence of execution platform. This is made possible through the use of Java, a platform independent programming language.
-
Dynamic monitoring and control, to keep track of the GP progress. The GUI is as follows :
-
Dynamic specification of execution parameters using the following GUI interface :
This page has had
hits since 13 July 1998.
Last updated on 28/06/98