GenShade Process
GenShade uses a multiple-generation population of shaders to maintain
a large and diverse population, avoid stagnation, and give higher opportunity
to strong genetic material. This architecture preserves a large set of
the best scored shaders across a range of generations. In this way, artists
experiment knowing that there is nothing to lose by producing a generation
of "poor" shaders. In the worst case, the population will remain essentially
the same. Usually, the maximum population size is set between two
and three hundred. Shaders are inserted into the population in sorted order,
if automatic scoring is on, with higher scored shaders replacing
lower scored ones when the population maximum is exceeded. The multiple-generation
population allows parents and children to coexist in the same population,
which models an important feature of natural evolution. Initially, the
system retrieves shaders from a predefined database of shaders and inserts
the best scored shaders into these populations. Shaders are inserted into
male and female populations based on their image scoring. Shaders that
score high on illumination are called the "male" shaders and those
that score high on chromaticity the "female" shaders. This organization
is used in selection, which is described below.
The main pool contains the best shaders generated so far, sorted based on their overall score considering both illumination and chromaticity. In every generation, the pool is updated by new generated shaders. At the end, the user interactively selects desired shaders from the output pool. Since the output pool has no concept of aging, it contains the best shaders over all generations. An output pool of 200, the maximum size, has been used for experiments described in this study, with new higher scored shaders replacing lower scored shaders when this maximum is exceeded. The New Pool contains the best new shaders generated so far.
Aging is simulated in the multiple-generation population, to
allow successful shaders several opportunities to produce direct offspring,
while assuring that no single shader continues to dominate the population
for-
ever. This provides a good balance between keeping strong genetic material
in the pool and assuring diversity in the population.
If interactive scoring is on, the MGP pools
would not be updated every generation simply because there is no score.
Shaders would be selected then from the initial MGP pools based on their
rank. For example, a shader ranked 1st would have much more chance of getting
selected than one that is ranked 50.
Copyright (c) 1999-2000 Genetic Graphics Inc. All Rights reserved.