Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Design

Lotfi Visions Part 2


DDJ: But on the other hand, Berliner, who heads a small and not terribly well-financed team, was able to achieve roughly equal tournament results simply by applying fuzzy logic based on what he already knew about backgammon.

LZ: Exactly. But notice the different starting points. One starts with a blank slate; the other starts with Berliner's knowledge.

There are problems of that kind for which fuzzy logic is the only thing you can use; others for which neural networks are the only solution. It's not just, in these cases, a matter of competition--that this is better than that.

We talked about traffic intersections before. Let's look at parking a car. The problem has three components. The first component is how do you find a parking space? There is no methodology, and I include here operations research, control theory….

DDJ: There being no guarantee you are going to find a parking space at all….

LZ: …where you can say, "Here I have a theory, and I will turn the crank and the theory will tell me the precise steps to finding a parking space." Fuzzy logic's solution is [to ask] "How do you find parking spaces?" and encode it in this language.

The second component is that once you have found a parking space, you must assess the desirability and difficulty of parking there. Is it close to where you are going? Is it tight? Is it safe? Again, operations research will do you no good whatsoever. There is nothing but fuzzy logic, which will again do the same thing: It will ask you to articulate whatever criteria you may have in judging.

The third component is actually maneuvering your car into that space. Here some competition develops. You can say, "What about control theory, or neural-network theory?" What fuzzy logic will do is say, "How do you park the car? Give me the rules." Control theory will ask, what is the final goal? The final goal is that the car is in the parking space, so it will use backwards iterations, "Here is the final goal, the near goal, the subgoals," and work back to the starting point.

Neural networking can take two approaches. It can observe the driver and try to work out the sequence of commands that the driver uses. The other is just to try this way, that way, until it succeeds, in the manner of reinforced learning and genetic algorithms. Neural networks will not succeed in the case of parking, although it does work in the case of trailer trucks where you have to back up without maneuvering back and forth. It will not work with parking a car.

The only theory which can be used in the parking problem is fuzzy logic. The control-theory approach will fail because it will not exploit the tolerance for imprecision. Neural networks will fail because strategy is much more difficult to learn than a sequence of moves.

JO: And in the Sendai train [which is operated under human control once a week so that the operators can refresh their skills] you have a weekly comparison of how well the task has been learned, compared to human skills.

LZ: William [Kahan] will say that we could have done it just as well another way.

WK: Or better!

DDJ: Fuzzy-logic compilers eventually output assembly code. A genius understanding the problem domain and understanding assembly code could have written the same code without the fuzzy-logic front end.

WK: Or he could have written better code, or used a paradigm which admits of logical analysis.

DDJ: Plutarch says that logic takes us from point to point, but there are great gaps in between those points that have to [be] bridged by things other than logic.

WK: People will extoll the virtues of some other style of thought, but the fact remains that a large component of creative thought is, in fact, trial and error. For that you need logic.

DDJ: But are all creative flashes based on logic?

WK: Oh, no, what is often required is to allow yourself to think illogically, or even intentionally incorrectly, in order to come up with other possible scenarios. Still, you use logic to filter out the ones that are just pipe dreams.

One of the serious failings of the fuzzy paradigm is that contradictory information is averaged, and that there is no incentive to resolve contradictions.

I don't claim that other design paradigms automatically expose contradictions or conflicts. There's an impossibility of proving the consistency of the system without having a model of the system built up in terms of some other system you believe to be consistent. That's Gödel's Incompleteness Theorem.

But control systems written in the conventional way are broken up into modules with specifications which submit to testing to see whether, in fact, they do what they are supposed to do. That testing does not mean merely that you try all possible inputs and see whether you are satisfied with all resulting outputs. But with something written according to the fuzzy paradigm, there's not much else you can do but try all possible inputs and see whether you are satisfied with all the outputs.

LZ: We have all kinds of rule-based systems; they're becoming ubiquitous. Whenever we use a rule-based system, you do have a problem with reduction of complications. It may be that one rule tells you one thing, and somewhere else in the system there is another rule that may be contradicting that rule. The discovery of these things may reveal a degree of contradiction, rather than a flat contradiction.

This problem may exist in any rule-based system, whether that system is a crisp rule-based system or a fuzzy rule-based system. But in the case of fuzzy rule-based systems, it is a much less serious problem than in the case of a crisp rule-based system. In [the] case of a fuzzy rule-based system, the rules do not fire sequentially, as they do in a conventional system.

In a conventional system, you look for a rule which is satisfied and fire that rule. Then things change, and you look for another rule. In a fuzzy system all rules fire in parallel, but each rule fires to a degree. The degree to which a rule fires is proportional to the degree to which the antecedent is satisfied. So if the antecedent matches the input to a slight degree, then weight associated with that rule will be a small weight.

And then these things are aggregated, not necessarily through arithmetic averaging, but through disjunction or some other operation. Essentially each rule votes, but each rule has a weight. In practical systems in operation at this point, the aggregation is not arithmetical, it's disjunctive. It's the MAX operation. You take the maximum and you defuzzify and come up with a crisp conclusion.

What I'm driving at is this: Because it's a voting system, if one rule is wrong, it will not affect the whole thing.

WK: Wishful thinking.

LZ: There are many systems which have demonstrated this, notably the balancing pendulum. There are seven rules. When Professor Yamakawa was demonstrating this thing, he would disable two out of these seven rules. The system would still continue to function. In other words, there is a graceful degradation. It's not sudden, because of the aggregation process.

WK: Or perhaps because of a superfluity of rules, and [because] he could have gotten along with fewer.

DDJ: But is it better to achieve an ideal solution with more engineering, or is it better to achieve an adequate solution and save a million dollars in development costs?

WK: That's where we also have a serious conflict. I propose that the cost of designing a control system for heating a house with a simple gas furnace can be a thousand times greater using fuzzy logic, and implementing the system about ten times greater using fuzzy logic than classic control theory.

LZ: But that's your supposition. I will counter with the evidence of people who have actually done that. The Schlumberger company in France, an oil-exploration company, is becoming concerned with HVAC. One of their engineers has been using fuzzy logic to come up with an optimal system for them. He is a very well-informed person, he has tried a variety of techniques. There are companies in Germany working on heating buildings, there's Mitsubishi in Japan.… Air conditioning uses fuzzy logic, automobiles use fuzzy logic in their air-conditioning systems.… So we have a lot of experience. Hitachi, Toshiba…we have this kind of experience, versus people for whom I have great admiration saying they can do this in some other fashion.

We are comparing the work of hard-headed people who have actually designed systems, built systems, tested them, compared them, with, with…I'm not sure how to refer to it.

WK: Say something pejorative!

LZ: (Laughing) Professor Tribus, when he was told about the Sendai system, said, and I quote, "I could do the same thing using Bayesian logic." He admitted that it hasn't been done, but he thinks it can be done. The thing that struck me about it--and I know Tribus quite well--he's a person who knows quite a lot about probability, decision analysis. He knows nothing about control. He knows nothing about that system. And yet, he felt justified in saying he could do the same thing using Bayesian logic, without knowing anything about that system.

I hear this frequently: "I could do the same thing using something." Do you know something about that system? Do you know how it functions? "No, I don't really."

In the case of this Sendai system, one has to look at how this system functions. What are the rules? What's the performance? These people, as I said, performed three-hundred thousand simulations. They're not stupid, these Hitachi people. They spent eight years working on these things.

So if you take the people working for Mitsubishi, Toshiba, Hitachi, Siemens, SGS Thompson…Siemens has about 30 or 40 people working on fuzzy problems.

Cement kilns were the very first successful application of fuzzy logic. In 1980, the F.L. Smith company in Copenhagen came out with this application. Today, all cement kilns use fuzzy logic. They have sort of convinced themselves that this is the way to go.

Let me take a little peek into the future. In five, ten, fifteen years from now, fuzzy logic will become a standard part of the curriculum. It's the sort of thing that engineering and other students really would be learning routinely. I think it will turn out that this capability to describe phenomena which do not lend themselves to precise characterization is something which is lacking in traditional approaches. This will provide a tool which does not displace the other tools, but adds to the other tools.

I would also say that we should not look at fuzzy logic in isolation, but see it as part of "soft computing." Soft computing tolerates imprecision, partial truth, considering them not as undesirable, because the real world is imprecise. We cannot capture many aspects of the world if we stick to the traditional framework. We cannot formulate theorems, we cannot solve problems, or if we can, the cost is excessive. So let us learn something about this other methodology.

It is for this reason that I say fuzzy logic will become part of the curriculum. This controversy which we have today will be forgotten. In fact, people will be wondering why we were arguing about something that is so obvious!


Jack is a frequent contributor to DDJ and can be contacted at [email protected].

Related Article

Lofti Visions, Part 1


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.