


Children learn what ‘hot’ means the hard way: by experience. But to teach its meaning to a computer we must provide it with a precise definition. Computers cannot understand vague concepts, let alone draw conclusions from them. They require data to be expressed in the simple logic described by binary code (as 1s and 0s). And yet, the natural way to describe patterns for example is to use vague terms such as ’round’ or ‘dark’.
In 1965, an Iranian computer scientist Lotfi Zadeh, at the University of California, proposed a mathematical way of looking at vagueness that a computer could deal with. He called the new approach ‘fuzzy logic’. After some initial interest, Zadeh’s ideas were largely ignored – at least in the US and Europe. No one saw any immediate useful application. It was left to Japanese scientists to see their potential. Japanese companies have gone on to develop hundreds of uses for fuzzy logic and the term has become a household word in Japan.
Advertisement
Japanese engineers, for example, now use fuzzy logic to improve the efficiency of automatic transmissions in cars to control the injection of chemicals in plants for purifying water and to simulate the shutdown of a nuclear reactor on a computer. Japanese industry now offers more than 50 consumer goods featuring fuzzy logic, from washing machines to rice cookers. These appliances are extremely easy to operate – usually, one button suffices – and claim to perform better than conventional models. Last year, Matsushita alone sold more than a billion dollars worth of products based on fuzzy logic.
In the medical field, expert systems using ‘fuzzy inference’ help doctors to diagnose diabetes and prostatic cancer, while anaesthetists rely on fuzzy logic to control the blood pressure of patients undergoing surgery. Fuzziness has also found its way into fund management and stock market predictions, and the first fuzzy computers are just around the corner.
South Korea and China have also jumped on the fuzzy bandwagon. The South Korean Fuzzy Mathematics and Systems Society has more than 250 members, and Seoul will host the next world congress on fuzzy systems in 1993. But in the rest of the world, where fuzzy fever has not yet reached such epidemic proportions, many people are wondering what all the fuss is about. Does ‘fuzzy’ mean better, or is it just a marketing ploy? Anyway, the expression fuzzy logic sounds like a contradiction in terms. And who wants a camera featuring fuzzy focusing? So what is fuzzy logic and how does it work?
What Zadeh originally developed was a mathematical concept – ‘fuzzy sets’. Sets are collections of objects defined by precise rules of membership, such as ‘the set of all numbers that are powers of 2’. We can represent membership in a set as a binary digit: 0 for a nonmember, and 1 for a member. Thus, 512 (= 29) has degree of membership 1 in the set of powers of 2, while Margaret Thatcher and Vice-President Dan Quayle both have degree of membership 0 in the set of all American presidents. However, certain classes of objects such as ‘the class of heavy stones’ or the class of old persons are not sets in the usual sense, because they do not have precisely defined criteria of membership. Nevertheless, they play a central role in thinking and in the communication of information.
To deal with these imprecise classes, Zadeh’s idea was to allow the degree of membership to be any number between 0 and 1 – a fuzzy set. Unlike those of ordinary sets, the borders of a fuzzy set are not sharp but, well . . . fuzzy. Some persons are definitely old and others definitely not old. But between these two groups there is a grey area, made up of those ‘a bit old’, ‘almost old’ and so on. In technical terms, a child or a teenager has a membership degree of 0 in the fuzzy set of old persons; a 40-year-old person, degree 0.3, say (think of this as meaning that ‘old’ is a 30 per cent accurate description of a person of age 40). A 58-year-old person may have degree 0.75, and an 80-year-old degree 1.
Another example of a fuzzy set is the class S of ‘adequate funds for British science’. If we apply to S the modern equivalent of an ancient Greek sophism, we see that S is no ordinary set. Here we go. If a certain sum x ( £50 billion, say) is a member of S, then so is x -1 (the amount resulting from subtracting a single pound from x). But then, by repeating this argument over and over again, we will eventually conclude that £10 is an adequate funding for British science. This contradiction stems from treating S as a well-defined set.
It is important to point out that the notion of a fuzzy set is not a statistical one. Fuzziness in Zadeh’s sense represents vagueness based on human intuition, not probability. If we associate with each object its degree of membership in the fuzzy set we obtain a function. It is called a membership function and we can display it as a graph (see Figure 1). There are some standard techniques but no exact methods for assigning degrees of membership. Recent approaches use neural networks (see ‘Japan’s quest for the brainy computer’, ¿ìè¶ÌÊÓÆµ, 26 January 1991) to derive membership functions directly from observation.FIG-mg18074601.GIF
Given some piece of knowledge or data, we can gain new knowledge by a process called logical inference. Here is the basic format: Inference rule: if x is (a member of) A and y is B, then z is C. Data: x is A; y is B. Conclusion: z is C.
But if our data are expressed in vague terms, such as ‘x is almost A’ or ‘y is just a little B’, then we cannot draw any conclusion using ordinary logic. Fuzzy logic, on the other hand, provides us with a method for drawing conclusions from such imprecise data. It does this by allowing A, B and C above to be fuzzy sets. Then, if we know ‘how much’ x is A and y is B (more precisely, if we know their degrees of membership), we can learn ‘how much’ z is C. Thus, by quantifying membership, ‘fuzzy’ inferences are possible where ordinary logic is helpless.
Fuzzy logic is similar to human reasoning in that people use rules of inference based on vague concepts and approximate knowledge (for example: ‘if the car ahead is ‘near’, apply the brakes’). But in the applications, fuzzy logic boils down to a set of exact mathematical operations . It is the way we think about the problem that is fuzzy, not its solution.
In a typical application, fuzzy logic can help us to control a process, such as keeping a safe distance between our car and the vehicle ahead. In technical terms, we must calculate the value of the control variable (the pressure on the brakes) from the data or input variables (the speed of the car and the headway distance). We must do this almost continuously, to account for input changes and so ensure effective control. Fuzzy logic provides us with a method of carrying out the calculations, but it is the advanced technology of sensors and chips that makes it work.
We must begin by specifying the control rules. One of the advantages of fuzzy control is that we do not need to know the exact mathematical relationship between the input and the control variables. A description of this relationship in the imprecise terms of everyday language will do. For instance: ‘If the speed of the car is high and the distance to the vehicle ahead is short, then brake hard.’ To use fuzzy logic, we put the rule in the standard form ‘If x is L and y is S, then z is H,’ where x is the speed of the car, y is the headway distance and z is the pressure on the brakes. L, S and H are fuzzy sets (for example, S is the fuzzy set of ‘short distances between cars’). There will be other rules of this kind, relating a condition (speed and headway distance) to an action to be taken (pressure on the brakes).
We then encode these rules into a program for the computer or fuzzy controller that will perform the fuzzy inferences in realtime (while we drive our car on the motorway). The details of the algorithm are described in Box 2. The final (non-fuzzy) result will be the required pressure on the brakes.
The first person to demonstrate the practical possibilities of a fuzzy algorithm was Abe Mamdani, an electrical engineer at Queen Mary College (now Queen Mary and Westfield), London, in the early 1970s. He applied his algorithm to control the pressure and speed of a steam engine. In 1980, a Danish company F. L. Smidth used fuzzy logic to control the operation of a cement kiln (see ‘Computing with a human face’, ¿ìè¶ÌÊÓÆµ, 6 May 1982). This was the world’s first industrial application of the theory.
The mid-1980s saw the first industrial applications in Japan. Fuji Electric Company used fuzzy theory to control a water purification plant in Akita City, and Hitachi developed a fuzzy predictive system to operate the automated underground trains in Sendai City. Applications of fuzzy system theory in Japan have increased from 20 in 1986 to an estimated 250 by the latest count.
In 1990, the fuzzy wave reached the consumer product market. Cameras, washing machines, microwave ovens and dozens of other consumer goods featuring fuzzy logic began to appear. They were advertised as ‘smart’ because they could respond effectively to complex situations – such as variable lighting conditions, in the case of the automatic iris of a video camera (see ‘Video camera learns to cope with uncertainty’, Technology, 10 March 1990).
Although the best known applications of fuzzy logic are to system control, other fields are also benefiting from the theory. These include management science (operations theory), information processing, expert system technology and pattern recognition. There is also an extensive body of literature on fuzzy mathematics. This is the theory we obtain by using fuzzy sets instead of ordinary sets as the foundation of mathematics. ‘Fuzzy’ mathematicians prove (non-fuzzy) theorems about fuzzy algebraic structures and fuzzy topological spaces.
The Japanese government and Japanese companies have poured millions of pounds into research on fuzzy systems. And the current fuzzy boom in Japan is both a consequence and a cause of this. Research money pays off in the form of industrial and commercial applications; this success attracts more money and more researchers into the field, conditions that virtually guarantee future success. And so, the sky is the limit (literally so, since NASA is now testing fuzzy control in space environments).
One of Japan’s more ambitious research centres on fuzzy systems is the Laboratory for International Fuzzy Engineering (LIFE) in Yokohama. Half of its budget of £25 million comes from Japan’s Ministry of International Trade and Industry (MITI) and the other half from LIFE’s 48 member companies. This includes all major automobile, electronics, communications and service companies. Its five-year research programme that began in 1989 focuses on three main areas: fuzzy control, fuzzy information processing and fuzzy computer systems.
Among its projects, LIFE plans to build a fuzzy computer by the end of 1994. The first prototype, being developed under the direction of Seiji Yasunobu, will perform fuzzy inferences and various operations on fuzzy sets 10 times as fast as conventional computers. It will also be able to process information involving the subjective terms of human speech or thought. According to Machio Sugeno, a professor at Tokyo Institute of Technology, the fuzzy computer will not replace digital computers but will be better suited to solving real-world management and decision problems that must be tackled on a grand scale level. Sugeno heads another five-year, £44 million project, a joint effort between universities and companies devoted to basic research on fuzzy logic.
Meanwhile, in the US, fuzzy theory is at last being taken seriously. Last year, a conference on fuzzy systems attracted more than 300 participants, mostly from industry. Among manufacturers of computer parts for example, Motorola alone sent 50 people. This year in California, the American Institute of Electrical and Electronics Engineers will sponsor FUZZ-IEEE ’92, a conference devoted to the scientific and engineering applications of fuzzy models.
For all the wonders of the theory, most applications of fuzzy logic would not exist without the advanced technology of sensors, chips and high-speed computing. During a recent international conference, the creator of fuzzy sets himself, Lotfi Zadeh, paid tribute to the Japanese scientists and engineers for their key role in developing the practical applications that made fuzzy logic popular.
Zadeh believes that only a small fraction of the potential of fuzzy logic has been tapped. In the future, he sees more complex applications and an increasing role for neural networks in deriving the inference rules and membership functions from observation. ‘I feel that in the coming years we shall see a big progression,’ he concluded. He certainly has plenty of reasons to be optimistic.
Arturo Sangalli is in the department of mathematics, Champlain Regional College, Lennoxville, Quebec.
* * *
1: Timing the washing with fuzzy logic
To illustrate the principles of fuzzy inference, let us look at how a fuzzy controller might calculate the washing time based on the quality of the load in a washing machine. For simplicity assume that there are only two inference rules (there are actually 12).
Rule 1: If the wash load is average (cloth quantity) and the fabrics being washed are soft (cloth quality), then the washing time is short. Rule 2: If the wash load is large and the fabrics are generally soft, then the washing time is average.
After we turn on the machine, electric sensors measure the quantity and the quality of the load, represented by x and y respectively. The degree of membership of x in the fuzzy set ‘average quantity’ is calculated (in the example, it is equal to 0.52) and, in a similar fashion, the degree of membership of y in the fuzzy set ‘soft quality’ is found to be 0.39 as in a. The lowest of these two numbers (0.39) is used to adjust the relevant part of rule 1 (short washing time). The adjusted membership function, represented by the shaded region (see a, far right) is the conclusion of rule 1 as in b.FIG-mg18074602.GIF
Notice that the conclusion of each rule is a fuzzy set. Since the final output (washing time) must be a single number, a ‘defuzzification’ procedure follows. It consists in first combining the conclusions by taking the largest of the two membership degrees for each washing time, and then computing the ‘centre of gravity’ of the resulting region (4.9 in the example) as shown in c). The appropriate washing time for the given load is 4.9 minutes.
* * *
2: A fuzzynating example of control
Fuzzy logic simplifies complex control problems that are difficult or impossible to specify in precise mathematical terms. Anyone can balance a stick on the palm of one hand, but how do we teach a robot to do it?
Suppose that the robot is a small vehicle with a rigid pole joined to it by a pivot (see Figure 2). To keep the pole in balance, the vehicle must move back and forth at an appropriate speed. The control variable is then the velocity of the vehicle (˙y). The two input variables are the angle formed by the pole with the vertical (
) and the angular velocity of the pole (Ë™
) (or, in simpler terms, how fast the pole is falling or rising).FIG-mg18074603.GIF
We can derive a mathematical model of the problem from the laws of physics. It is a system of four nonlinear differential equations. As an example, here is one of them: ˙H = my¨ + mL(
¨ cos
–
2 sin
), where m is the mass of the pole, L is the length and H the horizontal force at the pivot. (If you are put off by equations like this one, do not despair. Read on and you will be vindicated).
With the help of a computer, we can solve the equations and find out how fast the vehicle should move to balance the pole. Except that the computation would take too long for real-time control. So much for exact mathematical models.
Takeshi Yamakawa, professor of control engineering at the Kyushu Institute of Technology in Japan, used an entirely different approach – and it worked. In 1987 he designed and built the first high-speed fuzzy controller, in collaboration with the electronics company Omron. The controller consisted of two microcomputer chips. The ‘rule’ chip performs fuzzy inferences from imprecise data, while the ‘defuzzifier’ chip converts the conclusion of the fuzzy inferences into an analogue numerical value. Thanks to special kind of architecture that allows the chip to carry out parallel processing, the controller can respond to a change in input in less than a millionth of a second. In other words, it is capable of performing a million fuzzy inferences per second, making it suitable for applications that require very high speed approximate reasoning.
To test the efficiency of his controller, Yamakawa applied it to the stabilisation of the pole, the so-called inverted pendulum control problem. He employed two types of poles in his experiments. One was 5 millimetres in diameter, 15 centimetres in length and had a weight of 3.5 grams; the other was 10 millimetres in diameter, 50 cm in length and weighed 50 grams. He began by expressing in ordinary language the rules that we unconsciously apply to perform the stick-balancing act. For example,
Rule 1: ‘If the stick is vertical and it is not moving, keep your hand still.’
Rule 2: ‘If the stick is tilted forward a little and it is falling slowly, move your hand forward but not too quickly.’
Each of the rules was later put into a standard form suitable for programming the controller. For example, Rule 2 becomes ‘If
˙ is ‘positive small’ and thgr; is positive small, then so is y’. These imprecise terms – positive small, positive medium, zero, and so on – are represented as fuzzy sets. The membership function of each fuzzy set is implemented in the controller by a circuit. The output signal of this circuit, ranging from 0 to 5 volts, corresponds to the membership degrees from 0.0 to 1.0. A set of seven rules (see Table left) provided an adequate linguistic model to determine the motion of the vehicle that keeps the pole in balance.
During the operation of the system a sensor measures the angle of the pole with the vertical, differentiates it and feeds this information to the controller. The rule chip then performs the fuzzy inferences from this data. Finally, the (non-fuzzy) output of the controller is passed on to a servo motor that moves the vehicle back and forth according to the value of the output