Click GO to start!
You need Java to run Googu.

Googu is a visualization tool and a graphical front end written in java for a genetic algorithm currently written in C. The GA writes its output to one or more files, which Googu reads. Note that both reading and writing can occur simultaneously, and Googu can read more data as it is written. We believe that this architecture is the best way to combine the speed needed by the GA (on any useful application) with the architecture neutrality of Java. The GA and Googu can be run on different machines, in fact, a parallelized GA could be running on many machines. Provided the GA's output files are net-accessible, an unlimited number of users with Java-enabled browsers can view various aspects of the GA as it runs or after it completes. In addition, any GA whose output matches the specified format can be used with one or more of the views available. We believe that this architecture and tool leads to a collaborative research and design tool that can link researchers and developers across the world.

There are currently four views of three different types; a total of four types exist, more will be added, and documentation on writing your own views will be available soon.

We are currently developing the code and this beta version is set by default to display output related to a 76-city traveling salesman problem. Also, the first display is set to show information about underground rock velocities. This cell graph shows a cross section of Earth's crust, with colors indicating velocities. This output was produced by a simulated annealer.

  1. Fitness vs Generations: Displays progress over time. Fitness usually increases exponentially.
  2. Error vs Generations: Displays the length of the traveling salesman's tour against the generation.
  3. Path vs. Generations: Displays the complete path taken by the salesman at each generation. If the GA is working well, this path will look less "cluttered" over time.
    GASLab
    gaslab@cs.unr.edu