Genetic Optimization of Fuzzy Functions
Dan Simon
Innovatia Software
dan@innovatia.com
Copyright 1998–2007 Innovatia Software. All Rights Reserved.
Preliminaries
Previous white papers by
Innovatia Software discussed the topic of fuzzy filtering in general terms, and how the fuzzy membership functions
could be optimized using gradient descent. In this paper, the membership functions are optimized
using a genetic algorithm. As before, the application is fuzzy filtering for
phase-locked loops (PLLs) in a Global Positioning System (GPS) receiver,
although the approach is general enough to be applied to most estimation
problems. See the Hybrid Kalman / H-infinity filtering paper for some general information
about GPS and PLLs.
Genetic
Algorithms
A genetic algorithm (GA) is
a mathematical method which is motivated by the concept of "survival of
the fittest" in biological evolution. GAs can be used to optimize a fuzzy
PLL as follows. First, a "population" of fuzzy membership functions
is created. The fuzzy membership functions can be created randomly, or they can
be created as random perturbations around some nominal functions. Each member
of the population is represented as a binary string. For instance, if symmetric
trapezoidal membership functions are used as in the figure below, then each
member of the population should have enough "genetic" information in
its binary string to represent three parameters for each membership function -
one parameter for the center of the trapezoid, one for the width of the base,
and one for the width of the top.

Say we have seven
membership functions for both of the fuzzy inputs, and seven membership
functions for the fuzzy output. That would make a total of 63 parameters which
define the membership functions (3 *
[7 + 7 + 7]). Let's say that each parameter will be coded using m bits.
That means that each member of the population would be represented as a binary
string of 63m bits. The binary representation of a parameter is mapped
into the number P in the range [Pmin, Pmax].
If a linear mapping is appropriate, then the mapping can be performed according
to the following equation.
P = Pmin + b * (Pmax - Pmin) / (2m
- 1)
where b is the
integer value represented by the m-bit string. For instance, say we are
trying to map an 8-bit number into the range [0, 1]. The bit string 00010000
represents the integer 16, so that means that it represents 0 + 16 ´ (1 - 0) / (28 - 1) = 0.063.
Once we have a population
of fuzzy membership functions (each member of the population represented by a
bit string), the "fitness" of each member of the population is
evaluated according to some predetermined method. In PLL design, the most
important performance criteria are (in order of descending importance)
§
Probability
of loss of lock
§
Probability
of cycle slip
§
Phase
estimation error
So the fitness of a member
of our population can be measured on the basis of a set of simulations of the
fuzzy PLL.
Fitness = k1 * P(loss of lock) + k2 * P(cycle slip) + k3 * Erms
where the ki's
are constants determined by the relative importance of the three criteria
above. Unlike gradient descent, a GA can minimize the probability of cycle slips
and the probability of loss of lock in addition to minimizing phase
estimation error.
Once the fitness of each
member of the population is evaluated, the weakest members are killed. The
fittest members then reproduce according to two methods: parthenogenesis
(cloning) and crossover (mating). In cloning, a the population member is
reproduced identically. In mating, two members of the population join with each
other to form an offspring which is a combination of the two parents. For
instance, if each member has k bits of information, then perhaps bits 1
- r of parent A and
bits r+1 - k of parent B could
be copied into the offspring, where the number r is randomly generated.
Finally, there is a small but
nonzero probability of mutation in the offspring. Each bit of the offspring has
a small probability of being flipped. Mutation helps reinject genetic
information which may have been lost in the current generation. A cycle of
fitness evaluation, reproduction, and mutation, is referred to as a
"generation."
Simulation Results
So how does it work? The
method outlined above was simulated for a PLL in a GPS receiver located on a
missile flying a test flight from California to the South Pacific. The details
of the simulation are described in a previous white paper. The population size for the GA described above was
fixed at 40 members. The fitness of each member was evaluated on the basis of
100 simulations of 10 seconds each. The fitness function parameters in the
fitness equation were fixed at k1 = 20, k2 = 10, and k3
= 1. The fittest 10% of the population was cloned at the end of each
generation. The least fit 50% of the population was exterminated. Then the
fittest 50% of the population (including the clones) mated to restore the
population size to 40. The probability of an offspring undergoing a 1-bit
mutation was 1%. Five bits were used for each fuzzy membership function
parameter, giving a 1/32 radian (approximating 1.8 degrees) resolution for each
parameter. The fuzzy membership functions were constrained to be symmetric
trapezoids as shown in the figure above, and the fitness function was optimized
with respect to 63 parameters as discussed above. The figure below shows the
improvement in fitness as the population evolved.

So how does the genetically
optimized fuzzy PLL perform? The table below shows the performance of the
optimized PLL filter. The Kalman PLL was designed using Kalman filtering. The Hybrid PLL was designed using hybrid Kalman / minimax filtering. The Nominal Fuzzy PLL was designed
using common-sense triangular membership functions for the inputs and output of
the PLL. The Gradient Fuzzy PLL was optimized using a gradient-descent method.
Finally, the Genetic PLL was optimized using the method described in this
paper. The performance of the various PLL methods is shown for three different
values of Carrier-to-Noise ratios (in units of dB-Hz).
Probability of Loss of Lock for Various PLL Methods
(Percent)
|
PLL METHOD |
CNR = 18 |
CNR = 19 |
CNR = 20 |
|
Kalman |
29 |
13 |
4 |
|
Hybrid |
5 |
2 |
0 |
|
Nominal Fuzzy |
73 |
45 |
24 |
|
Gradient Fuzzy |
38 |
18 |
9 |
|
Genetic Fuzzy |
6 |
9 |
0 |
It can be seen from the
above table that the Hybrid and Genetic PLLs perform best as for as loss of
lock is concerned. As expected, the Genetic PLL performs better than the Gradient
PLL due to the fact that the Genetic PLL has more degrees of freedom in its
search for the optimal rules. (The Genetic PLL optimized trapezoidal membership
functions, while the Gradient PLL optimized triangular membership functions.)
Conclusion
Genetic optimization is a
method which can be applied to any function, diffentiable or not. It is an
attractive approach to optimization because the function to be optimized does
not have to be differentiable (in contrast to gradient-descent based optimization).
In addition, it converges to a global minimum (in general) rather than a local
minimum. This paper has shown the benefits which can accrue from optimization
using a genetic algorithm.
References
Innovatia Software's
previous white paper on fuzzy filtering has several references (both hardcopy and web-based) on the
general topic of fuzzy logic. Some good references on genetic algorithms
include the following.
·
D.
Dasgupta and Z. Michalewicz, "Evolutionary Algorithms in Engineering
Applications," 1997
·
M.
Gen and R. Cheng, "Genetic Algorithms and Engineering Design," 1997.
·
D.
Goldberg, "Genetic Algorithms in Search, Optimization and Machine
Learning," 1989 .
·
M.
Mitchell, "An Introduction to Genetic Algorithms (Complex Adaptive
Systems)," 1996.
·
R.
Haupt and S. Haupt, "Practical Genetic Algorithms," 1998.
The Genetic Algorithms FAQ is a good Internet resource about GAs.
The specific application of
genetic algorithms to fuzzy logic as discussed in this paper can be explored
further in the following papers, which delve into the topic in more detail.
·
D.
Simon and H. El-Sherief, "Fuzzy Logic for Digital Phase-Locked Loop Filter
Design," IEEE Transactions on Fuzzy Systems, May 1995.
·
D.
Simon and H. El-Sherief, "Fuzzy Phase-Locked Loops," IEEE
Position, Location and Navigation Symposium, April 1994.
Home
Credentials
Publications White Papers
Copyright 1998–2007 Innovatia. All Rights
Reserved.
Email Address: dan@innovatia.com
Phone Number: (216)687-5407
Last Revised: May 29, 2007