next up previous
Next: Fitness measure Up: The Genetic Algorithm Previous: Fuzzy Membership Functions

Chromosome generation

The first generation of the GA consists entirely of randomly generated chromosomes. Every randomly generated gene in each of the randomly generated chromosomes consisted of a $x_1$ generated with uniform probability in the range $[0,1)$ and $x_2$ generated similarly but set to $x_1$ if $x_2 < x_1$.

We considered two choices for the generation of $x_2$ (subject to the condition that $x_1 \leq x_2$):

On the highly debatable ground of favoring a more ``equitable'' distribution, we chose the second approach, an important fallout of which is that the probability of a crisp transition ($x_1 = x_2$) is 0.5. On average, half the transitions in a randomly generated individual are crisp ones. In the BWER detection algorithm, however, non-crisp transitions create individuals that are more fit. After several generations, few crisp transitions survive in the population - a rather round-about affirmation of our fuzzy logic approach!

Actually, we scale the random numbers generated before assigning them to $x_1$ and $x_2$. The actual values for $x_1$ and $x_2$ are determined by the real world values that the fuzzy set depends on. In addition, we discretize the search space into bins that are not so small that the problem becomes overfit and not so large that optimization does not happen. In the BWER algorithm, we used a quantization level, $x_{quant}$, of 100. For example, if our fuzzy set relies on a radar reflectivity value, we will set the minimum value of $x_1$ and $x_2$ to be $-5~dBZ$ and the maximum to $60~dBZ$ and discretize the values that $x_1$ and $x_2$ can take in intervals of $0.65~dBZ$. This does not mean that the underlying variable cannot take a value of, say, $65~dBZ$ - it simply means that the fuzzy set will treat all values of radar reflectivity above $60~dBZ$ the same way it treats a radar reflectivity value of $60~dBZ$.4 Therefore, the actual values of $x_1$ and $x_2$ that are used to decide the extent to which a fuzzy set holds is determined by scaling the random number, $x_{rnd}$,:

\begin{displaymath}
x_{1(2)} = x_{min} + \frac{x_{max}-x_{min}}{x_{quant}} * floor(x_{rnd} * x_{quant})
\end{displaymath} (5)

where the function $floor(x)$ is the largest integer that is not greater than $x$.


next up previous
Next: Fitness measure Up: The Genetic Algorithm Previous: Fuzzy Membership Functions
Lakshman : lakshman@nssl.noaa.gov