第四章 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