Expert System, , and Neural Network Applications in Power Electronics and Motion Control

BIMAL K. BOSE, FELLOW, IEEE

Invited Paper

Artificial intelligence (AI) tools, such as expert system, fuzzy are difficult to solve in traditional way? In early age, it logic, and neural network are expected to usher a new era in power was perceived that human brain takes decision on the basis electronics and motion control in the coming decades. Although of “yes-no” or “true-false” reasoning. In 1854, George these technologies have advanced significantly in recent years and have found wide applications, they have hardly touched the power Boole first published his article “Investigations on the electronics and mackine drives area. The paper describes these laws of thought,” and Boolean algebra and set theory Ai tools and their application in the area of power electronics were born as a result. Gradually, the advent of electronic and motion control. The body of the paper is subdivided into logic and solid state IC’s ushered the modem era of Von three sections which describe, respectively, the principles and Neumann type digital computation. Digital computers were applications of expert system, fuzzy logic, and neural network. The theoretical portion of each topic is of direct relevance to defined as “intelligent” machines because of their capability the application of power electronics. The example applications to process human thought-like yes (Itno (0) logic. Of in the paper are taken from the published literature. Hopefully, course, using the same binary logic, computers can solve the readers will be able to formulate new applications from these complex scientific, engineering, and other data processing examples. problems. Since the 1960’s and in the early 1970’s, it was felt that computers have severe limitations being able to I. INTRODUCTION handle only algorithmic-type problems. An entirely new is machine emulation of the human way of structuring software that closely matches the human thinking processes. The term began to be systematically thinking process, called “Expert System” was bom. The used since the Dartmouth College conference in 1956 new branch of software engineering is called “Knowledge when “artificial intelligence” was defined as “computer Engineering.” This new breed of “Knowledge Engineers” processes that attempt to emulate the human thought pro- was responsible for the acquisition of knowledge from the cesses that are associated with activities that require the human experts in a particular domain and translating it into use of intelligence.” Human brain is the most complex software. In the 1980’s, expert system applications pro- machine on earth. For a long time, the neuro-biologists lifereated in industrial process control, medicine, geology, have been taking the bottom-up approach to understand agriculture, information management, military science, and the brain structure and its functioning, and the behavioral space technology, just to name a few. scientists, such as psychologists and psychiatrists, the top- Since the mid 1960’s, a new theory called “Fuzzy Logic” down approach to understand the human thinking process. or theory was propounded which gradually helped However, our knowledge about the brain is so inadequate at to supplement the expert system as an AI tool. L. A. present that it is expected to take another 50 to 100 years Zadeh [ 161, the originator of this theory, argued that most to understand the human brain and its thinking process. of human thinking is fuzzy or imprecise in nature, and Since human brain is the ultimate intelligent machine, the therefore, Boolean logic (which is represented by crisp question is: Is it possible to generate such intelligence, “0’ and “I”) cannot adequately emulate the thinking process. or at least a part of it, artificially with the help of a However, the general methodology of reasoning remaining computer so that it can solve our complex problems which the same, it was defined as “fuzzy expert system.” In recent Manuscript received November 29, 1993. years, fuzzy logic has emerged as an important AI tool The author is with the Department of Electrical Engineering, The University of Tennessee, Knoxville, TN 37996 USA. to characterize and control a system whose model is not IEEE Log Number 9402594. known, or ill-defined. It has been widely applied in process

0018-9219/94$04.00 0 1994 IEEE

PROCEEDINGS OF THE IEEE. VOL. 82, NO. 8, AUGUST 1994 I303 control, estimation, identification, diagnostics, stock market the human expertise in a certain domain. Consider a power prediction, agriculture, military science, etc. electronics engineer or technician who has a special or While the traditional digital computer is very efficient in domain expertise in the fault diagnosis of a power electronic solving expert system problems and somewhat less efficient system. He has learned or acquired this knowledge by in solving fuzzy logic problems, its inability to solve education and experience over a prolonged period of time. pattem recognition and image processing type problems The question is: Is it possible to embed this knowledge in a was seriously felt since the beginnning of the 1990’s. In computer program so that it can replace the human expert? fact, expert system techniques which held so much promise The answer is “yes,” but we need to recognize that human in the 1980’s, could not fulfill the expected computational thinking is so complex that no computer program, however needs. Therefore, people’s attention was recently focused sophisticated, can ever replace human thinking. The expert on a new branch of AI, called “artificial neural network” system, unlike conventional algorithmic programs which (ANN) or “neural network.” Fundamentally, the human can be described by flowcharts, or finite-state machine brain is constituted of billions of nerve cells, called neurons, programs, are specially structured to resemble the human and these neurons are interconnected to constitute the bio- thinking process. Figure 1 shows the basic elements of the logical neural network. Our thinking process is generated expert system. The core of the expert system is the repre- by the action of this neural network. The ANN tends to sentation of knowledge transferred from the human domain simulate the neural network by electronic computational expert. The domain expert, say the power electronics engi- circuits. The ANN technology is the most generic for neer, may or may not have the requisite software expertise. emulation of human thinking. It has been applied to process Knowledge engineering is a branch of computer science that control, diagnostics, identification, character recognition, deals with the techniques of knowledge representation by robot vision, flight scheduling, financial prediction, etc. The computer software. The knowledge engineer acquires the history of ANN technology is not new. It was gradually knowledge from the domain expert and translates it into evolving since the 1950’s, but the glamor of modem expert system software. The knowledge, as shown, can be digital computer and expert system techniques practically classified into two types: the expert knowledge embedded camouflaged the neural network evolution in the 1960’s and in the knowledge base, and the data, facts, and statements 1970’s. Since the beginning of the 1990’s, neural network that are normally embedded in database for supporting the as AI tool has captivated the attention of practically the expert knowledge. The knowledge base basically consists whole scientific community. This new form of machine of a cluster of production rules, as shown in Fig. 2, where intelligence has suddenly been elevated to transcendental each rule is given by an IF . . . THEN . . , statement. Often, heights. Often, it is held as the greatest technological an expert system is defined as knowledge-based or rule- advance since the invention of the transistor. It is predicted based system. A rule has the premise (or antecedent or to touch almost every scientific and engineering application condition) part in the IF statement and the consequent by the early 21st century. Of course, we need to wait and (or conclusion or action) part in the THEN statement. see to what extent this is true. Each rule is supported by parameters. The parameters This paper is concemed with the application of expert can have numerical, logical, or textual values. In the system, fuzzy logic, and neural network techniques in example rule of Fig. 2, dc link voltage, ac line voltage, and power electronics and motion control systems. With these machine speed are the parameters. A rule is “fired” if the tools, a system is said to be “intelligent,” “learning,” or premise is true, and then the action guided by the THEN have “self-organizing” capability. Traditionally, the design statement is executed. The rules can also be designed to of a control system is dependent on the explicit description handle a limited amount of probability through certainty of its mathematical model and parameters. Often, the model factors and probability-based models, such as Bayesian and the parameters are unknown, or ill-defined. The system, approach. The knowledge content can be easily altered, again, may be complex with nonlinearity and parameter updated as the technology changes, or enhanced on the basis variation problems. An intelligent or self-organizing control of “machine learning.” The engine (or control system can identify the model, if necessary, and give system), as the name indicates, is essentially the executive predicted performance even with wide range of parameter software that tests the rules in sequence and tries to draw variation. The recent advancement of AI tools, coupled with an inference or a conclusion. It also controls the user the availability of powerful personal computers, micro- con- interface, as shown. The inference engine tries to validate trollers, digital signal processors, and high-density analog rules by the forward- or backward-chaining method. In a and digital ASIC’s will provide significant capability for forward-chaining or antecedent rule, the premise part is high-performance control of power electronic and motion tested first, and if it is true then, the rule is fired. In a control systems. backward-chaining or consequent rule, the inference engine hypothesises the inference or consequent part of the rule, 11. EXPERTSYSTEM and then tests backward for the premise part to be true for the rule’s validity. This is analogous to the medical A. Expert System Principles doctor’s assumption of a disease, and then trying to match Expert system is basically a cluster of software routines the symptoms with it. In an expert system, both forward- especially organized in a computer that tends to emulate and backward-chaining rules may be strategically mixed.

1304 PROCEEDINGS OF THE IEEE, VOL. 82, NO. a AUGUST 1994 EXPLANATION SUB-SYSTEM

- - - _ - - _KNOwL_EDGE------

ENGINE BASE

KNOWLEDGE -AWORK SPACE ACOUl SI T ION

‘ DOMAIN I EXPERT I L -___-__ J

Fig. 1. Block diagram showing basic expert system elements

RULE I: IF Dc LINK VOLTAGE <2CQV AND AC LINE VOLTAGE processing capability. For real-time control of the power ~ / IS ZERO AND MACHINE SPEED >50% OF RATED SPEED, THEN REDUCE MACHINE SPEED BY 20% electronic system, a fast low-level language, such as C or Assembly language, may be essential. An expert system knowledge base can be structured in the form of a tree with the help of a number of frames as RULE N shown in Fig. 3. A frame essentially consists of a cluster Fig. 2. Expert system knowledge base showing a set of produc- of characteristic rules and the associated parameters. The tion rules. frame-based architecture permits logical organization of a large knowledge base into modular form. The root frame is The user interface of the expert system is very important the core of the knowledge base. It may have child subframes because often the user is an unskilled or semi-skilled person (A and B) and grandchild subframes (C, D, and E), as trying to consult the expert system. He must communicate shown in the figure. Each subframe can be considered as in natural language because of his usual unfamiliarity with subdomain of expert knowledge. Assume, for example, the the computer language. The expert system holds user- problem of drive product selection for a certain application friendly dialog with the user and requests parameter values which will be described later. The root frame corresponds for the relevant problem solving. The knowledge base is to the expertise of a general sales engineer, and subframes then searched, appropriate rules are fired, and the solution A and B, respectively, correspond to application engineer’s is given on the screen. In a real-time expert system-based expertise in induction and synchronous motor drives. The control, the input parameters are accessed from the sensors. user interfaces the root frame in the beginning, and based These signals are then processed and control signals for the on user dialog, if induction motor drive appears to be the system are generated. choice, the subframe A will be “instantiated’ and conversa- The user education is one of the most important features tion will begin with it. The subframes C and D can relate of the expert system. For a problem to be solved, he to auxiliary features, and price and delivery considerations, can get intense education and have understanding of how respectively. Any frame or subframe may access the central the problem is solved and the conclusion reached by the database which may be the drive product catalog in this “HELP,” “WHY,” and “HOW’ commands. The HELP case. For convenience, normally a frame can access the command can explain to the user the in-depth technical rules of children and grandchildren frames, but not its features of the problem with the help of texts and graphics. parent and grandparent frames. However, a frame normally The WHY command can explain why the expert system is has access to the parameters in the parent and grandparent asking relevant information from the user, and the HOW frames, but not to the children and grandchildren frames. command explains how the expert system arrived at the A relatively small-size knowledge base can use the root consultation conclusion. frame only. An expert system can track its own operation Which computer language should be used for the devel- and enhance efficiency of knowledge base operation which opment of expert system? Since the bulk of processing is is based on leaming. The term meta-knowledge means symbolic or non-numeric in nature, a symbolic processing knowledge about the knowledge base operation, and meta- language, such as PROLOG or LISP is very convenient. rule means rule about the rules. The meta-rule can dictate The LISP or its dialect has been traditionally accepted the most efficient order of rule search and thus increase as the expert system language because of its power and efficiency for reaching the conclusion. flexibility. Of course, the numeric-computation-intensive The knowledge in an expert system can be defined as languages, such as Fortran, Pascal, C, etc., can also be “shallow” or “deep.” Shallow knowledge can result in used in expert systems because they have limited symbolic a set of rules directly derived from the technician’s or

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS 1305 USER INTERFACE ml

Fig. 3. Frame structure of knowledge base.

PC SCHEME operating engineer’s knowledge (see Fig. 2), whereas the rules for deep knowledge can be derived from the system Fig. 4. Extemal interface of shell. model that corresponds to the designer’s knowledge. The knowledge can also be categorized as declarative or fact- like knowledge and procedural or method-like knowledge.

swLl WRITEDOS-FILE D(KwABLE B. Expert System Shell rmFRFACE A shell is a software environment for efficient and user- FOR DOSCAU- Dos friendly development of an expert system. The developed or DOSFILE READM)S-FILE client program can be operated within the shell or exported to another computer. A large number of expert system shells [3] based in mainframe, mini, and personal computers is available for different applications. Recently, personal computers have become very powerful, and a number of PC-based shells [6], such as 1st Class (1st Class Expert in Fig. 4. The rules can process simple arithmetic and Systems, Inc.), Exsys (Exsys, Inc.), Guru (Micro Data Base logical operations with the help of LISP, but for complex Systems), PC (Personal Consultant) Easy, and PC (Personal calculation, such as solving differential equations, it can Consultant) Plus (both by Texas Instruments) have become interface the DOS program, as indicated in Fig. 5. When available which are well-suited for application in power a DOS calculation is needed, the expert system writes the electronics area. Since there are a lot of common elements data in the DOS program, executes them, and then reads in the features of these shells, the PC Plus will be briefly the resulting data. A limited amount of data can be directly reviewed as an example in this paper. embedded in the program, but for larger size of data, such The PC Plus development system [7], normally based as product catalog consultation, dBASE files are consulted. in IBM-compatible PC, operates in DOS environment and Similarly, LOTUS 1-2-3 spreadsheets can be linked with uses the PC SCHEME language which is a dialect of LISP. the shell. One of the powerful features of the shell is The program developer needs to have some familiarity its capability to integrate pictures with the knowledge with PC SCHEME although English-like Abbreviated Rule base using a utility called SNAPSHOT. The picture is Language (ARL) is used for fast development of the rules first created with graphics editor, such as DR. HALO in the knowledge base. Rule 1 in Fig. 2 can be represented (Media Cybernetics) or ORCAD (Orcad Systems). With the in ARL as compression tool of the SNAPSHOT, the created picture is IF : : DCVL < 200 AND ACLV compressed into a file. The expansion tool automatically = NO AND MC-SPD > 0.5 expands the picture when the knowledge base needs it for THEN : : MC-SPD = MC-SPD * 0.8 consultation. where DCVL, ACLV, and MC-SPD are the corresponding parameter names. The run-time version or client program operates alone in DOS environment and the user dialog with C. Expert System Application the program is in pure English. The client program can be Although expert system techniques are almost in the generated either in LISP for non-time-critical application mature state of evolution, they have hardly touched the or in C for time-critical application. When the program power electronics area. They have the potential for appli- is resident in the shell, the developer can easily alter cation practically in all aspects of the power electronics or update it, but no program modification is possible area, such as system analysis, design, simulation, control, in client environment. The knowledge base is organized tests, diagnostics, assembling, marketing, shipping, etc. In in hierarchical frame-based structure, as indicated before. this section, a few applications which are described in the The inference engine defaults to backward chaining unless literature, will be briefly reviewed. forward chaining is specifically instructed in the rule (an- I) Fault Diagnosis and Monitoring for AC Drives [12], tecedent rule). The extemal interface of the shell is shown (131: Fault diagnosis in an industrial plant is one of

1306 PROCEEDINGS OF THE IEEE, VOL. 82, NO. 8 AUGUST 1994 3-+ 60H2 AC

Fig. 6. Fault diagnosis signals for a voltage-fed inverter ac drive. the most popular applications of the expert system. The system where application-based information is requested in diagnosis may be on the basis of off-line or on-line diag- detail. Based on this information, the knowledge base and nostics. In off-line diagnostics (trouble-shooting), the plant database are searched and the appropriate drive product is is shut down intentionally or by the protection system. recommended. A typical rule in PC Plus using ARL can Then, the expert system that embeds the expertise of a be given as follows: diagnostic technician, is used to identify the fault. The IF : : MOTOR = INDUCTION-TYPE AND procedure may be static or dynamic in nature. The expert APPLICATION system communicates the trouble-shooting procedure to the = CENTRIFUGAL-PUMP AND operator, and the observed symptoms are fed as input in POWER = 10-HP AND the form of a dialog. The rule base is then searched and SUPPLY-VOLTAGE = 230-V AND conclusions are drawn. The operator training, as indicated PHASE = THREE AND before, is a very important feature of the expert system. In SPEED-RANGE = 10&1750 r/min AND complex problems, a trained operator can make intelligent AUTO-RESTURT = YES AND conversation with the expert system. SPEED-RESTART YES AND The expert system based on-line diagnostics may be SPEED-REVERSAL = YES quite involved. Here, the objective is to maintain reliability THEN : : SELECTED-PRODUCT and safety of the operating plant avoiding unnecessary = COMPANY-A-MODEL-3TSO9 shut-down. The monitoring, alarm processing and system The knowledge base and database can be easily mod- protection functions can be integrated with the diagnostic ified and updated as new products are introduced and system. Figure 6 shows a voltage-fed inverter ac drive old produts are deleted. The systematic problem-solving where the ac line voltages and currents, dc link voltage flowchart is given in Fig. 7. The system gets application- and currents, transistor base drive signals, machine sta- related data from the user, searches the database, and the tor voltages and currents, and stator winding temperature candidate products are identified. The motor overheating signals are fed to the microcomputer that embeds the with the inverter is then checked, and if unsatisfactory, diagnostic program. The rule base of the program contains a higher machine frame size is recommended. If the ac- the expertise of the operator and the designer. An example celeration/deceleration time profile is needed, the inverter of on-line diagnostic rule is given in Fig. 2, where the dc oversizing factor is calculated by the LISP or DOS program, link voltage is maintained by pumping in the regenerative and finally, the product type is selected with a check of braking enery in case of ac line power failure. The expert options and other features. system may be designed to monitor the general health of 3) Converter Design, Simulation, and Optimization [I 01, the drive, avoid preventable shut-down, and provide fault- [ll]:The expert system can help a semi-skilled designer tolerant control of the system. to automate the converter system design (as shown in 2) Drive Product Selection [9]: The expert system can Fig. 6, for example), and then optimize the design based help a semi-skilled user to select a drive product best on simulation. The designer holds consultation with the suited for his application. Normally, the user determines expert system and supplies the details of load condition, his preliminary application needs and then extensively line power supply, and other specifications. Based on these, consults a company applications engineer. The applications the expert system designs the diode rectifier, filter, PWM engineer with his knowledge of drive technology and inverter, snubbers, and the cooling system in detail using the company products, makes some calculations, consults the knowledge base that incorporates the domain expertise of product catalog, and then makes recommendation of a drive the converter designer, and finally the solutions are given product. In the expert system, the application engineer’s on the screen. With user’s command, the expert system expertise and the product catalog are embedded in the simulates the converter system, iterates the design, checks knowledge base. The user holds a dialog with the expert the critical variables to be within the safe limits. and then

BOSE: EXPERT SYSTEM, FUZZY LOGIC. AND NEURAL NETWORK APPLICATIONS I307 I I I

Fig. 7. Problem-solving flowchart for drive product selection.

1

Fig. 8. Converter design, simulation, and optimization flowchart. confirms the final design. A sample design rule in ARL is given as IF : : OUTPUT-POWER IS KNOWN AND OUTPUT-VOLT IS KNOWN HKFBRlDQE THEN : : POWER-BJT-IDC = (7.733*OUTPUT -msrry8Munlm SIYuUllON AND SUB ME-1 SNUBBEROPTYIUTIOW - POWER) * IOF * SUBFRAUEP INV-OVERLOAD/OUTPUT-VOLT oBsEfwE~uE where IOF is the inverter overloading factor. Note that the arithmetic computation is done directly in LISP. The development and consultation flowchart is given in Fig. 8, I oBsERvATw3NOFWAVES OasERVATloNOF WAVES and Fig. 9 gives the structure of the knowledge base. Note ANDcRmcALvAwEs that the database stores the numerical data for the power Fig. 9. Structure of knowledge base for converter design. semiconductor specifications sheets, but the graphical data are converted to polynomial equations and embedded in load current (either from the root frame or from Subframe- the knowledge base. Once the converter system is fully I), simulates the half-bridge inverter, and optimizes the designed, the half-bridge version of the inverter is sim- snubber parameters. ulated as a dc-to-dc converter to optimize the polarized snubber with the worst case line current. Finally, the full 111. Fuzzy LOGIC system, as shown in Fig. 6, is simulated to verify the safe voltage and current levels. As indicated in Fig. 9, the root A. Fuzzy Logic Principles frame performs design of the converter system. Subframe- Fuzzy logic, unlike Boolean or crisp logic, deals with 1 is responsible to interface the simulation program (in problems that have vagueness, uncertainty, or imprecision, SIMNON language), perform the simulation study, make and uses membership functions (MF) with values varying observation on voltage and current waves as well as their between 0 and 1. Fuzzy logic tends to mimic human critical values. Subframe-2 accepts the worst case inverter thinking that is often fuzzy in nature. In conventional

1308 PROCEEDINGS OF THE IEEE, VOL. 82, NO. 8 AUGUST 1994 MEDIUM 't

mz

z 0.0 0 400 800 1200 1600 2000

SPEED (rpm)

Fig, 10. Fuzzy sets of speed defined by membership functions set theory based on Boolean logic, a particular object or variable is either a member (logic 1) of a given set or it is not (logic 0). On the other hand, in fuzzy set theory based on fuzzy logic, a particular object has a degree of membership in a given set that may be anywhere in the range of 0 I .o't (completely not in the set) to 1 (completely in the set). This property allows fuzzy logic to deal with uncertain situations L 0123456 x in a fairly natural way. It may be mentioned that although fuzzy logic deals with imprecise information, it is based on sound quantitative mathematical theory. Of course, in this section, fuzzy logic principles related to control, modeling, and estimation applications will be emphasized. A fuzzy variable has values which are expressed by lo= lo= 0123456 x natural English language. For example, the speed of a machine, as indicated in Fig. 10, can be defined by linguis- (d) tic variables (fuzzy sets or subsets) LOW, MEDIUM, and Fig. 11. Basic operation involving fuzzy sets. (a) Fuzzy sets A HIGH, where each is defined by a gradually varying bell- and B. (b) Union .4UB. (c) Intersection AnB. (d) Negation ]A. shaped (Gaussian) membership function. The shape can also be triangular or trapezoidal, and can be symmetrical or This is equivalent to Boolean NOT logic. asymmetrical. For example, if the speed is below 400 r/min, Figure 11 illustrates the above operations with triangular it belongs completely to the set LOW, whereas for 700 membership functions. r/min, it belongs to the set LOW by 50% (MF = OS), and to A process control algorithm that is based on fuzzy logic the set MEDIUM by another 50% (MF = 0.5). The change is called fuzzy control. A fuzzy control essentially embeds in Boolean logic is abrupt between 0 and 1, and in Fig. 10, the intuition and experience of a human operator, and some- the low-to-medium transition may occur at 550 r/min, and times those of a designer and researcher. The conventional similarly, the medium-to-high transition may occur at 1350 control is normally based on mathematical model of a plant, r/min. In fuzzy set terminology, all the possible values as mentioned before. If an accurate mathematical model that a variable (speed) can assume are named universe of of a plant is available with known parameters, it can be discourse, and the fuzzy sets (characterized by membership analyzed, for example, by a Bode or a Nyquist plot, and a functions) cover the whole universe of discourse. controller can be designed for the specified performance. The basic properties of Boolean theory are also valid in Often, the plant model is unknown or ill-defined. Even fuzzy set theory, and are given as follows: if the plant model is known, there may be a parameter Union: Given two fuzzy subsets A and B of a universe variation problem. Sometimes, the model is multivariable, of discourse X, the union A U B is also a fuzzy set of X complex, and nonlinear, such as the dynamic 0-Q model of with membership function given as an induction motor. Various adaptive control theories, such as self-tuning regulation (STR), model referencing adaptive PAUB(Z) = max [PA(z),PB(5)]. (1) control (MRAC), and sliding mode control (SMC) have This is equivalent to Boolean OR logic. been developed to combat such problems. It can be shown Intersection: The intersection of two fuzzy sets A and that fuzzy control is basically adaptive in nature, and can B of the universe of discourse X, denoted by A nB has give improved robustness in such problems. Mamdani and the membership function given by Assilian [ 181 first reported the application of fuzzy logic to control a model laboratory steam engine. The purpose was PAnB(5) = min [PA(z);PB(Z)]. (2) to control engine speed and boiler steam pressure by using This is equivalent to Boolean AND logic. heat applied to the boiler and the throttle setting on the engine. Afterwards, gradually, fuzzy control was applied to Complement or Negation: The complement of a given set A of the universe of discourse X,defined by ]A,has cement plant, chemical reactor, blast fumace, robotics, and the membership function electrical machine drives. Fuzzy control, similar to the expert system based control, PA(Z) = 1 - P]A(5). (3) is described by a set of IF . . . THEN . . . rules (called

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS 1309 input signal condition and then computes the effective control action. The composition operation is the method by which such a control output can be generated. Several RULE I composition methods, such as MAX-MIN (or SUP-MIN) and MAX-DOT have been proposed in the literature. The commonly used SUP-MIN method, as illustrated in Fig. 12, is given as POS ITlVE NEGAT 1 VE SMALL u=x.R

RULE 2: kf or 0 DU A PU(P) = SUP, bin (PX(Z). PR(T .)I. (5) As indicated in Fig. 12, the output membership function of ERROR (E)f ERROR RATE (CElJ I each rule is given by MIN (minimum) operator whereas FINAL FUZZY * +lo VALUE FOR DU ,’ ‘\ :d\ the combined fuzzy output is given by SUP (supreme or maximum) operator. The general structure of a complete fuzzy control system is given in Fig. 13. The plant control signal U is inferred GRAVITY CONTROL from the two state variables, error (e) and change in error Fig. 12. Fuzzy-rule-based composition indicating SUP-MIN (deldt or ce for the sampling interval). The e and ce are principle. per unit (pu) signals derived from the actual E and CE signals by dividing with the respective gain factors, as implication), where the rule has the following general shown. The “fuzzification” operation can be performed by structure: considering the crispy input values as “singletons” (fuzzy sets that have membership value of 1 for a given input IF 3: is A AND y is B THEN z is C value and 0 at other points) and taking the values of the set’s membership function at the respective data value. where x, TJ, and z are the fuzzy variables and A, B, and C are the fuzzy subsets in the universe of discourses “Defuzzification” operation can be performed by a number X, Y,and 2,respectively. Fuzzy logic is often defined as of methods of which center-of-gravity (or centroid) and “fuzzy expert system” where the knowledge base is fuzzy height methods are common. The centroid defuzzification or imprecise in nature. However, compared to the expert method, as indicated in Fig. 12, determines the output crisp system, the fuzzy expert system has fewer rules. value from center of gravity of the output membership Figure 12 illustrates the typical fuzzy control of a dc function and is given by the expression motor drive where the two rules are derived from the observed behavior of the plant. Rule 1 states that if the speed loop error (E)is zero (ZE) and the rate of change of speed (CE) is negative small (NS), then the control In the height method, the centroid of each output mem- signal increment (DU) is negative small (NS). The linguistic bership function for each rule is first evaluated. The final variables ZE, NS, and DU are defined by symmetrical output is then calculated as the average of the individual membership functions, as shown. Graphically solving the centroids weighted by their heights (degree of membership) problem, the control output of Rule 1 is DUI. In practice, as follows: more than one rule is fired at a time. If Rule 2 is fired, it will give output DU2. The effective control output is given by 2vi P(ui> the weighted average of DUI and DU:!. The fuzzy control U() = i=l (7) can be implemented either by microcomputer or dedicated 2P(ui> ‘ hardware. i= 1 In general, a fuzzy rule base (see Table 1) is first Finally, the database in Fig. 13 provides the operational constructed by the designer and then all the fuzzy sets definitions of the fuzzy sets used in the control rules, of each variable are described by appropriate membership fuzzification, and defuzzification operations. Further details functions (see Fig. 16). In general, a rule is n-dimensional of fuzzy control will be given in the application examples. where n is the number of variables included in the rule. In spite of the advantages of fuzzy control, its main The individual rules are combined to give an overall rule limitations are the lack of systematic procedure for design R which is computed by the union operator as follows: and analysis of the control system. The heuristic and iterative approach to fine-tune the rule base and membership functions may be very time-consuming. If the system can For the given rule base of a control system, the fuzzy be simulated on a computer, the tuning can be based on controller determines the rules to be fired for the specific the simulation results. A few other difficulties in fuzzy

1310 PROCEEDINGS OF THE IEEE. VOL. 82, NO. 8 AUGUST 1994 uu

+C

Fig. 13. Basic structure of fuzzy control system.

PREMISES CONSEWENTS A I \ / \

t /MEDIUM /MEDIUM

Tsl ‘A01 +AllW+A21H

W DEFUZZ IF ICAT ION THE LOWER OF THE TWO IF CONDITION OUTPUTS IS SELECTED

WIDTH (W)-- HEIGHT (HI-

Fig. 14. Principle of relational estimation (Sugeno’s method). control are lack of completeness of the rule base and lack to define the regions where the output can be expressed of definite criteria for selection of the shape of membership as linear functions of the inputs. Basically, it is a hybrid functions, their degree of overlapping, and the levels of method that combines the fuzzy and mathematical methods. data quantization. Recently, fuzzy neural network (FNN) As shown in Fig. 14, the premise portion of the rules techniques (described later) have been developed to solve is identical with that in the rule-base approach, but the some of these problems. consequents are described by equations. Rule 1 in the figure Fuzzy logic can also be applied to modeling and esti- can be stated as mation. A process, such as cement plant, is difficult to IF W is MEDIUM AND H is MEDIUM describe by a reasonably good mathematical model, but THENIS =A01 +All.W+A21.H. its operational behavior can be described by a set of fuzzy The consequents are linear functions of W and H and rules. Such a fuzzy model can help to enhance the perfor- the parameters Ai, are constant coefficients. The Aij can mance of fuzzy control, just as the mathematical-model- be determined by multiregression linear analysis, and then based conventional control can give superior performance. fine-tuned by observation or simulation. The linear equation Similarly, the fuzzy estimation technique can be applied outputs are then defuzzified, i.e., weighted average of the to a process where mathematical model is not known, ill- consequents is evaluated by the respective membership defined, or has a parameter variation problem. The fuzzy values to determine the crisp output. The relational method modeling and estimation can use the rule base method, of estimation requires fewer rules, gives better accuracy, as described above, or the relational method described by and the algorithm development time is somewhat smaller Sugeno [30] that is also known as Sugeno’s method. Figure than for the rule base method. 14 illustrates the principle of relational estimation of rms line current (Is)(described later) for a diode rectifier where B. Fuzzy Logic Application the current pulsewidth (W)and height (H)are given as Fuzzy logic can be applied to control, diagnostics, model- inputs. The idea behind the fuzzy relational approach is ing, and estimation of power electronic system. In general,

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS I31 I vac DC MACH INE CURRENT PHASE J CONTROLLER - CONMRTER Y Fig. 15. Fuzzy speed control block diagram of dc drive. fuzzy expert system is applicable wherever the knowledge Table 1 Rule Base for Speed Control base of an expert system contains fuzziness. In this section, a few example applications will be discussed from the NB I NM 1 NS I@ literature. NK NS 2 I) Speed Control of DC Motor [22]: Fuzzy logic can be 933 applied in the closed-loop control of a drive system. With nonlinearity, parameter variation, and load disturbance ef- fects, it can provide fast and robust control, as mentioned before. The drive system may be based on a dc or ac FW PB WB machine. Since vector-controlled ac drive and dc drive WBWB have identical dynamical models, the same fuzzy control PB F'VB WB WB principle is valid in either case. Figure 15 gives the control block diagram of a phase-controlled converter dc drive using a separately excited constant field dc motor. Instead of conventional PI control, the system uses fuzzy control NE NM NS '!Z PS PM PE in the speed loop where E (error) and CE (change in error) are the input signals and 1; is the output armature current command. The drive system also uses fuzzy logic in the current controller, and in the linearization of converter characteristics at discontinuous conduction, but these will (a) not be discussed here. The rule base of the speed controller, shown in matrix form in Table 1, has altogether 49 rules NB NM NS PS PM PE which are developed by heuristics from the viewpoint of '/Z practical system operation. A typical rule can be given as IF the speed loop error (e) is positive small (PS) AND change in error (ce) is negative small (NS)

THEN the control increment (dU) is zero (Z) ce -I Figure 16 shows the plot of triangular membership func- (b) tions for the variables e, ce, and dU which are expressed in per unit (pu) quantities. Note that the membership NVB NE NM NSP!Z PS PM PB PVB functions have asymmetrical shape with more crowding near the origin. This permits precision control near steady state without unduly increasing the number of sets. A finer partitioning for dU was necessary because of higher -I -U, -U2-U30 U3 U2 U3 dU(pu) sensitivity of the variable. With the 50% overlap assumed LdU in Fig. 16, the four rules fired for the given inputs are (C) indicated in Table 1. Correspondingly, the fuzzy output (by Fig. 16. Membership functions for fuzzy speed controller. SUP-MIN composition) is shown in Fig. 16(c). The output dU is determined by height defuzzification principle and the drive. Figure 17 explains the on-line search technique then integrated to get the current command 1;. It can be of efficiency optimization by flux programming. Consider shown that with fuzzy control the response is more robust the motor operation initially at rated flux and steady state with inertia variation and load torque disturbance than with with the load, torque, and speed, as shown. The rotor conventional PI control. flux is decremented in steps by reducing the magnetizing 2) Induction Motor EfSlciency Optimization Control 1271, component of stator current ids. This results in an increase [28]: Induction motor drives are normally operated at rated of the torque component of current i,, (normally by the flux condition to give best transient response. However, at speed loop), so that the developed torque remains the same. light-load condition, this gives excessive core loss, impair- As the core loss decreases with the decrease of flux, the ing efficiency of the drive. The flux can be programmed copper loss increases, but the system (converter and ma- at light-load steady state in order to improve efficiency of chine) loss decreases improving the overall efficiency. This

1312 PROCEEDINGS OF THE IEEE, VOL. 82, NO. 8 AUGUST 1994 flux is controlled by the voltage and the torque is controlled by the feedforward slip signal estimated from the machine terminal voltages and currents. 3) Slip Gain Tuning Control of Induction Motor Drive [25], [26]: Slip gain tuning of indirect vector-controlled induction motor drive has been the subject of intense research in recent years. Slip gain detuning, caused by OFERATlON 4 I- variation of machine parameters, gives undesirable transfer TORQUE CURRENT (rated) characteristics for torque and flux, and unsatisfactory tran- => => sient response characteristic of a higher order system that

--p&"G might eventually result in instability of the drive system. The fuzzy logic technique can be gainfully applied to tune ROTOR FLUX I the slip gain. Figure 19 shows the block diagram of a fuzzy TIME on-line tuning of slip gain (K,)using the model referencing adaptive control (MRAC) technique (the plant and other control elements are not shown). The scheme depends on /-Lmss reference model computation of reactive power (Q*) and D-axis voltage (v:,) at the machine terminal for ideally COPPER toss tuned condition of K,. The expressions of these parameters are given as

CONVERTERLoss Q* = we(Lsz~~- L,i;:) (8) LRON LOSS = Rsi:s - w,L,i;E, (9) TIME where L, = L, - (Lm2/Lr)and the other equation Fig. 17. On-line search method of efficiency optimization control elements are standard symbols. The reference models are by flux programming. then compared with the respective estimate of the actual quantities given by is reflected in the decrease of dc link power Pd, as shown. Q = vqszds - vdsiqs (10) The search is continued until the system settles down at Vds = vbs sin 0, + vis cos 0, (1 1) the minimum input power point A. Figure 18 shows the block diagram of an indirect vector-controlled induction where cose, and sine, are unit vectors. The respective motor drive incorporating the fuzzy-logic-based efficiency loop error is divided by a base value to convert into per controller, as discussed above. The fuzzy controller has the unit (pu) form for convenient manipulation in the fuzzy advantage that it adaptively decrements the step size of the controller. The base value is essentially the same as the excitation current so that fast convergence is attained. The reference value. Note that the reverse polarity of AQ is due steps are again programmable and depend on the operating to opposite behavior of vds and Q with respect to K,. There point of the torque-speed plane.The speed loop generates are, in fact, two fuzzy controllers in Fig. 19. The controller the torque current command iqS,as indicated. The fuzzy FLC-I generates a weighting factor Kf which permits efficiency controller detects the steady-state condition when appropriate distribution of Q control and Vds control on the speed loop error Aw, approaches zero, and then it the z:s - we, i.e., the torque-speed plane. This is to ensure invokes the efficiency optimization control. A typical fuzzy high sensitivity to detuning control by assigning dominant rule can be given as use of the Q control in the low-speed high-torque region, IF the power increment (Apd) and the vds control in the high-speed low-torque region. An is negative medium (NM) example rule can be given as AND the last ids(L- ids) is negative (N) IF speed (we) is low (L)and torque (iqs) THEN the excitation increment (dzds) is high (H) is negative medium (NM). THEN weighting factor Kf is high (H). Note that as ids is decremented, there will be loss of The combined error signal is given as torque which will be normally compensated by the sluggish E = AQ . Kf + nvds(1 - Kj). (12) speed control loop. The resulting pulsating torque may be objectionable. It can be compensated by a feedforwarded The second fuzzy controller FLC-2 generates the corrective torque compensator, as shown. When the speed command incremental slip gain AK, based on the combined detuning or load torque is changed, the system can easily transition error E and its slope. Basically, it is an adaptive feedback- to the fast transient response mode when the rated flux loop controller, as discussed before, for fast convergence at is established and the torque is directly controlled by the any operating point irrespective of the strength of E and speed loop. The above fuzzy control can easily be translated CE signals. Under an ideally tuned condition, the signals to open-loop volt-per-hertz controlled drive [29] where the AQ and AV&, and correspondingly, the E signal, will

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS 1313 I -L I ’I’ 011 Ill

Fig. IS. Vector-controlled drive with fuzzy efficiency optimizer.

based waveform estimation has the advantage of fast re- sponse, multiple outputs from a single premise of a rule, and immunity of noise and drift from the sensors. Both rule-based and relational methods, as discussed before, IKf can be applied for the estimation. Figure 20 illustrates the rule-based estimation technique for line current of a three-phase diode rectifier feeding a capacitive load. The AV& I FIXI-2 pattern of the current wave, as shown, is characterized by the width (W)and height (H)parameters, and the estimate is dependendent on their values. Both W and H are defined by 6 and 11 fuzzy sets, respectively, giving 66 rules. The number of sets for rms current (Is) and fundamental rms current (If)is 16, but the displacement factor (DPF) has only 6 (same as W) sets. Note that the FLC-1 membership functions are asymmetrical and nonidentical Fig. 19. Fuzzy-logic-based MRAC tuning control block diagram. for each variable because each output is different and has different degree of nonlinearity. All the fuzzification and be zero and the slip gain K, will be set to the correct defuzzification are done on pu basis, as indicated in the value (K,o). If the system is detuned, for example due to figure. Since the values of the input variables have large variation of rotor resistance, the actual Q and uds variables range, the implementation is made by the so-called “auto will deviate from the respective reference variables, and range” normalization and denormalization. Of the four rules the resulting error will alter the K, value until the system valid in the figure, a typical rule is given as becomes tuned, i.e., E = 0. IF H is PMS AND W is PSB 4) Waveform Estimation [31]: Power electronic convert- THEN Is is PMM, If is PSB, and DPF is PMS. ers characteristically generate distorted voltage and current Once Is, If,and DPF are estimated, the power factor (PF) waveforms. Electronic instrumentation techniques are ex- can be given by the simple relation tensively used to process these waves and determine the quantities, such as total rms value, fundamental rms value, PF = DPF .If/Is. (13) active power, reactive power, displacement factor, and For improved accuracy, the formulation of rule base and power factor. Often, mathematical model (if available) membership functions and their iteration are based on and look-up table methods are also used for the esti- simulation results. mation. The computation-intensive approaches have the disadvantage that the response is slow because integration IV. NEURALNETWOW and averaging processes are involved. The look-up table solves this demerit, but for good accuracy, the size of A. Neural Network Principles the table (one or multi-dimensional) should be large or Neural network or artificial neural network (ANN), as the interpolative calculation becomes necessary. Fuzzy-logic- name indicates, is the interconnection of artificial neurons

1314 PROCEEDINGS OF THE IEEE. VOL. 82, NO. 8 AUGUST 1994 MF. FOR RMS CURRENT M F. FOR HEIGHT (HI VZO PSS PSM PSB PMS PMM PMB PBS PBM PBB VB I

P I 0

PSS PSB PSVB PBZO PBVB // VZO.PSZO/PSM/ ASPMMPMB I PBSPBMPBB I VB I.o

Ip M.F. FOR FUND. RMS CURRENT

M F. FOR WIDTH

MF. FOR OISP. FACTOR

Fig. 20. Rule-based estimation of rectifier input current wave.

that tends to simulate the nervous system of a human brain. SYNAPSE It is also defined in literature as a neurocomputer or a ‘I\ WEIGHTS connectionist system. Neurocomputing is a more generic form of artificial intelligence than expert system and fuzzy logic. The human brain is said to have around 100 billions INPUTS X3 E ,NEURONOUTPUT Y: neurons or nerve cells, and each neuron is interconnected SIGMOIDAL I) 1 SUMMING FUNCTION to IO00 to 10000 other neurons. A biological neuron is “BNODE a processing element that receives and combines signals from other neurons through input paths called dendrites. If the combined signal is strong enough, the neuron “fires,” XN7 producing an output signal along the axon that connects to Fig. 21. Structure of an artificial neuron. dendrites of many other neurons. Each signal coming into a neuron along a dendrite passes through a synaptic junction. This junction is an infinitesimal gap in the dendrite which The model of an artificial neuron that closely matches a is filled with neurotransmitter fluid that either accelerates biological neuron is given by an op-amp summer-like con- or retards the flow of electrical charges. The fundamental figuration shown in Fig. 21. The artificial neuron (or simply actions of the neuron are chemical in nature, and this neuron) is also called a processing element (PE), a neurode, neurotransmitter fluid produces electrical signals that go a node, or a cell. The input signals XI,Xp, X3, . . . , X, are to the nucleus or soma of the neurons. The adjustment of normally continuous variables instead of discrete pulses the impedance or conductance of the synaptic gap leads to that occur in a natural neuron. Each of the input signals “memory” or “learning” process of the brain. According flows through a gain or weight, called synaptic weight or to this theory, we are led to believe that the brain has the connection strength whose function is analogous to that of characteristics of “associative memory” and does not have the synaptic junction in a natural neuron. The weights can computer-like CPU and central storage memory. be positive (excitory) or negative (inhibitory) corresponding

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS 1315 to acceleration or inhibition, respectively, of the flow of signals to the hidden layer, and the hidden layer, in tum, electrical signals. The summing node accumulates all the transmits the signals to the output layer, as shown. There input-weighted signals and then passes to the output through is no self-, lateral, or feedback connection of neurons. The the transfer function which is usually nonlinear. The trans- network is “fully connected when each of the neurons in a fer function can be step- or threshold-type (that passes given layer is connected with each of the neurons in the next logical 1 if the input exceeds a threshold, or else 0), signum- layer, as shown in Fig. 22, or can be “partially connected” type (output is +I if the input exceeds a threshold, or else when some of these connections are deleted. A neural - 1) or linear threshold type with the output clamped to + 1. network input and output signals may be logical (0, l), The transfer function can also be nonlinear continuously discrete bi-directional (& 1) or continuous variables. Often, varying type, such as sigmoid (shown in Fig. 21), inverse- continuous-variable signals, such as sigmoid functions at tan, hyperbolic, or Gaussian type. The sigmoidal transfer the output are clamped to convert to logical variables. function is most commonly used, and it is given by The vector and matrix notation is often convenient in dealing with the inputs, outputs, and weights. In 1 Y= Fig. 22, assume that the hidden-layer neuron outputs are 1 + e-ax V4, V5, v6, V7, and Vg, as indicated. If the transfer functions are assumed to be linear with unity gain, then the output where a is the coefficient or gain which adjusts the slope of the hidden layer in matrix form can be given as of the function that changes between the two asymptotic values (0 and +l). Note that with high gain, it approaches w41 w42 w43 a step function. The sigmoidal function is nonlinear, mono- tonic, differentiable, and has the largest incremental gain at zero signal, and these properties are of particular in- terest. All the above transfer functions are characterized -w81 w82 w83 as “squashing function,” because they squash or limit the or output values between the two asymptotes. It should be mentioned here that the linear transfer function removes nonlinearity from the neuron and eliminates the capability of neural network to emulate nonlinear phenomena. where % is the output vector of layer b which is given as How the biological neurons remain interconnected in the the dot product of the weight or connectivity matrix mba brain still remains a mystery, but scientists have evolved and the input layer signal vector x,.Similarly, the network more than 60 neural network models. Whether any of these output signals can be given in the matrix form as models match that in the brain is not very important. What v, is important is that these models help solve our scientific, engineering, and many other problems. In general, neural Yl w94 w95 w96 w97 w98 1. networks can be classified as feedforward and feedback [y2] = [w10, 4 w10, 5 WlO, 6 WlO, 7 w10, 8 11 types depending on the interconnection of the neurons. At V8 present, the majority of the problems (roughly 90%) use (17) feedforward architecture, and it is of direct relevance to power electronics and motion control applications. There- or fore, this type of network will be emphasized in the paper. Figure 22 shows the structure of a feedforward multilayer network with three input and two output signals. The Combining (15) and (17) topology is based on Perceptron which was proposed by Rosenblatt in 1958 and was used to emulate the biological w95 w96 w97 vision system. The circles represent neurons and the dots w10,4 w10,5 w10,6 w10,7 w10,8 in the connections represent the weights. The transfer func- w41 w42 w43 tions are not shown for simplicity. The back propagation w51 w52 w53 training, as indicated, will be discussed later. The network (19) has three layers, defined as input layer (a), hidden layer ‘ Iw71w61 w72w62 w7]w63 ’ E:] (b), and output layer (c). The hidden layer functions as a Wai Ws2 W83 connection between the input and output layers. The input and output layers (defined as buffers) have neurons equal to or the respective number of signals. The input-layer neurons do not have transfer functions, but there are scale factors, as shown, to normalize the input signals. There may be more which indicates that the output vector is the dot product than one hidden layer. The number of hidden layers and of combined weight matrix mcba and the input vector xa. the number of neurons in each hidden layer depend on the Note again that with the nonlinear transfer function, the network design considerations. The input layer transmits the above calculations are strictly invalid.

1316 PROCEEDINGS OF THE IEEE, VOL. 82, NO. 8 AUGUST I994 HIDDEN LAYER

INPUT

Fig. 22. Structure of feedforward neural network showing back propagation training.

E. Training of Neural Network by a teacher) compared to unsupervised or self-leaming and So far, the discussion has been confined to the operating reinforced leaming (leaming with a critic) described in the principle of a neural network, and that is also for the literature. feedforward or hierarchical type. One thing is obvious With the leaming principle described above, the problem that the neural network computes very fast in parallel and can be solved satisfactorily but the accuracy of solution distributed manner compared to the sequential computation is somewhat compromised. Again, compared to human in a conventional computer that requires the help of cen- learning or expert system knowledge, the neural network tralized CPU and storage memory. It is more like analog cannot explain why it gave a particular output. computation with which we are all familiar. The learning for pattem processing function will be How does a neural network perform useful computational illustrated by alphabet character recognition problem, as function? Basically, it performs the function of nonlinear shown in Fig. 23. The problem here is to convert the mapping or pattem recognition. This means that if an input alphabet characters into a 5-bit code (can be considered set of data corresponds to a definite signal pattem, the as data compression) so that altogether 2’ = 32 characters network can be “trained” to give correspondingly a desired can be coded. The letter “C” is represented by a 7x 5 pattem at the output. The network has the capability to matrix array of inputs consisting of logical 0’s and I ’s. The “learn” because of the distributed intelligence contributed input vector of 35 signals is connected to the respective by the weights. The input-output pattem matching is pos- 35 neurons at the input layer. The three-layer network sible if appropriate weights are selected. In Fig. 22, there has five outputs corresponding to the five bits (in this are altogether 25 weights, and by altering these weights, we case lOOlO), as indicated. The network uses sigmoidal can get 25 degrees of freedom for the output with a fixed transfer function which is clamped to logical outputs. The input pattem. The network will be initially “untrained” if mapping is performed by supervised leaming, i.e., altering the weights are selected at random, and the output pattem the large number of weights (800 altogether) to appropriate will then totally mismatch the desired pattem. The actual values. If now the letter “B” is impressed at the input output pattem can be compared with the desired output and the desired output map is 10001, the output will be pattem and the weights can be adjusted by an algorithm totally distorted with the previous training weights. The until the pattem matching occurs, i.e., the error becomes network undergoes another round of training until the acceptively small. The training should be continued with desired output pattem is satisfied. This is likely to deviate a large number of input-output example pattems. At the the desired output for “C.” The back-and-forth training completion of training, the network should be capable not rounds will satisfy output pattems for both “C” and “B.” only to recall all the trained output patterns (look-up table In this way, a large number of training exersises will function) but also to interpolate and extrapolate the trained eventually train the network for all the 32 characters. It pattems. This tests the leaming capability of the network. is also possible to train the network for inverse mapping, This type of leaming is called supervised leaming (learning i.e., with the input vector of 10010, the output vactor maps

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS 1317 1 where d? is the desired output of the jth neuron in the output layer, y; is the corresponding actual output, S is the dimension of the output vector, yp is the actual net output vector, and dp is the corresponding desired output vector. The total squared error E for the set of P patterns is then given by 7x5 NEURAL 5x I MATRIX NETWORK MATRIX P lP Fig. 23. Input-output mapping of the letter “C.” E = Ep = x(q- $)’. (24) p=l p=l j=l the letter “C.” Again, it is possible to Wain the network so The weights are changed to reduce the cost functional E to that the output pattem is the same as the input pattem. a minimum value by gradient descent method, as mentioned This is called auto-associative network compared to the before. The weight update equation is then given as hetero-associative network discussed above. The benefit of auto-associative mapping is that if the input pattem is distorted, the output mapping will be clean and crisp because the network is trained to reproduce the nearest where 77 is the learning rate, Wzj(t+ 1) is the new weight, crisp output. This inherent noise filtering property of the and UTZ3(t)is the old weight. The weights are iteratively network is very important. The neural network is often updated for all the P training pattems. Sufficient learning characterized as fault-tolerant. This means that if a few is achieved when the total error E summed over the P weights are erroneous or several connections are destroyed, pattems falls below a prescribed threshold value. The iter- the output remains virtually unaffected. This is because ative process propagates the error backward in the network of the distribution of knowledge throughout the network. and is therefore called a back-propagation algorithm, first At the most, the output will degrade gracefully for larger proposed by Rumelhart, Hinton, and Williams in 1986. To defects in the network compared to catastrophic failure be sure that the error converges to a global minimum but which is the characteristic of a conventional computer. does not get locked up in a local minimum, a momentum 1)Back-Propagation Training: Back-propagation train- term a[Wz,(t)- W2,(t- l)]is added to the right of (25). ing algorithm is most commonly used in a feedforward Further improvement of the back-propagation algorithm is neural network, as mentioned before. For this reason, possible by making the learning rate step size adaptive, i.e., a feedforward network is often defined as “back-prop’’ 1) = uq(t), with U 1.0 (26) network. In the beginning, the network (see Fig. 22) is ~(t+ > assigned random positive and negative weights. For a given so that the oscillation becomes minimal as it settles to the input-signal pattem, step-by-step calculations are made in global minimum point. the forward direction to derive the output pattem. A cost From the above discussion, it is evident that neural functional given by the squared difference between the network training is very time-consuming, and this time will net output and the desired net output for the set of input increase fast if the number of neurons in the hidden layer pattems is generated and this is minimized by gradient or the number of hidden layers is increased. Normally, the descent method altering the weights one at time starting training is done off-line with the help of a computer simula- from the output layer. The equations for the output of a tor program. Examples of personal-computer-based simula- single processing unit, shown in Fig. 21, are given as tion programs are BRAINMAKER by Califomia Scientific N Software, EXPLORER by Neuralware, and EXPLORENET Net; = W;jXi by HNC. The input-output example pattem data files can i=l be obtained separately by calculation, simulation or ex- periment. Once the network topology is designed and the network is trained by simulation program, the weights are where j is the processing unit under consideration, p is the then downloaded to the prototype network. The prototype input pattem number, Xi is the output of the zth neuron operation can be realized either by microcomputer software connected to the jth neuron, W;j is the connection weight (sequential implementation) or in parallel by dedicated between the ith and jth neurons, Net; is the output of hardware. Various dedicated hardware IC chips, such as the summing node, i.e., the jth neuron activation signal, Intel 80170NX ETANN (electrically trainable analog neural N is the number of neurons feeding the jth neuron, fj network), Micro Device MDl220NBS (neural bit slice), is the nonlinear differentiable transfer function (usually a Neural Semiconductor NUSU32, etc., are already available sigmoid), and Y,p is the output of the corresponding neuron. in the market. For the input pattern p, the squared output error for all the output-layer neurons of the network is given as C. Fuzzy Neural Network [321, (461 1 lS Fuzzy neural network (F”) applies neural network E - -(dp - yp)2 = 2 - $)z (23) p-2 c(d; technique to fuzzy reasoning. Basically, it emulates a J=1 fuzzy controller. This type of fuzzy control emulation

1318 PROCEEDINGS OF THE IEEE. VOL. 82, NO. 8 AUGUST 1994 U:

Fig. 24. Fuzzy neural network (F")for fuzzy control. has the advantages that it permits automatic identification D.Feedback Neural Network [34] of fuzzy rules and tunes the membership functions. The This section will remain incomplete without a brief F" topology can be either on rule based approach or review of feedback neural network. In a feedback network, relational (Sugeno's) approach, which were discussed in the neural output of one layer is connected to the input of a Section 111-A. The F" topology for closed-loop adaptive previous layer or to the same layer. Therefore, when a pat- speed control is shown in Fig. 24. The network has two tem is applied at the input, the signals reverberate back and inputs (loop error (E)and change in error (CE))and one forth until they settle down to a stable condition. The design output (control signal (U)). Each premise has three mem- and operation of a feedback network is definitely more bership functions (SMALL, MEDIUM, and BIG) which complex than a feedforward network. The convergence of are synthesized with the help of sigmoids (f) giving a a network to a final answer is defined by a mathematical Gaussian-type shape. The weights W, and W, give spacing function called computational energy. This energy function and slope, respectively, for the membership functions. The reaches a minimum as the solution is reached. Figure 25 weights are determined by back-propagation method. The shows a few key types of a feedback neural network. A premises are identical to both rule-based and relational typical Hopfield network, shown in Fig. 25(a), has one layer topologies. The nine outputs of the premises after product of neurons (called the Hopfield layer) where the output of (T)operation indicate that there are nine rules. The inferred each neuron is fed back to the inputs of each of the other value of the F" is obtained as sum of the products of the neurons, as indicated. The neuron transfer function is of truth values in the premises and the linear equations in the sigmoidal type with a resistor+apacitor delay (not shown). consequences, as shown. A typical rule in Fig. 24 can be The network is symmetrically connected (W;j = W,,), and read as the input-output signals are normally bistable. The network UlPl UZP2 has self-organizing associative memory characteristics, i.e., IF E is SM AND CE is ME THEN U = + P1+ PZ for an input pattem of signals, a corresponding output signal pattem is retrieved. The network can also recall a stored where pattem for the corresponding partial input pattem. It is inter- esting to note that the current large-scale interest in neural networks started after John Hopfield presented his paper at the National Academy Science in 1982. Figure 25(b) shows the bidirectional associative memory (BAM) network which was introduced by Kusko. It is essentially a generalization ~1 = SM . SM of a Hopfield network. The BAM has two layers of neurons and and uses two sets of connections between the neurons, as shown. The neurons are linear threshold type. Since BAM uz = SM . ME. is bidirectional, a signal pattem pl can be entered at the terminal A and the corresponding stored pattem pz can be The generation of linear equations is shown in the lower retrieved at the terminal B, or the pattem pa can be entered part of the figure where the weights Wuli,Wu2ir and W,O~ at B and the corresponding pattem pl can be retrieved at A. are the trained parameters. Many such signal pattems can be stored in BAM. Grossberg

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS 1319 drives. Considering its simple input-output nonlinear map- ping property, one straightforward application is one- or multidimensional function generation. Figure 26 illustrates mtao a network that has been trained for Y = 0.8 sinX func- LAYER tion generation [38]. The training has been carried out with large Y versus X precomputed example data table for the whole cycle. Although it appears like a look-up table implementation, the trained network can interpolate

INPUT between the example data values. Another example of BUFFER similar application is the selected harmonic elimination method of PWM control where the notch angles of a wave can be generated by a neural network for a given modulation index (m).As before, the network can be trained from a precomputed notch angle table with the modulation index. A network can be trained for on-line or off-line diagnos- tics of a power electronic system. Consider, for example, an ac drive where the essential sensor signals relating to the state of the system are fed to a neural network. The network output can interpret the “health” of the system for monitoring purposes. The drive may not be permitted to be commissioned if the health does not appear good. The diagnostic information can be used for appropriate remedial control, such as shutdown or fault-tolerant control of the system. Similarly, a network can receive FFT pattem of a complex signal and be trained to draw important conclusions from it. A neural network can receive time- delayed inputs of a distorted wave and perform adaptive noise or harmonic filtering without any phase shift [37]. Although a feedforward network cannot incorporate any dynamics within it, a nonlinear dynamical system can be emulat6d [36] by time-delayed input and output signals INPUTS which will be discussed later. The feedback voltage and ic) current signals of a machine can be processed with a Fig. 25. Feedback neural networks. (a) Hopfield network. network to estimate torque, flux, active power, etc. [47]. (b) Kosko’s bidirectional associative memory (BAM) network. A fuzzy neural network, as discussed earlier, can be used (c) Grossberg’s adaptive resonance theory (ART) network. for adaptive feedback control [45] or estimation [32] in a power electronic system. A few more application examples and Carpenter proposed a more complex adaptive reso- from the literature will be briefly reviewed here. nance theory (ART) feedback network, shown in Fig. 25(c), Inverter Pulsewidth Modulation [42], [43]: Figure 27 which is based on psychological and mathematical theories. shows a current-control PWM scheme with the help of The ART neurons are functionally clustered into “nodes.” a neural network. The network receives the phase current The two layers (storage and input layers) have modifiable error signals through the scaling gain K and generates the connections between every node in the input layer and PWM logic signals for driving the inverter devices. The every node in the storage layer. There are two sets of sigmoidal function is clamped to 0 or 1 when the threshold connections between the layers, and the storage layer has value is reached. The output signals (each with 0 and 1) lateral inhibition (competing) connection, as shown. An have eight possible states corresponding to the eight states input pattem is transmitted to the storage layer through of the inverter. If, for example, the current in a phase the weighted connections, and the corresponding output reaches the threshold value f0.O 1, the respective output pattern is sent back to the input layer through another set of should be 1 which will tum on the upper device of the leg. weighted connections. At stable state, the input and output If, on the other hand, the error reaches -0.01, the output pattems are said to be resonant. The network is considered should be 0 and the lower device will be switched on. The very powerful, but the number of stored pattems is limited network is trained with eight such input-output example to the number of nodes in the storage layer. pattems. In a modified scheme [43], the network is trained to E. Neural Network Application generate the optimum PWM pattem for a prescribed set of A neural network can be used for various control and current errors. The desired pattem is generated separately signal processing applications in power electronics and by a PWM computer, as shown. The desired pattern and

1320 PROCEEDINGS OF THE IEEE, VOL. 82, NO. 8 AUGUST 1994 INPUT LAYER HIDOEN LAYER OUTPUT LAYER

-0.0241

3 06

INPUT (XI - 0 989 - Tr< XSTT

0.0355

2 68

Fig. 26. lr= sinX synthesis with neural network.

(FOR TRAINING1 Fig. 27. Neural-network-based PWM controller. the actual output pattern can be compared and the resulting neural netwoi The trained network identifier is then errors can train the network. The training is very time- combined with the reference model to achieve trajectory consuming, but the performance tends to be good. In a control of speed. somewhat simpler scheme, the network is trained to min- The dc motor electrical and mechanical dynamics can imize the current errors within the constraint of switching be given by the following set of equations: frequency. Identification and Control of DC Drive [44]: Figure 28 di K,w,(t) = v(t)- R,i,(t) - La> shows a neural-network-based indirect model referencing dt (27) adaptive control (MRAC) scheme of a dc drive where dwr it is desirable that the motor speed follows an arbitrary Kti,(t) = j- dt + Bwr(t)+ TL(t) (28) command speed trajectory. The motor model with the load (29) is nonlinear and time-invariant, and the model is completely TL(t)= Kw,2(t)[Sign (wr(t))] unknown. However, the reference model which the motor is to follow is given. Here, the unknown nonlinear dynamics where the common square-law torque characteristics have of the motor and the load are captured by a feedforward been assumed. These equations can be combined and

BOSE: EXPERT SYSTEM, FUZZY LOGIC, AND NEURAL NETWORK APPLICATIONS 1321 ~(K-11*-

Fig. 28. Model identification and adaptive control of a dc motor using a neural network.

V. CONCLUSION The paper gives a brief but comprehensive review of the three branches of artificial intelligence, i.e., expert system, fuzzy logic, and neural network. The theoritical principles of each that are relevent to power electronics and motion control applications are described in a simple manner in or order to make them comprehensible to the readers with power electronics background. Then, several applications v(K)= g[wr(K+ 11, w,(K), u,(K - I)] (31) in each topic are described to supplement the concepts. Fuzzy logic and neural network technologies are in the where (see (32) at bottom of previous page) and where K is process of fast evolution. The frontier of power electronics the sampling instant. Equation (31) gives the discrete model and motion control, which is already so complex and of the machine. A three-layer network with five hidden interdisciplinary, will be definitely extended far and wide layer neurons is trained off-line to emulate the unknown by the AI techniques, and will provide a great challenge to nonlinear function g[.].The signals w,(K+l), w,(K), and the community of power electronic engineers. w,(K - 1) are the network inputs and the corresponding output is g[.] or v[K].This is basically an inverse model of the machine. The signal E(X - 1) is the identification REFERENCES error which should approach zero after successful training. After training, the network is placed in the forward path, as B. K. Bose, “Variable frequency drives-Technology and appli- shown, to cancel the motor dynamics. Since the reference cations,” in Proc. of IEEE Int. Symp. on Industrial Electronics, model is asymptotically stable, and assuming that the (Budapest, Hungary, 1993), pp. 1-18. -, “Power electronics-Recent advances and future per- tracking error E,(K) tends to be zero, the speed at (K+ spective,” in IEEEIIECON Conf. Rec., pp. 14-16, 1993. 1)th time step can be predicted from the expression M. W. Firebaugh, Artificial Intelligence. Boston, MA: Boyed and Fraser, 1988. D. A. Waterman, A Guide to Expert Systems. Reading, MA: G,(K + 1) = 0.6w,(K) + 0.2w,(K + 1) + r*(K). (33) Addison-Wesley, 1986. D. Chorafas, Knowledge Engineering. New York: Van Nos- Therefore, for a command trajectory of wf(K), r*(K)can trand, 1990. be solved from the reference model, and the corresponding R. G. Vedder, “PC based expert system shells: some desirable and less desirable characteristics,” Expert Syst., vol. 6, pp. G,(K + l), w,(K), and w,(K - 1) signals can be 28-42, Feb. 1989. impressed on the neural network controller to generate PC PLUS User’s Reference Manual, Texas Instruments Inc., Dallas, TX, , Nov. 1988. the estimated v(K) signal for the motor, as shown. The K. S. Tam, “Application of AI techniques to the design of static parameter variation problem cannot be incorporated in power converters,” in IEEEIIAS Annu. Meet. Con5 Rec., pp. the network with off-line training. The model emulation 960-966, 1987. C. Daoshen and B. K. Bose, “Expert system based automated and adaptive control, as described above, can be extended selection of industrial ac drives,” in IEEEIIAS Annu. Meet. Conf. for ac drive application [47]. Rec., pp. 387-392, 1992.

1322 PROCEEDINGS OF THE IEEE, VOL. 82. NO. 8 AUGUST 1994 [lo] S. M. Chhaya and B. K. Bose, “Expert system based automated [37] D. Comer, “Data transformation explains the basics of neural design technique of a voltage fed inverter for induction motor networks,” EDN, pp. 138-144, May 12, 1988. drive,” in IEEEIIAS Annu. Meet. Conf. Rec., pp. 770-778, 1992. [38] E. S. Sinencio and C. Lau, Ed., Artificial Neural Networks. [ll] -, “Expert system based automated simulation and design New York: IEEE Press, 1992. optimization of a voltage-fed inverter for induction motor [39] D. H. Nguyen and B. Widrow, “Neural networks for self- drive,” in IEEEIIECON Conf. Rec., pp. 1065-1070, 1993. learning control systems,” IEEE Contr. Syst. Mag., vol. 10, pp. [I21 K. Debebe, V. Rajagopalan, and T. S. Sankar, “Expert systems 18-23, Apr. 1990. for fault diagnosis of VSI-fed ac drives,” in IEEEIIAS Annu. [40] S. R. Chu, R. Shoureshi, and M. Tenorio, “Neural networks Meet. Conf Rec., pp. 368-373, 1991. for ,” IEEE Contr. Syst. Mag., vol. 10, pp. [ 131 -, “Diagnostics and monitoring for AC drives,” in IEEEIIAS 31-35, 1990. Annu. Meet. Conf. Rec., pp. 370-377, 1992. [41] R. Uhrig, “Fundamentals of Neural Network,” Univ. of Tenn. [ 141 W. Pedrycz, Fuzzy Control and Fuzzy Systems. New York: Class Notes, 1992. Wiley, 1989. [42] F. Harashima, Y. Demizu, S. Kondo, and H. Hashimoto, [15] M. Sugeno, Ed., Industrial Applications of Fuzzy Control. “Application of neural networks to power converter control,” New York North-Holland, 1985. in IEEEIIAS Annu. Meet. Conf. Rec., pp. 1086-1091, 1989. [I61 L. A. Zadeh, “Fuzzy sets, Informat. Contr., vol. 8, pp. [43] M. R. Buhl and R. D. Lorenz, “Design and implementation of 338-353, 1965. neural networks for digital current regulation of inverter drives,” [17] -, “Outline of a new approach to the analysis of systems in IEEEI IAS Annu. Meet. Conf. Rec., pp. 415-423, 1991. and decision processes,” IEEE Trans. Syst., Man, Cybern., vol. [44] S. Weerasooriya and M. A. El-Sharkawi, “Identification and SMC-3, no. I, pp. 28-44, 1973. control of a dc motor using back-propagation neural networks,” [18] E. H. Mamdani and S. Assilian, “An experiment in linguistic IEEE Trans. Energy Conv. vol. 6, pp. 663-669, Dec. 1991. synthesis with a fuzzy logic controller,” in Int. J. Man Machine [45] S. Horikawa, T. Furuhashi, S. Okuma, and Y. Uchikawa, “Com- Studies, vol. 7, pp. 1-13, 1975. position methods of fuzzy neural networks,” in IEEEIIECON [19] R. M. Tong, “A control engineering review of fuzzy systems,” Conf, Proc., pp. 1253-1258, 1990. Automatica, vol. 13, pp. 559-569, 1977. [46] M. A. El-sharkawi, A. A. El-samahy, and M. L. El-Sayed, “High [20] Y. F. Li and C. C. Lau, “Development of fuzzy algorithms for performance drive of brushless motors using neural network,” servo systems,’’ IEEE Contr. Syst. Mag.,, Apr. 1989. in IEEEIPES Summer Conf Proc., July 1993. [21] B. da Silva, G. E. April, and G. Oliver, “Real time fuzzy [47] M. G. Simoes and B. K. Bose, “Feedback signal estimation adaptive controller for an asymmetrical four quadrant power by neural network,” accepted for IEEEIIAS Annu. Meet. Conf. converter,” in IEEEIIAS Annu. Meet. Conf Rec., pp. 872-878, Rec., 1994. 1987. [48] M. H. Kim, M. G. Simoes, and B. K. Bose, “Neural network [22] G. C. D. Sousa and B. K. Bose, “A fuzzy set theory based based estimation of power electronic waves,” submitted to control of a phase-controlled converter dc machine drive,” IEEE IEEEIPESC Rec., 1995. Trans. Ind. Appl., vol. 30, pp. 34-44, Jan./Feb. 1994.. [23] C. Y. Won, S. C. Kim, and B. K. Bose, “Robust position control of induction motor using fuzzy logic control,” in IEEEIIAS Annu. Meet. Conf. Rec., pp. 472-481, 1992. [24] I. Miki, N. Nagai, S. Nishigama, and T. Yamada, “Vector control of induction motor with fuzzy PI controller,” in IEEEIIAS Annu. Bimal K. Bose (Fellow, IEEE) received the Meet. Conf. Rec., pp. 342-346, 1991. B.E. degree from Bengal Engineering College, 251 G. C. D. Sousa, B. K. Bose, and K. S. Kim, “Fuzzy logic India, the M.S. degree from the University of based on-line tuning of slip gain for an indirect vector con- Wisconsin, Madison, and the Ph.D. degree from trolled induction motor drive,” in IEEEIIECON Conf. P roc., Calcutta University, India, in 1956, 1960, and pp. 1003-1008, 1993. 1966, respectively. 261 T. M. Rowan, R. J. Kerkman, and D. Leggate, “A simple on- Early in his career, he served as a faculty line adaptation for indirect field orientation of an induction member in Calcutta University (Bengal Engi- machine,” in IEEEIIAS Annu. Meet. Conf. Rec., pp. 579-587, neering College) for 11 years. In 1971, he joined 1989. Rensselaer Polytechnic Institute, Troy, NY, and 271 G. C. D.Sousa, B. K. Bose et al., “Fuzzy logic based on- in 1976, he came to General Electric Corporate line efficiency optimization control of an indirect vector con- Research and Development, Schenectady, NY, as Electrical Engineer and trolled induction motor drive,” in IEEEIIECON Conf. P roc., also served there for 11 years. His research interests are power converters, pp. 1168-1 174, 1993. ac drives, microcomputer control, and application of expert systems, [28] D. S. Kirschen, D. W. Novotny, and T. A. Lipo, “On-line fuzzy logic, and neural network in power electronics. He has published efficiency optimization control of an induction motor drive,” more than 100 papers and holds 18 U.S. patents. He authored/edited 4 in IEEEIIAS Annu. Meet. Conf Rec., pp. 488-492, 1984. books in power electronics: Power Electronics and AC Drives (Englewood [29] J. Cleland, W. Turner, P. Wang, T. Espy, J. Chappell, R. Cliffs, NJ: Prentice-Hall, 1986). Adjusrable Speed AC Drive Systems ( Spiegel, and B. K. Bose, “Fuzzy logic control of ac induction New York: IEEE Press, 1981), Microcompufer Control Power Elec- motors,” in IEEE Int. Conf. Rec. on Fuzzy Systems (FVZZ- of tronics and Drives (New York: IEEE Press, 1987). and Modern Power IEEE), pp. 843-850, Mar. 1992. [30] T. Takagi and M. Sugeno, “Fuzzy identification of systems and Elecfronics (New York: IEEE Press, 1992). In addition, he contributed its applications to modeling and control,” IEEE Trans. Syst., to the Systems and Confrol Encyclopedia (New York: Pergamon, 1987), Man, Cybern.. vol. SMC-15, pp. 116-132, Jan./Feb. 1985. Electrical Engineering Handbook (Boca Raton, FL: CRC Press, 1987). [31] M. G. Simoes and B. K. Bose, “Application of fuzzy logic in and Encyclopedia of Applied Physics (VCH, to be published). For his the estimation of power electronic waveforms,” in IEEEIIAS research contributions at the Bengal Engineering College he was awarded Annu. Meet. Conf. Rec., pp. 853-861, 1993. the Premchand Roychand scholarship and the Mouat Gold Medal by the I321 M. G. Simoes, “Using fuzzy neural networks (FNN) in model- Calcutta University in 1968 and 1970. respectively. In 1993, he received ing fuzzy estimators on power electronic waveforms,” Univ. of the IEEE Industry Applications Society Outstanding Achievement Award Tenn. Intemal Rep., Dec. 1992. for “outstanding contributions to the application of electricity to industry” 1331 Y. Dote, “Neuro fuzzy robust controllers for drive systems,” in and in 1994 he was awarded IEEE Region 3 Outstanding Engineer Proc. IEEE Int. Symp. on Industrial Electronics, pp. 229-242, Award for “outstanding achievements in power electronics and drives 1993. technology.” [34] California Scientific Software, Introduction to Neural Network, Dr. Bose has served the IEEE in various capacities that include Chair- Grass Valley CA, 1991. man of IAS Industrial Power Converter Committee, IAS member in the [35] P. J. Antsaklis, “Neural networks in control systems,” IEEE Neural Netweork Council, Chairman of the Industrial Engineering Society Contr. Syst. Mag., vol. 10, pp. 3-5, Apr. 1990. Power Electronics Council, and the Power Electronics Committee, Asso- 1361 K. S. Narendra and K. Parthasarathy, “Identification and control ciate Editor of the IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, of dynamical systems using neural networks,” IEEE Trans. and Distinguished Lecturer of the IEEE Industrial Electronics and Industry Neural Net., vol. 1, pp. 4-27, Mar. 1990. Applications Societies.

BOSE: EXPERT SYSTEM, FUZZY LOGIC. AND NEURAL. NETWORK APPLICATIONS I323