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.
- Fitness vs Generations: Displays progress over time. Fitness usually
increases exponentially.
- Error vs Generations: Displays the length of the traveling salesman's
tour against the generation.
- 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.