BW: Blind Watchmaker for Matlab

BW is a Matlab program that provides a Blind Watchmaker interface for visually evolving a “genotype” vector of floating-point values based on the displayable “phenotype” they result in. You provide the genotype->phenotype display function, and BW does the rest.

To use the BW program, you will need to run Matlab. To get a copy of BW, download and unzip this file. You can see a trivial example of the program in action by typing

>> load circle

>> bw(circle, 'trivial')

In this example, the initial vector is just the X,Y points of a circle, and the genotype->phenotype display function is just a scatter plot of the points.


>> help bw

will give you more information, including how to optimize-out computations that need to be performed only once, when you invoke the program.

Below is an illustration of what the program display looks like, for a phenotype created by running the unit cube through one iteration of a non-linear 3D fractal system represented by the genotype. The current phenotype is in the large figure at left, and four mutated variants are shown at right. Note the Load and Save capability, which loads/saves .mat files by reading/writing a variable called w.