第四章 Perspectives on Fuzzy Control
4.1 Overview
Fuzzy control does not exist as an isolated topic devoid of relationships to other fields, and it is important to understand
how it relates to these other fields in order to strengthen your understanding of it. We have emphasized that fuzzy control
has its foundations in conventional control and that there are many relationships to techniques, ideas, and methodologies
there. Fuzzy control is also an "intelligent control" technique, and hence there are certain relationships between it and
other intelligent control methods. In this chapter we will provide a brief overview of some of the basic relationships
between fuzzy control and other control methods. This will give the reader who has a good understanding of fuzzy
control a glimpse of related topics in other areas. Moreover, it will give the reader who has a good understanding of other
areas of control an idea of what the field of fuzzy control is concerned with.
We begin the chapter in Section 4.2 by providing a conventional control engineering perspective on fuzzy control.
This is essentially a summary of many of the points that we have made throughout the text, but here we bring them all
together. Following this, in Section 4.3 we introduce two popular areas in neural networks, the multilayer perceptron and
the radial basis function neural network. We explain that a class of radial basis function neural networks is identical to a
class of fuzzy systems. Moreover, we explain how techniques covered in this book (e.g., gradient training and adaptive
control) can be used for neural networks. In Section 4.4 we explain genetic algorithms, their relationship to the field of
control, and particularly their use with fuzzy systems. Next, in Section 4.5 we provide an overview of some of the
relationships to knowledge-based systems, particularly expert systems (and hence expert control) and planning systems.
Finally, in Section 4.6 we provide an overview of the general area of (hierarchical) intelligent and autonomous control
where we offer some ideas on how to define the field of intelligent control and how some of the most general intelligent
controllers operate. We use an "intelligent vehicle highway system" problem to illustrate the use of the intelligent
autonomous controller functional architecture.
This chapter is meant to provide a view of, and motivation for, the main areas in the field of intelligent control. The
reader interested only in fuzzy control can certainly ignore this chapter; we do not, however, advise this as the
relationships to other fields often suggest ideas on how to expand the basic fuzzy control methods and may provide key
ideas on how to solve a control problem for a particular application.
4.2 Fuzzy Versus Conventional Control
What are the advantages and disadvantages of fuzzy control as compared to conventional control? What are the
perspectives of conventional control engineers on fuzzy control? In this section we will attempt to give answers to these
questions by asking, and at least partially answering, a series of questions that we have accumulated over the years from
a variety of engineers in industry and universities concerned about whether to use fuzzy or conventional control. We
break the questions into three categories and use the questions to summarize several points made in earlier chapters.
4.2.1 Modeling Issues and Design Methodology
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
First, we will discuss several issues related to modeling and the overall fuzzy controller design methodology.
1. Is the fuzzy controller design methodology viable? Success in a variety of applications (e.g., the flexible-link robot
application studied in this book) has proven fuzzy control to be a viable methodology and therefore worthy of
consideration.
2. Do engineers like the methodology? Some do, and some do not. Engineers who have found success with it tend to
like it. Often, we find that if engineers invest the time into learning it, they find it to be a tool with which they are
comfortable working (they feel like it is "one more tool in their toolbox"). This may be because fuzzy systems are
interpolators and engineers are used to thinking about using interpolation as a solution to a wide variety of problems.
3. Will the methodology always work? No. The reason we can be so definite in this answer is that it is not the
methodology that ultimately leads to success; it is the clever ideas that the control engineer uses to achieve
high-performance control. Fuzzy control is a vehicle, and the engineer is the driver. Some find that the vehicle is
comfortable and that they can coax it into performing all kinds of functions for them. Others are not so comfortable with
it.
4. Does the design methodology always shorten the "lead time" to design and implementation? In talking with many
people in industry, we have found that most often it does (and this is very important, especially in today's competitive
climate), but we have also heard of instances where people factor in the cost of having their engineers learn the method
and then found the membership functions very hard to tune. In these cases the clear answer from the engineers was that it
did not make things easier. We have heard from some that fuzzy logic implements, in a similar way, the standard logic
and interpolation methods they already use. Sometimes such engineers find that the fuzzy control jargon clouds the
issues that are central to the control problem. Others like that it helps to formalize what they have been doing and helps
to suggest ideas for other approaches.
5. Is a model used in the fuzzy control design methodology? It is possible that a mathematical model is not used.
However, often it is used in simulation to redesign a fuzzy controller. Others argue that a model is always used: even if it
is not written down, some type of model is used "in your head."
6. Since most people claim that no formal model is used in the fuzzy control design methodology, the following
questions arise:
? (a) Is it not true that there are few, if any, assumptions to be violated by fuzzy control and that the technique
can be indiscriminately applied? Yes, and sometimes it is applied to systems where it is clear that a PID
controller or look-up table would be just as effective. So, if this is the case, then why not use fuzzy control?
Because it is more computationally complex than a PID controller and the PID controller is much more widely
understood.
? (b) Are heuristics all that are available to perform fuzzy controller design? No. Any good models that can be
used, probably should be.
? (c) By ignoring a formal model, if it is available, is it not the case that a significant amount of information
about how to control the plant is ignored? Yes. If, for example, you have a model of a complex process, we often
use simulations to gain an understanding of how best to control the plant—and this knowledge can be used to
design a fuzzy controller.
? (d) Can standard control theoretic analysis be used to verify the operation of the resulting control system?
Sometimes, if the fuzzy control system satisfies the assumptions needed for the mathematical analysis. This will
be discussed in more detail in the next section.
? (e) Will it be difficult to clearly characterize the limitations of various fuzzy control techniques (i.e., to classify
which plants can be controlled best with different fuzzy or conventional controllers)? Yes.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
? (f) Will it be difficult to clearly relate the results of using the fuzzy controller to previous work in conventional
control to definitively show that contributions are being made to the field of control? Yes.
7. Is there always a formal model available for control design? No, but for most systems there is at least an
approximate model available. This information is often valuable and should not be ignored.
8. Does the use of fuzzy controllers limit the design methodology as compared to the use of more general expert
controllers? Expert controllers use more general knowledge-representation schemes and inference strategies (see more
details in Section 4.5.1), so for some plants it may be advantageous to use the expert controller. It is, however, not clear
at this point what class of plants call for the use of expert control.
4.2.2 Stability and Performance Analysis
Next, we will discuss several issues related to the performance analysis of fuzzy control systems.
1. Is verification and certification of fuzzy control systems important? Yes, especially for safety-critical systems (e.g.,
an aircraft). It may not be as important for certain applications (e.g., a washing machine with a fuzzy control system).
2. What are the roles of simulation and implementation in evaluating the performance of fuzzy control systems? They
play exactly the same role as for conventional control systems.
3. What are the roles of the following nonlinear analysis approaches in fuzzy control system design?
? (a) Phase plane analysis.
? (b) Describing function analysis.
? (c) Stability analysis: Lyapunov's first and second methods; absolute stability; and the small gain theorem.
? (d) Analysis of steady-state errors.
? (e) Method of equivalent gains.
? (f) Cell-to-cell mapping approaches.
Several of these approaches may apply to the analysis of the behavior of the fuzzy control system you design.
4. What are the problems with utilizing mathematical analysis for fuzzy control system verification? The techniques
take time to learn. The problems for which fuzzy control are particularly well suited, and where there is often very good
motivation to use fuzzy rather than conventional control, are the control problems where the plant has complex nonlinear
behavior, and where a model is hard to derive due to inherent uncertainties. Each of these characteristics often makes the
assumptions that are needed for the nonlinear analysis techniques invalid, so the theory often does not end up offering
much when it is really needed.
5. Does fuzzy control provide "robust control"? If so, can this be demonstrated mathematically or experimentally?
There has been a recent focus in research on stability analysis to show that fuzzy control does provide robust control. It
is very difficult, of course, to show robustness via experimentation since by its very definition robustness verification
requires extensive experimentation (e.g., you could not call the fuzzy controller for the rotational inverted pendulum case
or "robust" when it was only shown to be successful for one disturbance condition).
4.2.3 Implementation and General Issues
Finally, we will discuss several issues related to implementation and the overall fuzzy controller design methodology.
1. Are there computational advantages in using fuzzy control as compared to conventional control? Not always. PID
control is simpler than fuzzy control; however, there are some types of conventional control that are very difficult to
implement where a fuzzy controller can be simpler. It depends on the application and the methods you choose.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
2. Should I use a conventional or "fuzzy processor" for implementation? We have typically found that our needs can
be met if we use a conventional processor that has a better track record with reliability; however, there may be some
advantages to fuzzy processors when large rule-bases are used and fast sampling times are needed.
3. Are there special "tricks of the trade" in the implementation of fuzzy controllers that have many rules? Yes.
4. Does fuzzy control provide for a user-friendly way to tune the controller during implementation studies? Often it
does. We have found in field studies that when you know generally what to do to get a controller to work, it is sometimes
hard to get this information into the gains of a conventional controller and easier to express it in rules and load them into
a fuzzy controller or fuzzy supervisor.
Overall, in comparing fuzzy to conventional control, it is interesting to note that there are conventional control
schemes that are analogous to fuzzy ones: (1) direct fuzzy control is analogous to direct nonlinear control, (2) fuzzy
adaptive control is analogous to conventional adaptive control (e.g., model reference adaptive control), and (3) fuzzy
supervisory control is analogous to hierarchical control. Does there exist an analogous conventional approach to every
fuzzy control scheme? If so, then in doing fuzzy control research it seems to be very important to compare and contrast
the performance of the fuzzy versus the conventional approaches.
4.3 Neural Networks
Artificial neural networks are circuits, computer algorithms, or mathematical representations of the massively connected
set of neurons that form biological neural networks. They have been shown to be useful as an alternative computing
technology and have proven useful in a variety of pattern recognition, signal processing, estimation, and control
problems. Their capabilities to learn from examples have been particularly useful.
In this section we will introduce two of the more popular neural networks and discuss how they relate to the areas of
fuzzy systems and control. We must emphasize that there are many topics in the area of neural networks that are not
covered here. For instance, we do not discuss associative memories and Hopfield neural networks, recurrent networks,
Boltz-mann machines, or Hebbian or competitive learning. We refer the reader to Section 4.8, For Further Study, for
references that cover these topics in detail.
4.3.1 Multilayer Perceptrons
The multilayer perceptron is a feed-forward neural network (i.e., it does not use past values of its outputs or other
internal variables to compute its current output). It is composed of an interconnection of basic neuron processing units.
The Neuron
For a single neuron, suppose that we use , i = 1,2,..., n, to denote its inputs and suppose that it has a single output y.
Figure 4.1 shows the neuron. Such a neuron first forms a weighted sum of the inputs
1
n
ii
i
zxwq
=
??=?
????∑
whereωi are the interconnection "weights" andθis the "bias" for the neuron (these parameters model the interconnections
between the cell bodies in the neurons of a biological neural network). The signal z represents a signal in the biological
neuron, and the processing that the neuron performs on this signal is represented with an "activation function." This
activation function is represented with a function f, and the output that it computes is
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
()
1
n
ii
i
yfzfxwq
=
??==?
????∑ ( 4.1)
Basically, the neuron model represents the biological neuron that "fires" (turns on) when its inputs are significantly
excited (i.e., z is big enough). The manner in which the neuron fires is defined by the activation function f . There are
many ways to define the activation function:
? Threshold function: For this type of activation function we have
() 1 if 00 if 0zfz z≥?=? <
?
so that once the input signal z is above zero the neuron turns on.
? Sigmoid function: For this type of activation function we have
1()
1exp()fz bz=+? (4.2)
so that the input signal z continuously turns on the neuron an increasing amount as it increases (plot the function
values against z to convince yourself of this).The parameter b affects the slope of the sigmoid function. There
are many functions that take on a shape that is sigmoidal. For instance, one that is often used in neural networks
is the hyperbolic tangent function
1exp()()tanh()
21exp()
zzfz
z
?==
+
Equation (4.1), with one of the above activation functions, represents the computations made by one neuron in the
neural network. Next, we define how we interconnect these neurons to form a neural network—in particular, the
multilayer perceptron.
Figure 4.1 Single neuron model
Network of Neurons
The basic structure for the multilayer perceptron is shown in Figure 4.2. There, the circles represent the neurons (weights,
bias, and activation function) and the lines represent the connections between the inputs and neurons, and between the
neurons in one layer and those in the next layer. This is a three-layer perceptron since there are three stages of neural
processing between the inputs and outputs. More layers can be added by concatenating additional "hidden" layers of
neurons.
The multilayer perceptron has inputs, i = 1,2,..., n, and outputs , j =1,2,..., m. The number of neurons in the first
hidden layer (see Figure 4.2) is . In the second hidden layer there are neurons, and in the output layer there are m neurons.
Hence, in an N layer perceptron there are inneurons in the ith hidden layer, i = 1,2,..., N- 1.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
Figure 4.2 multilayer perceptron models.
The neurons in the first layer of the multilayer perceptron perform computations, and the outputs of these neurons are
given by
(1)(1)(1)(1)
1
( ))
n
jjijij
i
xfwx q
=
=?∑
with j = 1,2.....n1. The neurons in the second layer of the multilayer perceptron perform computations, and the outputs of
these neurons are given by
1(2)(2)(2)(1)(2)
1
( ))
n
jjijij
i
xfwx q
=
=?∑
with j = 1,2,..., n2. The neurons in the third layer of the multilayer perceptron perform computations, and the outputs of
these neurons are given by
2 (2)
1
( ))
n
jjijij
i
yfwx q
=
=?∑
with j = 1,2, ...,m.
The parameters (scalar real numbers) ( )1
ij
w are called the weights of the first hidden layer. The ( )2
ij
w are called the
weights of the second hidden layer. The ijw are called the weights of the output layer. The parameters (1)jq are called the
biases of the first hidden layer. The parameters (2)jq are called the biases of the second hidden layer, and the jq are the
biases of the output layer. The functions fj (for the output layer), (2)
j
f (for the second hidden layer), and (1)
j
f (for the
first hidden layer) represent the activation functions. The activation functions can be different for each neuron in the
multilayer perception (e.g., the first layer could have one type of sigmoid, while the next two layers could have different
sigmoid functions or threshold functions).
This completes the definition of the multilayer perception. Next, we will introduce the radial basis function neural
network. After that we explain how both of these neural networks relate to the other topics covered in this book.
4.3.2 Radial Basis Function Neural Networks
A locally tuned, overlapping receptive field is found in parts of the cerebral cortex, in the visual cortex, and in other parts
of the brain. The radial basis function neural network model is based on these biological systems.
A radial basis function neural network is shown in Figure 4.3. There, the inputs are xi, i = 1,2,..., n, and the output is
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
y =f(x) where f represents the processing by the entire radial basis function neural network. Let [ ]12,, Tnxxxx= ? . The
input to the ith receptive field unit is x, and its output is denoted with Ri (x). lt has what is called a "strength" which we
denote by iy . Assume that there are M receptive field units. Hence, from Figure 4.3,
() ()
1
M
ii
i
yfxyRx
=
==∑ (4.3)
is the output of the radial basis function neural network.
Figure 4.3 Radial basis function neural network model.
There are several possible choices for the "receptive field units" R i (x):
1. We could choose
()
2
2exp
i
i
i
xcRx
s
???
=?????
??
Where 12,, Tiiiincccc??= ??? , is is a scalar, and if z is a vector then Tzzz= .
2. We could choose
() 2
2
1
1exp
i
i
i
Rx
xc
s
= ??
?+???
??
where iicand s are defined in choice 1.
There are also alternatives to how to compute the output of the radial basis function neural network. For instance,
rather than computing the simple sum as in Equation (4.3), you could compute a weighted average
()
()
()
1
1
M
ii
i
M
i
i
yRx
yfx
Rx
=
=
==
∑
∑
(4.4)
It is also possible to define multilayer radial basis function neural networks.
This completes the definition of the radial basis function neural network. Next, we explain the relationships
between multilayer perceptions and radial basis function neural networks and fuzzy systems.
4.3.3 Relationships Between Fuzzy Systems and Neural Networks
There are two ways in which there are relationships between fuzzy systems and neural networks. First, techniques from
one area can be used in the other. Second, in some cases the functionality (i.e., the nonlinear function that they
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
implement) is identical. Some label the intersection between fuzzy systems and neural networks with the term
"fuzzy-neural" or "neuro-fuzzy" to highlight that techniques from both fields are being used. Here, we avoid this
terminology and simply highlight the basic relationships between the two fields.
Multilayer Perceptrons
The multilayer perceptron should be viewed as a nonlinear network whose nonlinearity can be tuned by changing the
weights, biases, and parameters of the activation functions. The fuzzy system is also a tunable nonlinearity whose shape
can be changed by tuning, for example, the membership functions. Since both are tunable nonlinearities, the following
approaches are possible:
? Gradient methods can be used for training neural networks to perform system identification or to act as
estimators or predictors in the same way as fuzzy systems were trained. Indeed, the gradient training of neural
networks, called "back-propagation training," was introduced well before the gradient training of fuzzy systems,
and the idea for training fuzzy systems this way came from the field of neural networks.
? Hybrid methods for training can also be used for neural networks. For instance, gradient methods may be used
in conjunction with clustering methods applied to neural networks.
? Indirect adaptive control can also be achieved with a multilayer perceptron. To do this we use two multilayer
perceptrons as the tunable nonlinearities in the certainty equivalence control law and the gradient method for
tuning.
? Gain scheduled control may be achieved by training a multilayer perceptron to map the associations between
operating conditions and controller parameters.
This list is by no means exhaustive. It simply shows that multilayer perceptron networks can take on a similar role to that
of a fuzzy system in performing the function of being a tunable nonlinearity. An advantage that the fuzzy system may
have, however, is that it often facilitates the incorporation of heuristic knowledge into the solution to the problem, which
can, at times, have a significant impact on the quality of the solution.
Radial Basis Function Neural Networks
Some radial basis function neural networks are equivalent to some standard fuzzy systems in the sense that they are
functionally equivalent (i.e., given the same inputs, they will produce the same outputs). To see this, suppose that in
Equation (4.4) we let M =R (i.e., the number of receptive field units equal to the number of rules), iiyb= (i.e., the
receptive field unit strengths equal to the output membership function centers), and choose the receptive field units as
()()iiRxxm=
(i.e., choose the receptive field units to be the same as the premise membership functions). In this case we see that the
radial basis function neural network is identical to a certain fuzzy system that uses center-average defuzzification. This
fuzzy system is then given by
1
1
()()
()
R
iii
R
ii
bxyfx
x
m
m
=
=
==∑∑
It is also interesting to note that the functional fuzzy system (the more general version of the Takagi-Sugeno fuzzy
system) is equivalent to a class of two-layer neural networks [200].
The equivalence between this type of fuzzy system and a radial basis function neural network shows that all the
techniques in this book for the above type of fuzzy system work in the same way for the above type of radial basis
function neural network (or, using [200], the techniques for the Takagi-Sugeno fuzzy system can be used for a type of
multilayer radial basis function neural network).
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
Due to the above relationships between fuzzy systems and neural networks, some would like to view fuzzy systems
and neural networks as identical areas. This is, however, not the case for the following reasons:
? There are classes of neural networks (e.g., dynamic neural networks) that may have a fuzzy system analog, but if
so it would have to include not only standard fuzzy components but some form of a differential equation
component.
? There are certain fuzzy systems that have no clear neural analog. Consider, for example, certain "fuzzy dynamic
systems" [48, 167]. We can, however, envision how you could go about "designing a neural analog to such fuzzy
systems.
? The neural network has traditionally been a "black box" approach where the weights and biases are trained (e.g.,
using gradient methods like back-propagation) using data, often without using extra heuristic knowledge we
often have. In fuzzy systems you can incorporate heuristic information and use data to train them. This last
difference is often quoted as being one of the advantages of fuzzy systems over neural networks, at least for
some applications.
Regardless of the differences, it is important to note that many methods in neural control (i.e., when we use a neural
network for the control of a system) are quite similar to those in adaptive fuzzy control. For instance, since the fuzzy
system and radial basis function neural network can be linearly parameterized, we can use them as the identifier
structures in direct or indirect adaptive control schemes and use gradient or least squares methods to update the
parameters. Indeed, we could have used neural networks as the structure that we trained for all of the identification
methods. In this sense we can use neural networks in system identification, estimation, and prediction, and as a direct
(fixed) controller that is trained with input-output data. Basically, to be fluent with the methods of adaptive fuzzy
systems and control, you must know the methods of neural control—and vice versa.
4.4 Genetic Algorithms
A genetic algorithm (GA) uses the principles of evolution, natural selection, and genetics from natural biological systems
in a computer algorithm to simulate evolution. Essentially, the genetic algorithm is an optimization technique that
performs a parallel, stochastic, but directed search to evolve the most fit population. In this section we will introduce the
genetic algorithm and explain how it can be used for design and tuning of fuzzy systems.
4.4.1 Genetic Algorithms: A Tutorial
The genetic algorithm borrows ideas from and attempts to simulate Darwin's theory on natural selection and Mendel's
work in genetics on inheritance. The genetic algorithm is ah optimization technique that evaluates more than one area of
the search space and can discover more than one solution to a problem. In particular, it provides a stochastic optimization
method where if it "gets stuck" at a local optimum, it tries to simultaneously find other parts of the search space and
"jump out" of the local optimum to a global one.
Representation and the Population of Individuals
The "fitness function" measures the fitness of an individual to survive in a population of individuals. The genetic
algorithm will seek to maximize the fitness function J(θ) by selecting the individuals that we represent with θ . To
represent the genetic algorithm in a computer, we make θ a string. In particular, we show such a string in Figure 4.4. A
string is a chromosome in a biological system. It is a string of "genes" that can take on different "alleles." In a computer
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
we use number systems to encode alleles. Hence, a gene is a "digit location" that can take on different values from a
number system (i.e., different types of alleles).
Figure 4.4 String for representing an individual
For instance, in a base-2 number system, alleles come from the set {0,1}, while in a base-l0 number system, alleles
come from the set {0,1,2,3,4,5,6,7,,8,9}. Hence, abinary chromosome has zeros or ones in its gene locations. As an
example, consider the binary chromosome 1011110001010, which is a binary string of length 13. If we are seeking to
optimize parameters of a system that come in a base-10 number system then we will need to encode the numbers into the
binary number system (using the standard method for the conversion of base-10 numbers to base-2 numbers). We will
also need to decode the binary strings into base-10 numbers to use them. Here, we will develop the genetic algorithm for
base-2 or base-10 number systems but we will favor the use of the base-10 representation since then there is no need for
encoding or decoding (which can be computationally expensive for on-line, real-time applications).
As an example of a base-10 chromosome, consider 8219345127066 that has 13 gene positions. For such
chromosomes we add a gene for the sign of the number (either "+" or "-") and fix a position for the decimal point. For
instance, for the above chromosome we could have +821934.5127066 ,where there is no need to carry along the
decimal point; the computer will just have to remember its position. Note that you could also use a floating point
representation where we could code numbers in a fixed-length string plus the number in the exponent (e.g., as
). The ideas developed here work just as readily for this number representation system as for standard base-2
or base-10.
Since we are interested in applying the genetic algorithm to controller or estimator design and tuning, we will have as
individuals parameters that represent, for instance, a conventional or fuzzy controller (i.e., a vector of parameters). The
vector of parameters that encodes a fuzzy or conventional controller can be loaded into a single chromosome. For
example, suppose that you have a PD controller with Kp = +5.12, Kd = -2.137 , then we would represent this in a
chromosome as +051200-021370 , which is a concatenation of the digits, where we assume that there are six digits for
the representation of each parameter plus the sign digit (this is why you see the extra padding of zeros). The computer
will have to keep track of where the decimal point is. We see that each chromosome will have a certain structure (its
"genotype" in biological terms), but here rather than a set of chromosomes for the structure we just concatenate the
parameters and use one one chromosome for convenience. Each chromosome represents a point in the search space of
the genetic algorithm (i.e., a "phenotype" in biological terms).
Next, we develop a flotation for representing a whole set of individuals (i.e., a population). Let be a single parameter
at time k (a fixed-length string with sign digit), and suppose that chromosome j is composed of N of these parameters,
which are sometimes called "traits." Let
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
12()[(),(),,()]
jjjjT
Nkkkkqqqq= ?
be the jth chromosome. Note that earlier we had concatenated elements in a string while here we simply take the
concatenated elements and form a vector from then). We do this simply because this is probably the way that you will
want to code the algorithm in the computer. We will at times, however, still let θj be a concatenated string when it is
convenient to do so.
The population of individuals at time k is given by
{ }()()|1,2,,SjPkkjq==…… (4.5)
and the number of individuals in the population is given by S. We want to pick S to be big enough so that the population
elements can cover the search space. However, we do not want S to be too big since this increases the number of
computations we have to perform.
Genetic Operations
The population P(k) at time k is often referred to as the "generation" of individuals at time k. Evolution occurs as we
go from a generation at time k to the next generation at time k+1. Genetic operations of selection, crossover, and
mutation are used to produce one generation from the next.
Selection: Basically, according to Darwin the most qualified individuals survive to mate. We quantify "most qualified"
via an individual's fitness ()(jJkq at time k. For selection we create a "mating pool" at time k, which we denote by
{ }()()|1,2,,SjMkmkj==…… (4.6)
The mating pool is the set of chromosomes that are selected for mating. We select an individual for mating by
letting each mj(k) be equal to ()()jkPkq∈ with probability
1
(())
(())
i
iSj
j
JkP
Jk
q
q=
=∑ (4.7)
To clarify the meaning of this formula and hence the selection strategy, Goldberg [58] uses the analogy of spinning
a unit circumference roulette wheel where the wheel is cut like a pie into S regions where the ith region is associated
with the ith element of P(k). Each pieshaped region has a portion of the circumference that is given by, in Equation (4.7).
You spin the wheel, and if the pointer points at region i when the wheel stops, then you place iq into the mating pool
M(k). You spin the wheel S times so that 5 elements end up in the mating pool. Clearly, individuals who are more fit will
end up with more copies in the mating pool; hence, chromosomes with larger-than-average fitness will embody a greater
portion of the next generation. At the same time, due to the probabilistic nature of the selection process, it is possible that
some relatively unfit individuals may end up in the mating pool.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
Reproduction Phase , Crossover
We think of crossover as mating in biological terms, which at a fundamental biological level involves the process of
combining chromosomes. The crossover operation operates on the mating pool M(k). First, you specify the "crossover
probability" pc (usually chosen to be near one since when mating occurs in biological systems, genetic material is
swapped between the parents). The procedure for crossover consists of the following steps:
1. Randomly pair off the individuals in the mating pool M(k) (i.e., form pairs to mate by the flip of a coin). If there are
an odd number of individuals in M(k), then, for instance, simply take the last individual and pair it off with another
individual who has already been paired off .
2. Consider chromosome pair jq and iq , that was formed in step 1. Generate a random number [0,1]r ∈ .
(a) If r < pc then cross over jq and iq . To cross over these chromosomes select at random a "cross site" and
exchange all the digits to the right of the cross site of one string with those of the other. This process is pictured in Figure
4.5. In this example the cross site is position five on the string, and hence we swap the last eight digits between the two
strings. Clearly, the cross site is a random number between one and the number of digits in the string minus one.
(b) If r > pc then we will not cross over; hence, we do not modify the strings, and we go to the mutation operation
below.
12345678910111213
12345678910111213
Switch these two parts of the strings
Cross site
iq
jq
FIGURE 4.5 Crossover operation examples.
(c) Repeat step 2 for each pair of strings that is in M(k).
As an example, suppose that S = 10 and that in step 1 above we randomly pair off the chromosomes. Suppose
that 59 andqq (j = 5, i = 9) are paired off where 5q = +2.9845 and 9q = +1.9322.
Suppose that pc =0.9 and that when we randomly generate r we get r = 0.34. Hence, by step 2 we will cross over
59 andqq. According to step 2 we randomly pick the cross site.
Suppose that it is chosen to be position three on the string. In this case the strings that are produced by crossover are
5q = +2.9322 and 9q = +1.9845.
Besides the fact that crossover helps to model the mating part of the evolution process, why should the genetic
algorithm perform crossover? Basically, the crossover operation perturbs the parameters near good positions to try to
find better solutions to the optimization problem. It tends to help perform a localized search around the more fit
individuals (since on average the individuals in the mating pool at time k are more fit man the ones in the population at
time k).
Reproduction Phase, Mutation
Like crossover, mutation modifies the mating pool (i.e., after selection has taken place). The operation of mutation is
normally performed on the elements in the mating pool after crossover has been performed. The biological analog of our
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
mutation operation is the random mutation of genetic material. To perform mutation in the computer, first choose a
mutation probability pm. With probability pm, change (mutate) each gene location on each chromosome randomly to a
member of the number system being used. For instance, in a base-2 genetic algorithm, we could mutate 1010111 to
1011111, where the fourth bit was mutated to one.
For a base-10 number system you would simply pick a number at random to replace a digit with if you are going to
mutate a digit location.
Besides the fact that this helps to model mutation in a biological system, why should the genetic algorithm perform
mutation? Basically, it provides random excursions into new parts of the search space. It is possible that we will get
lucky and mutate to a good solution. It is the mechanism that tries to make sure that we do not get stuck at a local
maxima and that we seek to explore other areas of the search space to help find a global maximum for J (9). Usually, the
mutation probability is chosen to be quite small (e.g., less than 0.01) since this will help guarantee that all the individuals
in the mating pool are not mutated so that any search progress that was made is lost (i.e., we keep it relatively low to
avoid degradation to exhaustive search via a random walk in the search space).
After mutation we get a modified mating pool at time k, M(k). To form the next generation for the population, we let
P(k+1)= M(k),where this M(k) is the one that was formed by selection and modified by crossover and mutation. Then the
above steps repeat, successive generations are produced, and we thereby model evolution (of course it is a very crude
model).
Optional Features
There have been many different options used in the definition of a genetic algorithm. These include the following:
? There is the possibility of using other genetic operators. For instance, there is an operation called "elitism" where the
most fit individual in P(k) is copied directly to P(k+1) without being changed by the other operations. This operator is
sometimes used to try to make sure that there will be a reasonably fit individual present in the population at every time
step; it helps to avoid having all the strings get modified by crossover and mutation in a way so that no good solution
exists at some time k.
? Some use a "population splitting" approach where the population of S members is partitioned into subsets and the
genetic operations are constrained to only mix within these partitions. This can produce different subpopulations that will
seek different solutions.
? There are many options for the crossover operation. For instance, some consider crossing over at every site in the
chromosome. Others will perform crossover for each separate parameter (trait) on the chromosome.
? Some will grow and shrink the population.
There are many other options besides the ones listed above. The interested reader should consult Section 4.8, For
Further Study, for more details about genetic algorithms.
Termination Conditions, Initialization, and Implementation Issues
The above discussion showed how to produce successive generations and thereby simulate evolution. While the
biological evolutionary process continues, perhaps indefinitely, there are many times when we would like to terminate
out artificial one and find the following:
? The population individual—say, —that best maximizes the fitness function. Notice that to determine this we also
need to know the generation number k where the most fit individual existed (it is not necessarily in the last generation).
You may want to design the computer code that implements the genetic algorithm to always keep track of the highest J
value and the generation number and individual that achieved this value of J.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
? The value of the fitness function ( )*()Jkq . While for some applications this value may not be important, for
others it is critical (e.g., in many function optimization problems).
? Information about the way that the population has evolved, which areas of the search space were visited, and how
the fitness function has evolved over time. You may want to design the code that implements the genetic algorithm to
provide plots or printouts of all the relevant genetic algorithm data.
There is then the question of how to terminate the genetic algorithm. There are many ways to terminate a genetic
algorithm, many of them similar to termination conditions used for conventional optimization algorithms. To introduce a
few of these, let be a small number and M1 > 0 and M2 > 0 be integers. Consider the following options for terminating
the genetic algorithm:
? Stop the algorithm after generating generation P(M2)—that is, after M2 generations.
? Stop the algorithm after at least M2 generations have occurred and at least M1 steps have occurred where the
maximum (or average) value of J for all population members has increased by no more than ε.
? Stop the algorithm once J takes on a value above some fixed value.
Of course, there are other possibilities for termination conditions. The above ones are easy to implement on a
computer but sometimes you may want to watch the parameters evolve and decide yourself when to stop the algorithm.
Initialization of the genetic algorithm is done by first choosing the representation to be used (including the structure
of the chromosomes, the number base, and the number of digits to be used). Next, you need to specify the size of the
population, decide which genetic operations will be used, specify the crossover and mutation probabilities pc and pm,
and pick a termination method (if it is needed).
Sometimes for problems that are solved by the genetic algorithm it is known that the parameters that are manipulated
by the genetic algorithm will lie in a certain fixed range (e.g., you may know that you would never want to make the
proportional gain of a PID controller negative). Suppose, for the sake of discussion, that is a scalar and we know a priori
that it will stay in a certain interval—say [ ]minmax,qq . It is important to note that crossover and mutation can generate
strings that are out of a fixed range even if parameters all start within the proper ranges (provide an example of this). Due
to this there is a problem when it comes to implementing the genetic algorithm of what to do when the algorithm
generates a chromosome that is out of range. There are several approaches to solving this problem.
For instance, if a scalar parameter θ is to lie in [ ]minmax,qq , and at time k crossover or mutation
makes max()kqq> then simply choose max()kqq= . If at time k crossover or mutation makes max()kqq> , then
simply choose min()kqq= . An alternative approach would be to simply repeat the crossover or mutation operation
again and hope that the newly generated parameters will be in range. Of course, this may not solve the problem since the
next time they are generated they may also be out of range (and the number of tries that it takes to get in range is
random).
4.4.2 Genetic Algorithms for Fuzzy System Design and Tuning
There are basically two ways that the genetic algorithm can be used in the area of fuzzy systems: They can be used for
the off-line design of fuzzy systems and in their on-line tuning. Both of these options are considered next
Computer-Aided Design of Fuzzy Systems
The genetic algorithm can be used in the (off-line) computer-aided design of control systems since it can artificially
evolve an appropriate controller that meets the performance specifications to the greatest extent possible. To do this, the
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
genetic algorithm maintains a population of strings that each represent a different controller (digits on the strings
characterize parameters of the controller), and it uses a fitness measure that characterizes the closed-loop specifications.
Suppose, for instance, that the closed-loop specifications indicate that you want, for a step input, a (stable) response with
a rise-time of *
r
t , a percent overshoot of *
p
M , and a settling time of *st . We need to define the fitness function so that it
measures how close each individual in the population at time k (i.e., each controller candidate) is to meeting these
specifications.
Suppose that we let tr, Mp, and ts, denote the rise-time, overshoot, and settling time, respectively, for a given
individual (we compute these for an individual in the population by performing a simulation of the closed-loop system
with the candidate controller and a model of the plant). Given these values, we let (for each individual and every time
step k)
*2*2*2
123()()()rrppssJwttwMMwtt=?+?+?
where , i=1,2,3, are positive weighting factors. The function J characterizes how well the candidate controller meets
the closed-loop specifications where if 0J = it meets the specifications perfectly. The weighting factors can be used to
prioritize the importance of meeting the various specifications (e.g., a high value of w2 relative to the others indicates
that the percent overshoot specification is more important to meet than the others).
Now, we would like to minimize J , but the genetic algorithm is a maximization routine. To minimize J with
the genetic algorithm, we can choose the fitness function
1J
J e= +
where 0e > is a small positive number. Maximization of J can only be achieved by minimization of J , so the desired
effect is achieved. Another way to define the fitness function is to let
{ }()(() (() max(())kJkJkJkqqqq=?+
The minus sigh in front of the (())Jkq term turns the minimization problem into a maximization problem (to see
this, consider 2()Jqq= , where θ is a scalar, as an example). The { }()max(())k Jkq q term is needed to shift the
function up so that (())Jkq is always positive. We need it positive since in selection, Equation (4.7) defines a
probability that must always be positive and between one and zero.
This completes the definition of how to use a genetic algorithm for computer-aided control system design. Note that
the above approach depends in no way on whether the Controller that is evolved is a conventional controller (e.g., a PID
controller) or a fuzzy system or neural network. For instance, you could use a Takagi-Sugeno fuzzy system or a standard
fuzzy system for the controller and let the genetic algorithm tune the appropriate parameters. Moreover, we could take
any of the controllers and parameterize them and use the above approach to tune these adaptive or supervisory
controllers. We have used the genetic algorithm to tune direct, adaptive, and supervisory controllers for several
applications, and while this approach is computationally intensive, and we did have to make some application-dependent
modifications to the above fitness evaluation approach, it did produce successful results.
The above approach can also be used in system identification and for the construction of estimators and predictors.
The genetic algorithm can be used for the tuning of fuzzy system parameters that enter in a nonlinear fashion and can be
used in conjunction with other methods. To use the genetic algorithm for tuning fuzzy systems as estimators, we could
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
choose to be Equation (4.7) or (4.6). Then we would choose the fitness function J similarly to how we did above. We
have used such an approach to construct a Takagi-Sugeno fuzzy system that acted as a gain scheduler. One possible
advantage that the GA approach could offer over, for example, a gradient method is that it may be able to better avoid
local optima and hence find the global optimum.
On-Line Timing of Fuzzy Systems
Traditionally, genetic algorithms have been used for off-line design, search, and optimization. There are ways, however,
to evolve controllers (fuzzy or conventional) while the system is operating, rather man in off-line design. Progress in this
direction has been made by the introduction of the "genetic model reference adaptive controller" (GMRAC) shown in
Figure 4.6. As in the FMRLC, the GMRAC uses a reference model to characterize the desired performance. For the
GMRAC there is a genetic algorithm mat maintains a population of strings each of which represents a candidate
controller. This genetic algorithm uses a process model (e.g., a linear model of the process) and data from the process to
evaluate the fitness of each controller in the population. It does this evaluation at each time step by simulating out into
the future with each candidate controller and forming a fitness function based on the error between the predicted output
for each controller and that of the reference model. Using this fitness evaluation, the genetic algorithm propagates
controllers into the next generation via the standard genetic operations. The controller that is the most fit one in the
population at each time step is used to control the system.
( )myt
Figure 4.6 Genetic model reference adaptive controller
This allows the GMRAC to automatically evolve a controller from generation to generation (i.e., from one time step
to the next, but of course multiple generations could occur between time steps) and hence to tune a controller in response
to changes in the process or due to User change of the specifications in the reference model. Overall, the GMRAC
provides unique features where alternative controllers can be quickly applied to the problem if they appear useful (e.g.,
the process (re)enters a new operating condition) and since it has some inherent capabilities to learn via evolution of its
population of controllers. It is also possible to use the genetic algorithm in on-line tuning of estimators. The closest
analogy to such an approach is the use of the gradient method for on-line estimator tuning. You can adapt the GMRAC
approach above for such a purpose.
4.5 Knowledge-Based Systems
In this section we will introduce two types of knowledge-based approaches to control that can be viewed as more general
forms of controllers than the basic (knowledge-based) fuzzy controller. First, we provide an overview of how to use an
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
expert system as a controller (i.e., "expert control"); then we highlight ideas on how to use planning systems for control.
4.5.1 Expert Control
For the sake of our discussion, we will simply view the expert system that is used here as a controller for a dynamic
system, as is shown in Figure 4.7. Here, we have an expert system serving as feedback controller with reference input r
and feedback variable y. It uses the information in its knowledge-base and its inference mechanism to decide what
command input u to generate for the plant. Conceptually, we see that the expert controller is closely related to the fuzzy
controller.
Figure 4.7 expert control systems.
There are, however, several differences:
1. The knowledge-base in the expert controller could be a rule-base but is not necessarily so. It could be
developed using other knowledge-representation structures, such as frames, semantic nets, causal diagrams, and so on.
2. The inference mechanism in the expert controller is more general than that of the fuzzy controller. It can use
more sophisticated matching strategies to determine which rules should be allowed to fire. It can use more elaborate
inference strategies. For instance, some expert systems use (a) "refraction," where if a rule has fired recently it may not
be allowed back into the "conflict set" (i.e., the set of rules that are allowed to fire), (b) "recency," where rules that
were fired most recently are given priority in being fired again, and (c) various other priority schemes.
It is in fact the case that an expert system is in a sense more general than a fuzzy system since it can be shown that a
single rule in an expert controller can be used to represent an entire fuzzy controller [163]. From another perspective, we
can "fuzzify" the expert controller components and make it a more general fuzzy system. Regardless, it is largely a waste
of time to concern ourselves with which is more general. What is of concern is whether the traditional ideas from expert
systems offer anything on how to design fuzzy systems. The answer is certainly affirmative. Clearly, certain theory and
applications may dictate the need for different knowledge-representation schemes and inference strategies.
Next, we should note that Figure 4.7 shows a direct expert controller.It is also possible to use an expert system in
adaptive or supervisory control systems. Expert systems can be used in a supervisory role for conventional controllers or
for the supervision of fuzzy controllers (e.g., for supervision of the learning mechanism and reference model in an
adaptive fuzzy controller). Expert systems themselves can also be used as the basis for general learning controllers.
4.5.2 Planning Systems for Control
Artificially intelligent planning systems (computer programs that emulate the way experts plan) have been used in path
planning and high-level decisions about control tasks for robots. A generic planning system can be configured in the
architecture of a standard control system, as shown in Figure 4.8. Here, the "problem domain" (the plant) is the
environment that the planner operates in. There are measured outputs yk at step k (variables of the problem domain that
can be sensed in real time), control actions Mk (the ways in which we can affect the problem domain), disturbances dk
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
(which represent random events that can affect the problem domain and hence the measured variable yk), and goals gk
(what we would like to achieve in the problem domain). There are closed-loop specifications that quantify performance
specifications and stability requirements.
kd
ky
ku
kg
Figure 4.8 Closed-loop planning system
It is the task of the planner in Figure 4.8 to monitor the measured outputs and goals and generate control actions that
will counteract the effects of the disturbances and result in the goals and the closed-loop specifications being achieved.
To do this, the planner performs "plan generation," where it projects into the future (usually a finite number of steps, and
often using a model of the problem domain) and tries to determine a set of candidate plans. Next, this set of plans is
pruned to one plan that is the best one to apply at the current time (where "best" can be determined based on, e.g.,
consumption of resources). The plan is then executed, and during execution the performance resulting from the plan is
monitored and evaluated. Often, due to disturbances, plans will fail, and hence the planner must generate a new set of
candidate plans, select one, then execute that one.
While not pictured in Figure 4.8, some planning systems use "situation assessment" to try to estimate the state of the
problem domain (this can be useful in execution monitoring and plan generation); others perform "world modeling,"
where a model of the problem domain is developed in an on-line fashion (similarly to on-line system identification), and
"planner design" uses information from the world modeler to tune the planner (so that it makes the right plans for the
current problem domain). The reader will, perhaps, think of such a planning system as a general adaptive controller.
The role of planning systems in fuzzy control could be any one of the following: (1) the use of a fuzzy planner as a
controller, (2) the use of fuzzy "situation assessment" in determining control actions, (3) the use of fuzzy "world
modeling" to generate a model of the plant that is useful in making control decisions, (4) the use of a fuzzy adaptive
planning system (e.g., a fuzzified version of the adaptive planner in [ 162]), or (5) the use of a planning system in a
supervisory control role.
4.6 Intelligent and Autonomous Control
Autonomous systems have the capability to independently perform complex tasks with a high degree of success.
Consumer and governmental demands for such systems are frequently forcing engineers to push many functions
normally performed by humans into machines. For instance, in the emerging area of intelligent vehicle and highway
systems (IVHS), engineers are designing vehicles and highways that can fully automate vehicle route selection, steering,
braking, and throttle control to reduce congestion and improve safety. In avionic systems a "pilot's associate" computer
program has been designed to emulate the functions of mission and tactical planning that in the past may have been
performed by the copilot. In manufacturing systems, efficiency optimization and flow control are being automated, and
robots are replacing humans in performing relatively complex tasks.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
From a broad historical perspective, each of these applications began at a low level of automation, and through the
years each has evolved into a more autonomous system. For example, today's automotive cruise controllers are the
ancestors of the controllers that achieve coordinated control of steering, braking, and throttle for autonomous vehicle
driving. And the terrain following, terrain avoidance control systems for low-altitude flight are ancestors of an artificial
pilot's associate that can integrate mission and tactical planning activities. The general trend has been for engineers to
incrementally “add more intelligence” in response to consumer, industrial, and government demands and thereby creates
systems with increased levels of autonomy. In this process of enhancing autonomy by adding intelligence, engineers
often study how humans solve problems, then try to directly automate their knowledge and techniques to achieve high
levels of automation.
Other times, engineers study how intelligent biological systems perform complex tasks, then seek to automate
"nature's approach" in a computer algorithm or circuit implementation to solve a practical technological problem (e.g., in
certain vision systems). Such approaches where we seek to emulate the functionality of an intelligent biological system
(e.g., the human) to solve a technological problem can be collectively named "intelligent systems and control
techniques." It is by using such techniques that some engineers are trying to create highly autonomous systems such as
those listed above.
In this section we will explain how "intelligent" control methods can be used to create autonomous systems. First we will
define "intelligent control." Next, we provide a framework for the operation of autonomous systems to clarify the
ultimate goal of achieving autonomous behavior in complex technological systems.
4.6.1 What Is "Intelligent Control"?
Since the answer to this question can get rather philosophical, let us focus on a working definition that does not dwell on
definitions of "intelligence" (since there is no widely accepted one partly because biological intelligence seems to have
many dimensions and appears to be very complex) and issues of whether we truly model or emulate intelligence, but
instead focuses on (1) the methodologies used in the construction of controllers and (2) the ability of an artificial system
to perform activities normally performed by humans.
"Intelligent control" techniques offer alternatives to conventional approaches by borrowing ideas from intelligent
biological systems. Such ideas can either come from humans who are, for example, experts at manually solving the
control problem, or by observing how a biological system operates and using analogous techniques in the solution of
control problems. For instance, we may ask a human driver to provide a detailed explanation of how she or he manually
solves an automated highway system intervehicle distance control problem, then use this knowledge directly in a fuzzy
controller. In another approach, we may train an artificial neural network to remember how to regulate the intervehicle
spacing by repeatedly providing it with examples of how to perform such a task.
After the neural network has learned the task, it can be implemented on the vehicle to regulate the intervehicle
distance by recalling the proper throttle input for each value of the intervehicle distance that is sensed. In another
approach, genetic algorithms may be used to automatically synthesize and tune a control algorithm for the intervehicle
spacing control problem by starting with a population of candidate controllers and then iteratively allowing the most fit
controller, which is determined according to the performance specifications, to survive in an artificial evolution process
implemented in a computer. In this way the controller evolves over time, successively improving its performance and
adapting to its environment, until it meets the prespecified performance objectives.
Such intelligent control techniques may exploit the information represented in a mathematical model or may heavily
rely on heuristics on how best to control the process. The primary difference from conventional approaches, such as PID
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
control, is that intelligent control techniques are motivated by the functionality of intelligent biological systems, either in
how they perform the control task or in how they provide an innovative solution to another problem that can be adapted
to solve a control problem. This is not to say that systems that are not developed using intelligent systems and control
techniques such as those listed above cannot be called "intelligent"; traditionally, we have often called any system
intelligent if it is designed to perform a task that has normally been performed by humans (e.g., we use the term
"intelligent" vehicle and highway systems).
A full discussion on defining intelligent control involves considering additional issues in psychology, human
cognition, artificial intelligence, and control. The interested reader is referred to the articles listed at the end of this
chapter for a more detailed exposition that considers these issues.
4.6.2 Architecture and Characteristics
Figure 4.9 shows a functional architecture for an intelligent autonomous controller with an interface to the process
involving sensing (e.g., via conventional sensing technology, vision, touch, smell, etc.), actuation (e.g., via hydraulics,
robotics, motors, etc.), and an interface to humans (e.g., a driver, pilot, crew, etc.) and other systems.
The "execution level" has low-level numeric signal processing and control algorithms (e.g., PID, optimal, adaptive,
or intelligent control; parameter estimators, failure detection and identification (FDI) algorithms). The "coordination
level" provides for tuning, scheduling, supervision, and redesign of the execution-level algorithms, crisis management,
planning and learning capabilities for the coordination of execution-level tasks, and higher-level symbolic decision
making for FDI and control algorithm management. The "management level" provides for the supervision of lower-level
functions and for managing the interface to the human(s) and other systems. In particular, the management level will
interact with the users in generating goals for the controller and in assessing the capabilities of the system. The
management level also monitors performance of the lower-level systems, plans activities at the highest level (and in
cooperation with humans), and performs high-level learning about the user and the lower-level algorithms.
Figure 4.9 intelligent autonomous controllers.
Intelligent systems or intelligent controllers (e.g., fuzzy, neural, genetic, expert, and planning) can be employed as
appropriate in the implementation of various functions at the three levels of the intelligent autonomous controller. For
example, adaptive fuzzy control may be used at the execution level for adaptation, genetic algorithms may be used in the
coordination level to pick an optimal coordination strategy, and planning systems may be used at the management level
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
for sequencing operations. Hierarchical controllers composed of a hybrid mix of intelligent and conventional Systems
are commonly used in the intelligent control of complex dynamic systems. This is because to achieve high levels of
autonomy, we often need high levels of intelligence, which calls for incorporating a diversity of decision-making
approaches for complex dynamic learning and reasoning.
There are several fundamental characteristics that have been identified for intelligent autonomous control systems.
For example, there is generally a successive delegation of duties from the higher to lower levels, and the number of
distinct tasks typically increases as we go down the hierarchy. Higher levels are often concerned with slower aspects of
the system's behavior and with its larger portions, or broader aspects. There is then a smaller contextual horizon at lower
levels—that is, the control decisions are made by considering less information. Higher levels are typically concerned
with longer time horizons than lower levels. It is said that there is "increasing intelligence with decreasing precision as
one moves from the lower to the higher levels" (see [179]). At the higher levels there is typically a decrease in time-scale
density, a decrease in bandwidth or system rate, and a decrease in the decision (control action) rate. In addition, there is
typically a decrease in the granularity of models used—or, equivalently, an increase in model abstractness at the higher
levels.
Finally, we note that there is an ongoing evolution of the intelligent functions of an autonomous controller so that
by the time you implement its functions, they no longer appear intelligent, just algorithmic. It is because of this evolution
principle, doubts about our ability to implement "artificial intelligence," and the fact that implemented intelligent
controllers are nonlinear controllers, that many researchers feel more comfortable focusing on enhancing autonomy
rather than achieving intelligent behavior.
4.6.3 Autonomy
Next, we explain how to incorporate the notion of autonomy into the conventional manner of thinking about control
problems. Consider the general control system shown in Figure 4.10 where P is a model of the plant, C represents the
controller, and T represents specifications on how we would like the closed-loop system to behave (i.e., closed-loop
specifications). For some classical control problems, the scope is limited so that C and P are linear and T simply
represents, for example, stability, robustness, rise-time, and overshoot specifications. In this case intelligent control
techniques may not be needed. As engineers, we must remember that the simplest solution that works is the best one. We
tend to need more complex controllers for more complex plants (where, for example, there is a significant amount of
uncertainty) and more demanding closed loop specifications T.
Consider the case where the following statements hold:
? P is so complex that it is most convenient to represent it with ordinary differential equations and discrete-event
system (DES) models [70] (or some other hybrid mix of models), and for some parts of the plant the model is not known
(or is too expensive to determine).
? T is used to characterize the desire to make the system perform wetland act with high degrees of autonomy (i.e.,
via [6] "so that the system performs well under significant uncertainties in the system and its environment for extended
periods of time, and compensates for significant system failures without external intervention").
The general control problem is how to construct C, given P, so that T holds. The intelligent autonomous controller
described briefly in the previous section provides a general architecture for C to achieve highly autonomous behavior
specified by T for very complex plants P.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
Figure 4.10 general control systems.
From a control engineer's perspective, we are trying to solve the general control problem (i.e., we are trying to find
C to enhance autonomy). Often, in practice, engineers in intelligent (and conventional) control are often examining
portions of the above general control problem and trying to make incremental progress toward a solution. For example, a
simple direct fuzzy controller could, perhaps, be called an "intelligent controller" (although some would never call a
controller without adaptation capabilities an intelligent controller) but not an "autonomous controller," as most of them
do not achieve high levels of autonomous operation but merely help enhance performance as many conventional
controllers do (adaptive and supervisory approaches slightly increase performance but typically do not achieve full
autonomy).
It is important to note that researchers in intelligent control have been naturally led to focus on the very demanding
general control problem described above for two reasons: (1) in order to address pressing needs for practical applications,
and (2) since often there is a need to focus on representing more aspects of the process so that they can be used to reduce
the uncertainty in making high-level decisions about how to perform control functions that are normally performed by
humans.
Have we achieved autonomous control via intelligent control or any other methods? This is a difficult question to
answer since certain levels of autonomy have certainly been achieved but there are no rigorous definitions of "degrees of
autonomy." For instance, relatively autonomous robots and autonomous vehicles have been implemented. It is clear that
current intelligent systems only roughly model their biological counterparts, and hence from one perspective they can
achieve relatively little. What will we be able to do if we succeed in emulating the functions of their biological
counterparts? Achieve full autonomy via the correct orchestration of intelligent control?
4.6.4 Example: Intelligent Vehicle and Highway Systems
To make the operation of autonomous systems and the notion of autonomy more concrete, let us examine an intelligent
vehicle and highway systems (IVHS) problem of automating a highway system. One possible general functional
architecture for automated highway systems is shown in Figure 4.11. Here, suppose that we have many vehicles
operating on a large roadway system in the metropolitan area of a large city.
Execution Level
Each vehicle is equipped with a (1) vehicle control system that can control the brakes, throttle, and steering to automate
the driving task (for normal operation or collision avoidance). In addition, suppose that there is a (2) vehicle information
system in each vehicle that provides information to the driver (e.g., platoon lead vehicle information; vehicle health
status; information on traffic congestion, road construction, accidents, weather, road conditions, lodging, and food; etc.)
and information to the overall system about the vehicle (e.g., if the vehicle has had an accident Or if the vehicle's brakes
have failed). For the roadway there are (3) the traffic signal controllers (e.g., for intersections and ramp metering) and (4)
the roadway information systems that provide information to the driver and other subsystems (e.g., automatic signing
systems that provide rerouting information in case of congestion, road condition warning systems, accident information,
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
etc.).
Coordination Level
In the coordination level shown in Figure 4.11, there is a manager for vehicle control that (1) may coordinate the control
of vehicles that are in close proximity to form "platoons," maneuver platoons, and avoid collisions; and (2) provide
information about such control activities to the rest of the system. In addition, there is a manager for vehicle information
that (1) makes sure that appropriate vehicles get the correct information about road, travel, and traffic conditions; and (2)
manages and distributes the information that comes in from vehicles on accidents and vehicle failures (e.g., so that the
control manager can navigate platoons to avoid collisions).
The manager for traffic signal control could (1) utilize information from the roadway information system (e.g., on
accidents or congestion) to adaptively change the traffic light sequences at several connected intersections to reduce
congestion; and (2) provide information to the other subsystems about signal control changes (e.g., to the vehicle
information systems). The manager for roadway information (1) provides information on road Conditions, accidents, and
congestion to the other subsystems; and (2) provides information from the other subsystems to the roadway for
changeable message signs (e.g., rerouting information from the traffic signal control manager). As indicated in Figure
4.11, there are multiple copies of each of the managers and the entire coordination level as needed for different areas in
the metropolitan region.
Management Level
The management level is the traffic and vehicle management center, which provides for high-level management of traffic
flow. It provides an interface to other automated highway systems (perhaps in rural areas or other nearby metropolitan
areas) and to traffic authorities (e.g., to provide information to police and emergency services on accidents and to input
information on construction, weather predictions, and other major events that affect traffic flow).
Figure 4.11 Intelligent autonomous controller for an intelligent vehicle and highway system
It can interact with traffic authorities to advise them on the best way to avoid congestion given current weather
conditions, construction, and expected traffic loads. It can monitor the performance of all the lower-level subsystems in
the coordination and execution levels, and suggest corrective actions if there are problems.
Fundamental Characteristics
Notice that in terms of the fundamental characteristics of intelligent autonomous control systems discussed in Section
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
4.6.2, we find a successive delegation of duties as we go down the hierarchy of the controller in Figure 4.11. For
example, high-level tasks at the management level may involve reconfiguring traffic signaling due to construction and
weather. The coordination-level manager for roadway information and traffic signal control may develop a new signaling
strategy. This strategy would be implemented in the execution level on the changeable message signs (to inform drivers)
and the traffic signal control strategy. The higher levels of the hierarchy are often concerned with slower and broader
aspects of the system behavior (of course, in an accident situation the traffic and vehicle management center would react
as quickly as possible to alert emergency vehicles). The lower levels of the system have a smaller "contextual horizon"
since they consider much less information in making decisions.
Also, the decision rate tends to be higher at the lower levels (e.g., the rate at which control corrections are made as a
vehicle automatically steers around a curve may be on the order of milliseconds, while the decision rate at the
management level may be on the order of minutes or hours).Clearly, there is the need for a significant amount of
interdisciplinary activity to implement such a complex control system that involves a wide range of technologies and
falls beyond the traditional scope of control problems. There is no single control technique (conventional or intelligent)
that can be used to solve the diversity of problems that is found in a complex automated highway system problem. While
conventional systems and control technologies will certainly find wide use in IVHS, it seems likely that intelligent
systems and control techniques will prove to be useful for at least some functions, especially considering the focus on
automating what has traditionally been largely a human control activity. Similar statements seem to hold for many
complex autonomous systems.
4.7 Summary
In this chapter we have provided an overview of the relationships between fuzzy control and intelligent control. Our
overall objective is twofold. First, we wish to provide the reader who understands the basics of fuzzy control with a view
of the other areas of intelligent control, as this tends to strengthen one's understanding of fuzzy control. Second, we
wish to provide the reader who knows some other area of intelligent control with a view of fuzzy control. We provided
an overview of a conventional control-engineering perspective on fuzzy control. Next, we highlighted some ideas from
expert control, planning systems, neural networks, genetic algorithms, and intelligent autonomous control.
Upon completing this chapter, the reader should understand the following:
? The general ideas in how conventional control compares to fuzzy control.
? The basics of the operation of the multilayer perceptron and the radial basis function neural network.
? The general ideas on how fuzzy systems and neural networks are related and how techniques from each of the
fields can be used in the other.
? The basic mechanics of the operation of the genetic algorithm.
? How genetic algorithms can be used for the design of fuzzy estimators or control systems, and some basic ideas
on how a genetic algorithm can be used in an adaptive controller to tune a fuzzy or conventional controller.
? The connections to expert control, particularly in how expert systems use more general knowledge representation
and inference.
? The basics of how a planning system operates and how a planning system might be used in a fuzzy control
system.
? A general definition of intelligent controllers.
? The general hierarchical functional architecture for intelligent autonomous control systems.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
? Some of the basic characteristics of intelligent autonomous control systems.
? How to view the autonomous control problem as a general control problem.
? Basic ideas in how to form an intelligent autonomous controller for an IVHS application.
Essentially, this is a checklist of the major topics of this chapter. This chapter serves as the concluding remarks for
the entire book and tries to motivate the reader to branch out into the many other interesting areas in intelligent control.
4.8 For Further Study
The section on fuzzy versus conventional control has developed over die years and has been woven throughout many of
the papers published by our Ohio Stale group. Section 4.2 appeared, however, in an earlier form in [157]. Other articles
on the relationships between conventional and intelligent control can be found in [160,156,159]. There are many books
and articles on neural networks [68, 67, 96]. For neural control, consider, for example, the books [142, 234, 64, 26] and
the articles [150, 74]. Nice introductions to neural control and learning control are contained in [50, 51]. For more details
on genetic algorithms, see the books [58, 139] or article [204]. Computer-aided design of fuzzy controllers via genetic
algorithms has been studied in a variety of places including [88, 79,155,222,116). An example of how to use a genetic
algorithm to design direct, adaptive, and supervisory fuzzy controllers for a robot is given in [27]. The genetic model
reference adaptive controller was first introduced in [169].
For more details on (direct) expert control, see [163], or [131] for a control-engineering analysis of the feedback
loop that is inherent in the expert system inference process. The idea of using expert systems to supervise adaptive
control systems was first introduced in [8] and is also reported on in [6]. The section on planning systems is based on
[162], where the authors also discuss situation assessment, world modeling, and adaptive planning systems. For an
artificial intelligence perspective on planning systems that attempts to relate planning ideas to control theory, see [44].
For a general introduction to intelligent control, see the books [6, 64,219,234] or articles [5, 2,205]. For a particularly
easy-to-read introduction that provides a brief overview of many of the areas of intelligent control, see [158] (several
parts of this chapter are based on that article, e.g., the IVHS example).
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn