>What's the FuzzyTECH MP explorer board from Microchip about? What does
>fuzzy logic in a processor do exactly?
>
>Stuart Allman
The FuzzyTech MP from Microchip allows you to explore using fuzzy logic in a
PIC controller. I believe it also has a software demo program. I do not own
one yet. Soon I will :>
Fuzzy logic is a super-set of binary logic. It more closely approximates
human intellegence than binary logic ever could. Binary logic has two
values: TRUE or FALSE. Fuzzy logic has many values in between true and false.
One example of a fuzzy logic application that I like is in an automatic
transmission.
I used to have a volkswagon dasher that I would drive between Petaluma and
Santa Rosa CA. One of the hills that I had to climb on the freeway would
just about drive you crazy. The transmission would shift between 2nd and 3rd
and back to third about every 10 seconds.
Cars that use fuzzy logic in the transmission would realize after a few
shifts back and forth that the car cannot sustain speed in the higher gear
and wait until a higher RPM was reached before attempting to shift to third.
I am only learning about fuzzy logic now, I am sure others have better
explanations. Check out deja news to find the fuzzy faq.
> >What's the FuzzyTECH MP explorer board from Microchip about? What
> >does fuzzy logic in a processor do exactly?
>
> The FuzzyTech MP from Microchip allows you to explore using fuzzy
> logic in a PIC controller. I believe it also has a software demo
> program. I do not own one yet. Soon I will :>
FuzzyTech is a Windows-based fuzzy-logic development tool
written by a German company called Inform. The
Microchip-specific version (FuzzyTech-MP) includes a HARDWARE
demo, in the form of a 16C71-based thermostat control.
> Fuzzy logic is a super-set of binary logic. It more closely
> approximates human intellegence than binary logic ever could. Binary
> logic has two values: TRUE or FALSE. Fuzzy logic has many values in
> between true and false.
I hear this a lot... As far as I'm concerned, it's a load of
crap.
Binary logic has only two values, right? So how is it possible
that a digital watch can show any number of values between
midnight and noon? How does the PIC's built-in A/D converter
measure and represent voltage levels between 0V and 5V? How can
a fuzzy-logic-based control program be written for a
microcontroller whose basic architecture predates the invention
of fuzzy-logic by a decade or more?
> One example of a fuzzy logic application that I like is in an
> automatic transmission.
>
> I used to have a volkswagon dasher that I would drive between
> Petaluma and Santa Rosa CA. One of the hills that I had to climb on
> the freeway would just about drive you crazy. The transmission would
> shift between 2nd and 3rd and back to third about every 10 seconds.
>
> Cars that use fuzzy logic in the transmission would realize after a
> few shifts back and forth that the car cannot sustain speed in the
> higher gear and wait until a higher RPM was reached before
> attempting to shift to third.
... And this is impossible to do with a more-traditional
electronic transmission controller? Please.
> I am only learning about fuzzy logic now, I am sure others have
> better explanations.
Please don't take this message personally, Steve... I just think
that fuzzy-logic has little application in control applications.
If you're building a pendulum-balancer, thermostat, or even an
automotive transmission or anti-lock brake system, you can do
the job just as well (or, depending upon how you define the
word, "better") using traditional methods.
Fuzzy-logic has one advantage in control systems: It's a quick
and easy way to build software that ALMOST works. However, this
is outweighed in most cases by the time required to tweak the
parameters of your fuzzy model until the software works
acceptably; most fuzzy-logic "development" is performed by
trial-and-error guesswork.
On top of this, it's nearly impossible to prove that your final
design is optimal. It's even hard to guarantee (for complex
fuzzy control systems, anyway) that the software won't exhibit
wildly pathological behavior at certain points... Not a good
thing fore control systems that are used in critical safety
applications.
Lotfi Zadeh, the inventor of fuzzy logic, has repeatedly stated
that there are certain control problems which simply cannot be
solved using techniques other than fuzzy-logic. I think he's
wrong.
Bart Kosko, a professor at USC and the author of a couple of pop
fuzzy-logic books, says that because fuzzy-logic can be used to
emulate ANY control algorithm -- it's a superset of all the other
programming paradigms -- it's obviously superior. I think
he's wrong, too... Assembly language is a "superset" of all other
programming languages, but I wouldn't exactly call it "superior"
for all applications.
If fuzzy logic is good for ANYTHING other than rapid modeling,
it's NON-control problems. At the last fuzzy-logic conference I
attended (a couple of years ago), someone stood up in the big
question-and-answer session and told the panel,
"I don't CARE about fuzzy logic in control applications...
I'm perfectly happy with PID and other algorithms which can
be mathematically proven to be correct, are well-understood,
and don't require me to dick with my model for weeks on end.
What I want to see is a fuzzy-logic model of something
REALLY fuzzy... Like NAFTA [for those of you outside the
U.S. who may not know, NAFTA, the North American Free Trade
Agreement, was a controversial piece of national legislation
that removed all trade barriers between the US and
Canada/Mexico].
"Why doesn't someone build a fuzy-logic model of the economy
(which is so little-understood that there ARE no satisfying
mathematical models), plug in the NAFTA variables, and tell
us whether this will be good or bad for the country?"
THIS guy, I think, was on the right track.
If you're interested in doing control apps using fuzzy-logic,
the FuzzyTech-MP product is one of the best. I beta-tested a
couple of versions of it, and Inform has done a really superior
job of making the software powerful and easy to use. If you're
interested in fuzzy-logic on a grander scale, check out
ByteCraft's "Fuzz-C" preprocessor... It's one of the standards
of the industry.
-Andy
P.S. Sorry for the length of this message... It's just that I HATE
hearing that fuzzy-logic closely mimics the operation of the
human brain. It's just not true... At best, the process of
DEVELOPING fuzzy-logic applications is easier for non-engineers
than traditional methods, because IT mimics the way that they
express and solve real-life problems.
Fuzzy-logic has one advantage in control systems: It's a quick
and easy way to build software that ALMOST works. However, this
is outweighed in most cases by the time required to tweak the
parameters of your fuzzy model until the software works
acceptably; most fuzzy-logic "development" is performed by
trial-and-error guesswork.
On top of this, it's nearly impossible to prove that your final
design is optimal. It's even hard to guarantee (for complex
fuzzy control systems, anyway) that the software won't exhibit
wildly pathological behavior at certain points... Not a good
thing fore control systems that are used in critical safety
applications.
My own take is that fuzzy logic is a little bit like analog computing:
because of the way it is constructed, it is in a sense 'more linear'.
I don't mean the algorithm that the controller is executing---of
course a PID algorithm is linear in mathematical sense. However,
in presence of faults (software-, hardware- or operator-related),
purely numerical/digital algorithms are more fragile than an
equivalent, say, analog PID controller. For instance, an analog motor
controller could not fully reverse motor speed from +Vmax to -Vmax in
single cycle, in response to some noise from the control loop, but a
digital system might.
It looks reasonable to me that a fuzzy system would behave more like
an analog system, because of typically broad band assignments for
fuzzy variables. I haven't played extensively with fuzzy controllers,
though, so the above is just my hunch. Maybe instead of my playing
air guitar someone could provide more concrete info...
Fuzzy-logic has one advantage in control systems: It's a quick
and easy way to build software that ALMOST works. However, this
is outweighed in most cases by the time required to tweak the
parameters of your fuzzy model until the software works
acceptably; most fuzzy-logic "development" is performed by
trial-and-error guesswork.
On top of this, it's nearly impossible to prove that your final
design is optimal. It's even hard to guarantee (for complex
fuzzy control systems, anyway) that the software won't exhibit
wildly pathological behavior at certain points... Not a good
thing fore control systems that are used in critical safety
applications.
My own take is that fuzzy logic is a little bit like analog computing:
because of the way it is constructed, it is in a sense 'more linear'.
I don't mean the algorithm that the controller is executing---of
course a PID algorithm is linear in mathematical sense. However,
in presence of faults (software-, hardware- or operator-related),
purely numerical/digital algorithms are more fragile than an
equivalent, say, analog PID controller. For instance, an analog motor
controller could not fully reverse motor speed from +Vmax to -Vmax in
single cycle, in response to some noise from the control loop, but a
digital system might.
It looks reasonable to me that a fuzzy system would behave more like
an analog system, because of typically broad band assignments for
fuzzy variables. I haven't played extensively with fuzzy controllers,
though, so the above is just my hunch. Maybe instead of my playing
air guitar someone could provide more concrete info...
When I joined this list, I hoped to stay out of the religous wars...
Andy, you and Bob Pease (National Semiconductor/Electronic Design Magazine)
must be good buddies! He relentlessly blasts those who pray to the fuzzy gods.
When I took circuit analysis, the professor (Professor Carlin) said there are
two ways to do circuit analysis:
1) His way, i.e. Logic, Reason, and old-fashioned Thinking
or
2) The Hope, Guess, and Pray method.
In reality, and only in reality, this method applies to everything.
There is absolutely nothing wrong with fuzzy logic per se; as long as you
understand
its mathematical basis and consequently its strengthes and weaknesses. The
problem arises
when one's premise is that product xyz is good because "fuzzy logic" has been
used in its development. BS.
A similar situation exists for so called "Neural Networks". If you get right
down to it,
Neural Networks are no more than adaptive FIR (Finite Impulse Response) filters.
There's not
much similarity between a Neuron and a digital filter. Similarly, there's not
much similarity
between fuzzzy logic and human reasoning.
You never can replace thinking and good design techniques!
When I joined this list, I hoped to stay out of the religous wars...
Andy, you and Bob Pease (National Semiconductor/Electronic Design Magazine)
must be good buddies! He relentlessly blasts those who pray to the fuzzy gods.
When I took circuit analysis, the professor (Professor Carlin) said there are
two ways to do circuit analysis:
1) His way, i.e. Logic, Reason, and old-fashioned Thinking
or
2) The Hope, Guess, and Pray method.
In reality, and only in reality, this method applies to everything.
There is absolutely nothing wrong with fuzzy logic per se; as long as you
understand
its mathematical basis and consequently its strengthes and weaknesses. The
problem arises
when one's premise is that product xyz is good because "fuzzy logic" has been
used in its development. BS.
A similar situation exists for so called "Neural Networks". If you get right
down to it,
Neural Networks are no more than adaptive FIR (Finite Impulse Response) filters.
There's not
much similarity between a Neuron and a digital filter. Similarly, there's not
much similarity
between fuzzzy logic and human reasoning.
You never can replace thinking and good design techniques!
> I hear this a lot... As far as I'm concerned, it's a load of
> crap.
> & alot of other stuff...
Dear Andy:
There certainly is a lot of stuff that leaks out of the cracks about
fuzzy logic, but we should try to be clearer in these debates. So:
Bart Kosko may have written a pop book, but he first wrote a textbook.
It's a bit thick but it should be taken as the statement of choice from
Kosko. Nowhere does he state any of the many silly things popularly
attributed to him. I've also read his pop book, which also doesn't
contain any of the silly statements attributed to him.
Most of the silly stuff about fuzzy logic is just that: silly stuff. It
should be ignored, not repeated.
IN THE THEORY, binary logic is contained as a subset of fuzzy logic.
This has many ramifications to theorists, but may or may not mean beans
to the guy solving a problem. Supersets are not super in any but the set
theory sense. Maybe the word super should be avoided.
Most real world problems are not given to closed solutions. Think about
that a minute: this means literaly that you cannot write the exact
mathematical model for almost any real world problem. The fact that the
PID algorithm can be proven to be mathematically correct only means that
the math works. As far as I know the PID model has never been shown to
be an exact analog of any real physical process. It does a real good
approximation of an astonishingly small percentage of the process
modeling that is generally interesting; since it works so well for these
situations, it gets used. Success brings success. I've happily used PID
algorithms in about a jillion situations, but it isn't worth a damn for
about a gazillion times more problems that are just as important. Some
of these problems may never get solved; some of them will get solved
when new techniques and algorithms come along.
Fuzzy logic is just that: a new technique, a new algorithm. It comes
from a genuinely new paradigm, which brings me to another bunch of silly
stuff that leaks out about paradigms. So lets try this instead:
For about 15 years I have been classifying logical systems with a
hierarchical structure created with three naming concepts: models,
details, and metamodels. The structure arises from identifying the
relative level of any logical element at a particular moment in time.
The model is the logical structure that allows us to represent (and
therefore think about) something; the details are the internal rules and
ramifications of the rules; the metamodel is the set of logical tools
that allow the construction of the model. The structure that arises is
hierarchical because each metamodel is a model in return, and all
details are models on a different level.
Paradigms are metamodels, but I find the metamodel concept more useful
because it is inherently connected, wheras paradigms (wrongly) can
appear to exist on their own. It's easy to see that you can chase your
metamodels to a point where you are trying to define the fundamentals of
existence. It should be just as easy to see that at some level we all
harbor metamodels that we believe define the nature of, say, the
expression of a programming problem. And, given an honest assessment of
the huge number of problems that can't be solved using those metamodels,
I personally welcome every opportunity to redefine the way the approach
to constructing a method for solving a particular problem is handled.
(Whew!)
Did you get that? It was sort of like double indirection (if you're into
assembly code) in that it takes pinning down every time you come back to
it. Fuzzy logic is not on the same level with PID algorithms. It
presents an opportunity to approach the problem of problem solving
differently. What I have used it for is to construct determinate
solutions to problems that are indeterminate using binary logic. A
binary system that settles between two possible outout values will
oscillate or worse (like never return a recursive solution). A fuzzy
logic system will always supply a solution, and I can assure you that
the solution is provably correct in exactly the same sense that the PID
algorithm is (that is, in the math).
The problem with fuzzy logic comes in bringing the result back from the
fuzzy domain, not in tweaking the rules. I find that every time I apply
it I have to 'break my brain' and allow the old assumptions to leak out
and fade away. It's not an easy process, 'cause I've been formulating
and solving problems with binary logic and computing hardware since
before the 4004. The essence of binary logic is baked into my deepest
instincts. Nevertheless, I have built programs that give good, testable
answers to computational problems that are not given to correct solution
with more conventional methods.
So what I propose is this: we should try to think of fuzzy logic as a
different way of approaching the development of problem solving
strategies. In this light, there is no comparison with PID algorithms or
any other general solution or model. It exists as another, useful but
different way of looking at the fundamental structure of the process of
solution, not a specific method or solution. If we keep this in mind I
believe the debate will be more useful and gentle.
-- Tom
P.S. Just in case you wondered, I don't believe that there is going to
be a giant penetration of fuzzy logic solutions into our little world
anytime soon. --TR
P.P.S. Do you really think of assembly language as a superset of other
languages? Hmmm..
> I hear this a lot... As far as I'm concerned, it's a load of
> crap.
> & alot of other stuff...
Dear Andy:
There certainly is a lot of stuff that leaks out of the cracks about
fuzzy logic, but we should try to be clearer in these debates. So:
Bart Kosko may have written a pop book, but he first wrote a textbook.
It's a bit thick but it should be taken as the statement of choice from
Kosko. Nowhere does he state any of the many silly things popularly
attributed to him. I've also read his pop book, which also doesn't
contain any of the silly statements attributed to him.
Most of the silly stuff about fuzzy logic is just that: silly stuff. It
should be ignored, not repeated.
IN THE THEORY, binary logic is contained as a subset of fuzzy logic.
This has many ramifications to theorists, but may or may not mean beans
to the guy solving a problem. Supersets are not super in any but the set
theory sense. Maybe the word super should be avoided.
Most real world problems are not given to closed solutions. Think about
that a minute: this means literaly that you cannot write the exact
mathematical model for almost any real world problem. The fact that the
PID algorithm can be proven to be mathematically correct only means that
the math works. As far as I know the PID model has never been shown to
be an exact analog of any real physical process. It does a real good
approximation of an astonishingly small percentage of the process
modeling that is generally interesting; since it works so well for these
situations, it gets used. Success brings success. I've happily used PID
algorithms in about a jillion situations, but it isn't worth a damn for
about a gazillion times more problems that are just as important. Some
of these problems may never get solved; some of them will get solved
when new techniques and algorithms come along.
Fuzzy logic is just that: a new technique, a new algorithm. It comes
from a genuinely new paradigm, which brings me to another bunch of silly
stuff that leaks out about paradigms. So lets try this instead:
For about 15 years I have been classifying logical systems with a
hierarchical structure created with three naming concepts: models,
details, and metamodels. The structure arises from identifying the
relative level of any logical element at a particular moment in time.
The model is the logical structure that allows us to represent (and
therefore think about) something; the details are the internal rules and
ramifications of the rules; the metamodel is the set of logical tools
that allow the construction of the model. The structure that arises is
hierarchical because each metamodel is a model in return, and all
details are models on a different level.
Paradigms are metamodels, but I find the metamodel concept more useful
because it is inherently connected, wheras paradigms (wrongly) can
appear to exist on their own. It's easy to see that you can chase your
metamodels to a point where you are trying to define the fundamentals of
existence. It should be just as easy to see that at some level we all
harbor metamodels that we believe define the nature of, say, the
expression of a programming problem. And, given an honest assessment of
the huge number of problems that can't be solved using those metamodels,
I personally welcome every opportunity to redefine the way the approach
to constructing a method for solving a particular problem is handled.
(Whew!)
Did you get that? It was sort of like double indirection (if you're into
assembly code) in that it takes pinning down every time you come back to
it. Fuzzy logic is not on the same level with PID algorithms. It
presents an opportunity to approach the problem of problem solving
differently. What I have used it for is to construct determinate
solutions to problems that are indeterminate using binary logic. A
binary system that settles between two possible outout values will
oscillate or worse (like never return a recursive solution). A fuzzy
logic system will always supply a solution, and I can assure you that
the solution is provably correct in exactly the same sense that the PID
algorithm is (that is, in the math).
The problem with fuzzy logic comes in bringing the result back from the
fuzzy domain, not in tweaking the rules. I find that every time I apply
it I have to 'break my brain' and allow the old assumptions to leak out
and fade away. It's not an easy process, 'cause I've been formulating
and solving problems with binary logic and computing hardware since
before the 4004. The essence of binary logic is baked into my deepest
instincts. Nevertheless, I have built programs that give good, testable
answers to computational problems that are not given to correct solution
with more conventional methods.
So what I propose is this: we should try to think of fuzzy logic as a
different way of approaching the development of problem solving
strategies. In this light, there is no comparison with PID algorithms or
any other general solution or model. It exists as another, useful but
different way of looking at the fundamental structure of the process of
solution, not a specific method or solution. If we keep this in mind I
believe the debate will be more useful and gentle.
-- Tom
P.S. Just in case you wondered, I don't believe that there is going to
be a giant penetration of fuzzy logic solutions into our little world
anytime soon. --TR
P.P.S. Do you really think of assembly language as a superset of other
languages? Hmmm..
> Andy, you and Bob Pease (National Semiconductor/Electronic Design
> Magazine) must be good buddies! He relentlessly blasts those who
> pray to the fuzzy gods.
Scott:
Actually, no. I disagree with much of Bob's philosophy, although I
find his analog designs pretty fascinating... Maybe that's just
because MY analog design knowledge is so laughably limited.
After one of the day's sessions were completed at that fuzzy-logic
conference that I mentioned, I found myself in a room with Bob
Pease, Lotfi Zadeh, Bart Kosko, Walter Banks, David Brubaker, and
about half-a-dozen "civilians" like myself.
Interestingly, in the two hours before the hotel management made us
leave the room, Pease didn't really have much to say to these people
in defense of his position. Now, it may be that he was tired after
the long day, or that he's just not as good at public debate as the
others... I don't know. Most of his arguments were very superficial,
easily dismissed by the fuzzy-logic proponents in the room, and in
the end, he seemed almost to have given up and come around to their
point of view.
I suspect that his original Luddite perspective was more emotional
than intellectual... I haven't read his column for the last year or
so, but I'm surprised that he's still bashing fuzzy after that
conference.
> Andy, you and Bob Pease (National Semiconductor/Electronic Design
> Magazine) must be good buddies! He relentlessly blasts those who
> pray to the fuzzy gods.
Scott:
Actually, no. I disagree with much of Bob's philosophy, although I
find his analog designs pretty fascinating... Maybe that's just
because MY analog design knowledge is so laughably limited.
After one of the day's sessions were completed at that fuzzy-logic
conference that I mentioned, I found myself in a room with Bob
Pease, Lotfi Zadeh, Bart Kosko, Walter Banks, David Brubaker, and
about half-a-dozen "civilians" like myself.
Interestingly, in the two hours before the hotel management made us
leave the room, Pease didn't really have much to say to these people
in defense of his position. Now, it may be that he was tired after
the long day, or that he's just not as good at public debate as the
others... I don't know. Most of his arguments were very superficial,
easily dismissed by the fuzzy-logic proponents in the room, and in
the end, he seemed almost to have given up and come around to their
point of view.
I suspect that his original Luddite perspective was more emotional
than intellectual... I haven't read his column for the last year or
so, but I'm surprised that he's still bashing fuzzy after that
conference.
> There certainly is a lot of stuff that leaks out of the cracks about
> fuzzy logic, but we should try to be clearer in these debates.
Tom:
Agreed. My message started out as a simple description of the
FuzzyTech-MP product, but it then got out of hand. If I'd
realized (as I should have) that I was starting a "debate", I
would have been a little more precise.
> Bart Kosko may have written a pop book, but he first wrote a
> textbook. It's a bit thick but it should be taken as the statement
> of choice from Kosko. Nowhere does he state any of the many silly
> things popularly attributed to him. I've also read his pop book,
> which also doesn't contain any of the silly statements attributed to
> him.
On the other hand, the "silly statement" I attributed to him
(that "fuzzy logic is a superior control algorithm than the
others because it can be used to express all the others") was
said in my presence by the man himself. I'm paraphrasing, of
course, but I don't think I've lost anything in the
translation... He was pretty specific about this.
> Supersets are not super in any but the set theory sense. Maybe the
> word super should be avoided.
Actually, this was exactly my point in rebutting Kosko's
argument... The fact that other algorithms can be expressed in
fuzzy-logic terms doesn't make fuzzy "superior".
> Fuzzy logic is not on the same level with PID algorithms. It
> presents an opportunity to approach the problem of problem solving
> differently.
> ....
> The problem with fuzzy logic comes in bringing the result back from
> the fuzzy domain, not in tweaking the rules. I find that every time
> I apply it I have to 'break my brain' and allow the old assumptions
> to leak out and fade away. It's not an easy process, 'cause I've
> been formulating and solving problems with binary logic and
> computing hardware since before the 4004. The essence of binary
> logic is baked into my deepest instincts.
I think we agree here, too... Although I just glossed over it in
the postscript to my message, it seems to me that one of the
indisputable advantages of fuzzy-logic (which you and I find
personally to be somewhat of a disadvantage) is that the process
of developing fuzzy-logic algorithms is very different from
traditional development.
For us, this means that we have to bang our heads against the
wall a little. For people untrained in the science of software
engineering, who don't have the "burden" of our years of
experience and the assumptions that have grown out of that
experience, it means that they can develop a fuzzy-logic
algorithm as easily as WE develop PID or other algorithms.
> P.P.S. Do you really think of assembly language as a superset of
> other languages? Hmmm..
Only in the sense that Bart Kosko used when he claimed that
fuzzy-logic was a superset of PID... Anything written in a
high-level language eventually compiles into assembly, so any
high-level program could conceivably have been written directly
in assembly language.
> There certainly is a lot of stuff that leaks out of the cracks about
> fuzzy logic, but we should try to be clearer in these debates.
Tom:
Agreed. My message started out as a simple description of the
FuzzyTech-MP product, but it then got out of hand. If I'd
realized (as I should have) that I was starting a "debate", I
would have been a little more precise.
> Bart Kosko may have written a pop book, but he first wrote a
> textbook. It's a bit thick but it should be taken as the statement
> of choice from Kosko. Nowhere does he state any of the many silly
> things popularly attributed to him. I've also read his pop book,
> which also doesn't contain any of the silly statements attributed to
> him.
On the other hand, the "silly statement" I attributed to him
(that "fuzzy logic is a superior control algorithm than the
others because it can be used to express all the others") was
said in my presence by the man himself. I'm paraphrasing, of
course, but I don't think I've lost anything in the
translation... He was pretty specific about this.
> Supersets are not super in any but the set theory sense. Maybe the
> word super should be avoided.
Actually, this was exactly my point in rebutting Kosko's
argument... The fact that other algorithms can be expressed in
fuzzy-logic terms doesn't make fuzzy "superior".
> Fuzzy logic is not on the same level with PID algorithms. It
> presents an opportunity to approach the problem of problem solving
> differently.
> ....
> The problem with fuzzy logic comes in bringing the result back from
> the fuzzy domain, not in tweaking the rules. I find that every time
> I apply it I have to 'break my brain' and allow the old assumptions
> to leak out and fade away. It's not an easy process, 'cause I've
> been formulating and solving problems with binary logic and
> computing hardware since before the 4004. The essence of binary
> logic is baked into my deepest instincts.
I think we agree here, too... Although I just glossed over it in
the postscript to my message, it seems to me that one of the
indisputable advantages of fuzzy-logic (which you and I find
personally to be somewhat of a disadvantage) is that the process
of developing fuzzy-logic algorithms is very different from
traditional development.
For us, this means that we have to bang our heads against the
wall a little. For people untrained in the science of software
engineering, who don't have the "burden" of our years of
experience and the assumptions that have grown out of that
experience, it means that they can develop a fuzzy-logic
algorithm as easily as WE develop PID or other algorithms.
> P.P.S. Do you really think of assembly language as a superset of
> other languages? Hmmm..
Only in the sense that Bart Kosko used when he claimed that
fuzzy-logic was a superset of PID... Anything written in a
high-level language eventually compiles into assembly, so any
high-level program could conceivably have been written directly
in assembly language.
At 10:35 AM 4/5/96 -0500, you wrote:
>
I think there is some confusionin this thread between the definitions of
binary, fuzzy, analog and digital.
Binary/Fuzzy:
The characteristic function of a binary set has two states - True/False, 0/1,...
The same in fuzzy logic has an infinate number of states, normally defined
in the range [0,1].
A digital system is usually defined in discrete steps of a power of 2 (binary)
An analog system has infinite resolution.
You can have a crisp(classical logic) analog or digital system and you can
have a digital or analog
fuzzy system. In fact, most of the fuzzy logic systems are digital.
The logic system you use to develop your system is independent of the
implementation.
A full discussion here would go on for pages but I hope this gets some grey
cells moving.
At 10:35 AM 4/5/96 -0500, you wrote:
>
I think there is some confusionin this thread between the definitions of
binary, fuzzy, analog and digital.
Binary/Fuzzy:
The characteristic function of a binary set has two states - True/False, 0/1,...
The same in fuzzy logic has an infinate number of states, normally defined
in the range [0,1].
A digital system is usually defined in discrete steps of a power of 2 (binary)
An analog system has infinite resolution.
You can have a crisp(classical logic) analog or digital system and you can
have a digital or analog
fuzzy system. In fact, most of the fuzzy logic systems are digital.
The logic system you use to develop your system is independent of the
implementation.
A full discussion here would go on for pages but I hope this gets some grey
cells moving.
I agree whole heartedly with Andrews assesment of fuzzy logic.. I have
always felt that the development of "fuzzy" algorithms was driven by a need
to control a system in which the person(s) doing the design work didn't have
a solid understanding of basic control design techniques and lacked the
background, or just the patience, to model the physical systems. One final
thought..Please, when refering to something as "optimal" state what is
optimal with respect to. i.e. speed, control effort, cost, looks, smell..you
get the idea..
I agree whole heartedly with Andrews assesment of fuzzy logic.. I have
always felt that the development of "fuzzy" algorithms was driven by a need
to control a system in which the person(s) doing the design work didn't have
a solid understanding of basic control design techniques and lacked the
background, or just the patience, to model the physical systems. One final
thought..Please, when refering to something as "optimal" state what is
optimal with respect to. i.e. speed, control effort, cost, looks, smell..you
get the idea..
Geeze! Good reply to my post.. Maybe I started the debate (chagrin) by
posting such a long diatribe. Oh, well. I usually try to shy away from
the religious aspects of these debates (religion & computers - there's a
subject for an insipid Time cover story).
I'm not a bit surprised that Kosko said that, by the way. He just didn't
put most of what people slam him for in his books. The interesting point
of the second half (the fuzzy logic part) of the textbook I have is that
he shows how a proper expression of fuzzy logic has aspects that
apparently invalidate the central limit theorem, which makes most
statistics an exercise of convenience (you know: ".. given that we
assume the following..") rather than an underpinning of reality. This
got some really bad reactions early on from the people I know in the
local math community, and Kosko was just not going to be heard after
that.
Geeze! Good reply to my post.. Maybe I started the debate (chagrin) by
posting such a long diatribe. Oh, well. I usually try to shy away from
the religious aspects of these debates (religion & computers - there's a
subject for an insipid Time cover story).
I'm not a bit surprised that Kosko said that, by the way. He just didn't
put most of what people slam him for in his books. The interesting point
of the second half (the fuzzy logic part) of the textbook I have is that
he shows how a proper expression of fuzzy logic has aspects that
apparently invalidate the central limit theorem, which makes most
statistics an exercise of convenience (you know: ".. given that we
assume the following..") rather than an underpinning of reality. This
got some really bad reactions early on from the people I know in the
local math community, and Kosko was just not going to be heard after
that.
Eric Seeley wrote:
>
> I agree whole heartedly with Andrews assesment of fuzzy logic.. I have
> always felt that the development of "fuzzy" algorithms was driven by a need
> to control a system in which the person(s) doing the design work didn't have
> a solid understanding of basic control design techniques and lacked the
> background, or just the patience, to model the physical systems. One final
> thought..Please, when refering to something as "optimal" state what is
> optimal with respect to. i.e. speed, control effort, cost, looks, smell..you
> get the idea..
>
> Eric
Eric: It's just not true. Most people doing this stuff can do the math
or get it done. The application of fuzzy logic isn't easier that other
techniques, and I don't really recall that being the usual selling
point. Many companies brag that their software yeilds the easiest fuzzy
logic solutions, but (as you suggested) to what is this compared?
Most importantly, using fuzzy logic enables one to model the system
differently. It's still a perfectly valid model if done correctly.
Anyway, most real world systems cannot actually be modeled with
classical mathematical solutions. The solutions (& the techniques for
derivation) don't exist in any practical form. Instead, most designs
substitute an acceptable tested model such as a PID algorithm or a
statistical approximation (which scares the bejesus out of me).
Actually, your final thought was the most compelling. Maybe we need a
list of all the aspects of a system or its development that can be
optimal in some sense. I don't recall ever seeing a compilation..
Eric Seeley wrote:
>
> I agree whole heartedly with Andrews assesment of fuzzy logic.. I have
> always felt that the development of "fuzzy" algorithms was driven by a need
> to control a system in which the person(s) doing the design work didn't have
> a solid understanding of basic control design techniques and lacked the
> background, or just the patience, to model the physical systems. One final
> thought..Please, when refering to something as "optimal" state what is
> optimal with respect to. i.e. speed, control effort, cost, looks, smell..you
> get the idea..
>
> Eric
Eric: It's just not true. Most people doing this stuff can do the math
or get it done. The application of fuzzy logic isn't easier that other
techniques, and I don't really recall that being the usual selling
point. Many companies brag that their software yeilds the easiest fuzzy
logic solutions, but (as you suggested) to what is this compared?
Most importantly, using fuzzy logic enables one to model the system
differently. It's still a perfectly valid model if done correctly.
Anyway, most real world systems cannot actually be modeled with
classical mathematical solutions. The solutions (& the techniques for
derivation) don't exist in any practical form. Instead, most designs
substitute an acceptable tested model such as a PID algorithm or a
statistical approximation (which scares the bejesus out of me).
Actually, your final thought was the most compelling. Maybe we need a
list of all the aspects of a system or its development that can be
optimal in some sense. I don't recall ever seeing a compilation..
>The fact that the
>PID algorithm can be proven to be mathematically correct only means that
>the math works. As far as I know the PID model has never been shown to
>be an exact analog of any real physical process.
It seems very real to me, rates of change and averages over time I can
understand.
> since it works so well for these
>situations, it gets used.
Maybe its employed so well because its principals (calculus) is generaly
taught and well understood. Impulse response and damping in the time domain,
or frequency responce, pass/stopbands in the frequency domain, and pole zero
diagrams model many physical systems very well. Where are the fuzzy logic
analysis tools?
>Fuzzy logic is just that: a new technique, a new algorithm.
...
>Paradigms are metamodels,
...
>It's easy to see that you can chase your
>metamodels to a point where you are trying to define the fundamentals of
>existence.
I think, therefore, I am confused :(
...
>Did you get that?
No.
>So what I propose is this: we should try to think of fuzzy logic as a
>different way of approaching the development of problem solving
>strategies. In this light, there is no comparison with PID algorithms or
>any other general solution or model.
You mean I can't build a temperature or motor speed controller, and compare
the resources (MIPS, RAM space, ROM space, et) required, the length of
learning curve, the time to code, and the performance of a PID vs. FUZZY
implementation? Bob Pease' somewhat critical artical in EDN commented on
some of these points.
>P.S. Just in case you wondered, I don't believe that there is going to
>be a giant penetration of fuzzy logic solutions into our little world
>anytime soon. --TR
>
I think your right.
I have probably spent four or five hours reading about fuzzy logic over the
last few years. All the rule-writing makes me think the compiler is
generating some kind of look-up table. The esoteric buzzwords fuzzify
understanding. I suspect it's a marketing ploy. Engineers will pay for the
latest fashion trend in software, to hide their embarrasement over their
confusion.
Until I understand how the fuzzy compiler turns rules into code, and I see
clear performance advantages, I won't invest time and money to climb what
looks like a steep and unrewarding learning curve. Without some type of
numeric analysis method to create a transfer function, fuzzy logic is scary.
Memories of hours spent tuning four-pole filters come to mind. Microchip's
ball-balancer AN600 hasn't changed my mind. I have no idea what the nature
of the generated code is, or how to quantify it or the system its controlling.
I guess its good, if you don't care how and why it does the job, and like
twiddling dials.
Just my narrow-minded, ignorant, conservative, traditionaly-educated 2 cents.
>The fact that the
>PID algorithm can be proven to be mathematically correct only means that
>the math works. As far as I know the PID model has never been shown to
>be an exact analog of any real physical process.
It seems very real to me, rates of change and averages over time I can
understand.
> since it works so well for these
>situations, it gets used.
Maybe its employed so well because its principals (calculus) is generaly
taught and well understood. Impulse response and damping in the time domain,
or frequency responce, pass/stopbands in the frequency domain, and pole zero
diagrams model many physical systems very well. Where are the fuzzy logic
analysis tools?
>Fuzzy logic is just that: a new technique, a new algorithm.
...
>Paradigms are metamodels,
...
>It's easy to see that you can chase your
>metamodels to a point where you are trying to define the fundamentals of
>existence.
I think, therefore, I am confused :(
...
>Did you get that?
No.
>So what I propose is this: we should try to think of fuzzy logic as a
>different way of approaching the development of problem solving
>strategies. In this light, there is no comparison with PID algorithms or
>any other general solution or model.
You mean I can't build a temperature or motor speed controller, and compare
the resources (MIPS, RAM space, ROM space, et) required, the length of
learning curve, the time to code, and the performance of a PID vs. FUZZY
implementation? Bob Pease' somewhat critical artical in EDN commented on
some of these points.
>P.S. Just in case you wondered, I don't believe that there is going to
>be a giant penetration of fuzzy logic solutions into our little world
>anytime soon. --TR
>
I think your right.
I have probably spent four or five hours reading about fuzzy logic over the
last few years. All the rule-writing makes me think the compiler is
generating some kind of look-up table. The esoteric buzzwords fuzzify
understanding. I suspect it's a marketing ploy. Engineers will pay for the
latest fashion trend in software, to hide their embarrasement over their
confusion.
Until I understand how the fuzzy compiler turns rules into code, and I see
clear performance advantages, I won't invest time and money to climb what
looks like a steep and unrewarding learning curve. Without some type of
numeric analysis method to create a transfer function, fuzzy logic is scary.
Memories of hours spent tuning four-pole filters come to mind. Microchip's
ball-balancer AN600 hasn't changed my mind. I have no idea what the nature
of the generated code is, or how to quantify it or the system its controlling.
I guess its good, if you don't care how and why it does the job, and like
twiddling dials.
Just my narrow-minded, ignorant, conservative, traditionaly-educated 2 cents.
Scott Stephens wrote:
>
> Maybe its employed so well because its principals (calculus) is generaly
> taught and well understood. Impulse response and damping in the time domain,
> or frequency responce, pass/stopbands in the frequency domain, and pole zero
>
I have probably spent four or five hours reading about fuzzy logic over
the
last few years. All the rule-writing makes me think the compiler is
generating some
(& more.. )
>
> Just my narrow-minded, ignorant, conservative, traditionaly-educated 2 cents.
Scott:
I don't know if it's narrow minded, but it's not ignorant. You get the
point very well - fuzzy logic is not at all like the stuff you were
taught. If you had only put the same amount of time into calculus it
would probably be as opaque.
Despite the familiarity the standard frequency response model of a
process is still just a model. The mathematical description is not the
real thing, and is not made more valid because of human observation of
apparent cause and effect. Fuzzy logic models are also just models, only
made with a different set of tools.
By tools I do not mean commercial software. These tools are the internal
assumptions and logical understanding that you or I bring to bear on a
problem. I have seen these tools fail to adequately model reality more
often than not; a great deal of my most clever work has gone into
finessing the exceptions to the simple model. Most of the good designers
I know echo this experience.
Finally, please give up the idea that fuzzy logic implementation is
somehow indeterminate. The math is actually simple (much simpler than
calculus, but then when did you ever do calculus to implement a PID
loop?) and easily provable. It is the formulation of the system and the
interpretation of the result that takes work and understanding.
Scott Stephens wrote:
>
> Maybe its employed so well because its principals (calculus) is generaly
> taught and well understood. Impulse response and damping in the time domain,
> or frequency responce, pass/stopbands in the frequency domain, and pole zero
>
I have probably spent four or five hours reading about fuzzy logic over
the
last few years. All the rule-writing makes me think the compiler is
generating some
(& more.. )
>
> Just my narrow-minded, ignorant, conservative, traditionaly-educated 2 cents.
Scott:
I don't know if it's narrow minded, but it's not ignorant. You get the
point very well - fuzzy logic is not at all like the stuff you were
taught. If you had only put the same amount of time into calculus it
would probably be as opaque.
Despite the familiarity the standard frequency response model of a
process is still just a model. The mathematical description is not the
real thing, and is not made more valid because of human observation of
apparent cause and effect. Fuzzy logic models are also just models, only
made with a different set of tools.
By tools I do not mean commercial software. These tools are the internal
assumptions and logical understanding that you or I bring to bear on a
problem. I have seen these tools fail to adequately model reality more
often than not; a great deal of my most clever work has gone into
finessing the exceptions to the simple model. Most of the good designers
I know echo this experience.
Finally, please give up the idea that fuzzy logic implementation is
somehow indeterminate. The math is actually simple (much simpler than
calculus, but then when did you ever do calculus to implement a PID
loop?) and easily provable. It is the formulation of the system and the
interpretation of the result that takes work and understanding.
>I don't know if it's narrow minded, but it's not ignorant. You get the
>point very well - fuzzy logic is not at all like the stuff you were
>taught. If you had only put the same amount of time into calculus it
>would probably be as opaque.
True. Hundreds of hours of control systems, calculus and laplace and four or
five of fuzzy from introductory articles and app-note. So I do have an
ignorant perspective. I don't wan't to pay the price in time & $$ to find
out how ignorant I am.
>Despite the familiarity the standard frequency response model of a
>process is still just a model. The mathematical description is not the
>real thing, and is not made more valid because of human observation of
>apparent cause and effect. Fuzzy logic models are also just models, only
>made with a different set of tools.
OK. Saying a=dv/dt is not the same as stepping on the gas pedal. But it
models reality so well if I'm off, I check my test equipment.
The big difference that scares me, is that the difference is quantify-able.
I can measure the difference between the model and reality. I know how much,
numbers arn't fuzzy.
>By tools I do not mean commercial software. These tools are the internal
>assumptions and logical understanding that you or I bring to bear on a
>problem. I have seen these tools fail to adequately model reality more
>often than not; a great deal of my most clever work has gone into
>finessing the exceptions to the simple model. Most of the good designers
>I know echo this experience.
The human mind processes information in terms of more and less, faster and
slower, formulate rules and change their minds to percieve reality in terms
of these concepts and rules. Thought is in linguistic cognitive tools and
terms. Fuzzy logic is a warm, fuzzy, linguistic and rule based programming
language.
Physical systems are described very well in the terse, arcane language of
mathematics. But this mathematic language was created to describe reality,
and imposed by the need to model the physical systems in question accurately
and precisely, not in fuzzy terms.
They way I see it, convention numeric techniques go to the playing field of
the physical system in question. Fuzzy logic brings the physical system in
question to the playing field of our fuzzy linguistic minds.
So the conclusion I reach is that a simple tool in competant hands will
outperform an elite tool in a ignorant hands. But it better to have a
powerfull mind and a powerfull tool ;-)
>I don't know if it's narrow minded, but it's not ignorant. You get the
>point very well - fuzzy logic is not at all like the stuff you were
>taught. If you had only put the same amount of time into calculus it
>would probably be as opaque.
True. Hundreds of hours of control systems, calculus and laplace and four or
five of fuzzy from introductory articles and app-note. So I do have an
ignorant perspective. I don't wan't to pay the price in time & $$ to find
out how ignorant I am.
>Despite the familiarity the standard frequency response model of a
>process is still just a model. The mathematical description is not the
>real thing, and is not made more valid because of human observation of
>apparent cause and effect. Fuzzy logic models are also just models, only
>made with a different set of tools.
OK. Saying a=dv/dt is not the same as stepping on the gas pedal. But it
models reality so well if I'm off, I check my test equipment.
The big difference that scares me, is that the difference is quantify-able.
I can measure the difference between the model and reality. I know how much,
numbers arn't fuzzy.
>By tools I do not mean commercial software. These tools are the internal
>assumptions and logical understanding that you or I bring to bear on a
>problem. I have seen these tools fail to adequately model reality more
>often than not; a great deal of my most clever work has gone into
>finessing the exceptions to the simple model. Most of the good designers
>I know echo this experience.
The human mind processes information in terms of more and less, faster and
slower, formulate rules and change their minds to percieve reality in terms
of these concepts and rules. Thought is in linguistic cognitive tools and
terms. Fuzzy logic is a warm, fuzzy, linguistic and rule based programming
language.
Physical systems are described very well in the terse, arcane language of
mathematics. But this mathematic language was created to describe reality,
and imposed by the need to model the physical systems in question accurately
and precisely, not in fuzzy terms.
They way I see it, convention numeric techniques go to the playing field of
the physical system in question. Fuzzy logic brings the physical system in
question to the playing field of our fuzzy linguistic minds.
So the conclusion I reach is that a simple tool in competant hands will
outperform an elite tool in a ignorant hands. But it better to have a
powerfull mind and a powerfull tool ;-)
Scott Stephens wrote:
>
> True. Hundreds of hours of control systems, calculus and laplace and four or
> five of fuzzy from introductory articles and app-note. So I do have an
> ignorant perspective. I don't wan't to pay the price in time & $$ to find
> out how ignorant I am.
>
> & other good stuff..
Thanks for the thoughts.
I know on the surface it seems that the conventional math models are a
close analog of real physical processes, but this is largely an
illusion. It seems that way because we are so used to seeing it that
way. This is what Pursig refered to (in Zen & the Art of Motorcycle
Maintainence) when he talked about being on the train as opposed to
being on the front of the train, with actual reality whipping by your
face..
Consider this: the three body problem wasn't actually solved until the
late 70's or early 80's, with the aid of computers. How many more terms
are there to the actual closed solution for pushing the gas pedal?
-- Tom
P.S.: Remember that you're only likely to measure what you go looking to
measure..
Scott Stephens wrote:
>
> True. Hundreds of hours of control systems, calculus and laplace and four or
> five of fuzzy from introductory articles and app-note. So I do have an
> ignorant perspective. I don't wan't to pay the price in time & $$ to find
> out how ignorant I am.
>
> & other good stuff..
Thanks for the thoughts.
I know on the surface it seems that the conventional math models are a
close analog of real physical processes, but this is largely an
illusion. It seems that way because we are so used to seeing it that
way. This is what Pursig refered to (in Zen & the Art of Motorcycle
Maintainence) when he talked about being on the train as opposed to
being on the front of the train, with actual reality whipping by your
face..
Consider this: the three body problem wasn't actually solved until the
late 70's or early 80's, with the aid of computers. How many more terms
are there to the actual closed solution for pushing the gas pedal?
-- Tom
P.S.: Remember that you're only likely to measure what you go looking to
measure..
>The fact that the
>PID algorithm can be proven to be mathematically correct only means that
>the math works. As far as I know the PID model has never been shown to
>be an exact analog of any real physical process.
It seems very real to me, rates of change and averages over time I can
understand.
> since it works so well for these
>situations, it gets used.
Maybe its employed so well because its principals (calculus) is generaly
taught and well understood. Impulse response and damping in the time domain,
or frequency responce, pass/stopbands in the frequency domain, and pole zero
diagrams model many physical systems very well. Where are the fuzzy logic
analysis tools?
>Fuzzy logic is just that: a new technique, a new algorithm.
...
>Paradigms are metamodels,
...
>It's easy to see that you can chase your
>metamodels to a point where you are trying to define the fundamentals of
>existence.
I think, therefore, I am confused :(
...
>Did you get that?
No.
>So what I propose is this: we should try to think of fuzzy logic as a
>different way of approaching the development of problem solving
>strategies. In this light, there is no comparison with PID algorithms or
>any other general solution or model.
You mean I can't build a temperature or motor speed controller, and compare
the resources (MIPS, RAM space, ROM space, et) required, the length of
learning curve, the time to code, and the performance of a PID vs. FUZZY
implementation? Bob Pease' somewhat critical artical in EDN commented on
some of these points.
>P.S. Just in case you wondered, I don't believe that there is going to
>be a giant penetration of fuzzy logic solutions into our little world
>anytime soon. --TR
>
I think your right.
I have probably spent four or five hours reading about fuzzy logic over the
last few years. All the rule-writing makes me think the compiler is
generating some kind of look-up table. The esoteric buzzwords fuzzify
understanding. I suspect it's a marketing ploy. Engineers will pay for the
latest fashion trend in software, to hide their embarrasement over their
confusion.
Until I understand how the fuzzy compiler turns rules into code, and I see
clear performance advantages, I won't invest time and money to climb what
looks like a steep and unrewarding learning curve. Without some type of
numeric analysis method to create a transfer function, fuzzy logic is scary.
Memories of hours spent tuning four-pole filters come to mind. Microchip's
ball-balancer AN600 hasn't changed my mind. I have no idea what the nature
of the generated code is, or how to quantify it or the system its controlling.
I guess its good, if you don't care how and why it does the job, and like
twiddling dials.
Just my narrow-minded, ignorant, conservative, traditionaly-educated 2 cents.
Geeze! Good reply to my post.. Maybe I started the debate (chagrin) by
posting such a long diatribe. Oh, well. I usually try to shy away from
the religious aspects of these debates (religion & computers - there's a
subject for an insipid Time cover story).
I'm not a bit surprised that Kosko said that, by the way. He just didn't
put most of what people slam him for in his books. The interesting point
of the second half (the fuzzy logic part) of the textbook I have is that
he shows how a proper expression of fuzzy logic has aspects that
apparently invalidate the central limit theorem, which makes most
statistics an exercise of convenience (you know: ".. given that we
assume the following..") rather than an underpinning of reality. This
got some really bad reactions early on from the people I know in the
local math community, and Kosko was just not going to be heard after
that.
Eric Seeley wrote:
>
> I agree whole heartedly with Andrews assesment of fuzzy logic.. I have
> always felt that the development of "fuzzy" algorithms was driven by a need
> to control a system in which the person(s) doing the design work didn't have
> a solid understanding of basic control design techniques and lacked the
> background, or just the patience, to model the physical systems. One final
> thought..Please, when refering to something as "optimal" state what is
> optimal with respect to. i.e. speed, control effort, cost, looks, smell..you
> get the idea..
>
> Eric
Eric: It's just not true. Most people doing this stuff can do the math
or get it done. The application of fuzzy logic isn't easier that other
techniques, and I don't really recall that being the usual selling
point. Many companies brag that their software yeilds the easiest fuzzy
logic solutions, but (as you suggested) to what is this compared?
Most importantly, using fuzzy logic enables one to model the system
differently. It's still a perfectly valid model if done correctly.
Anyway, most real world systems cannot actually be modeled with
classical mathematical solutions. The solutions (& the techniques for
derivation) don't exist in any practical form. Instead, most designs
substitute an acceptable tested model such as a PID algorithm or a
statistical approximation (which scares the bejesus out of me).
Actually, your final thought was the most compelling. Maybe we need a
list of all the aspects of a system or its development that can be
optimal in some sense. I don't recall ever seeing a compilation..
I agree whole heartedly with Andrews assesment of fuzzy logic.. I have
always felt that the development of "fuzzy" algorithms was driven by a need
to control a system in which the person(s) doing the design work didn't have
a solid understanding of basic control design techniques and lacked the
background, or just the patience, to model the physical systems. One final
thought..Please, when refering to something as "optimal" state what is
optimal with respect to. i.e. speed, control effort, cost, looks, smell..you
get the idea..
At 10:35 AM 4/5/96 -0500, you wrote:
>
I think there is some confusionin this thread between the definitions of
binary, fuzzy, analog and digital.
Binary/Fuzzy:
The characteristic function of a binary set has two states - True/False, 0/1,...
The same in fuzzy logic has an infinate number of states, normally defined
in the range [0,1].
A digital system is usually defined in discrete steps of a power of 2 (binary)
An analog system has infinite resolution.
You can have a crisp(classical logic) analog or digital system and you can
have a digital or analog
fuzzy system. In fact, most of the fuzzy logic systems are digital.
The logic system you use to develop your system is independent of the
implementation.
A full discussion here would go on for pages but I hope this gets some grey
cells moving.
> There certainly is a lot of stuff that leaks out of the cracks about
> fuzzy logic, but we should try to be clearer in these debates.
Tom:
Agreed. My message started out as a simple description of the
FuzzyTech-MP product, but it then got out of hand. If I'd
realized (as I should have) that I was starting a "debate", I
would have been a little more precise.
> Bart Kosko may have written a pop book, but he first wrote a
> textbook. It's a bit thick but it should be taken as the statement
> of choice from Kosko. Nowhere does he state any of the many silly
> things popularly attributed to him. I've also read his pop book,
> which also doesn't contain any of the silly statements attributed to
> him.
On the other hand, the "silly statement" I attributed to him
(that "fuzzy logic is a superior control algorithm than the
others because it can be used to express all the others") was
said in my presence by the man himself. I'm paraphrasing, of
course, but I don't think I've lost anything in the
translation... He was pretty specific about this.
> Supersets are not super in any but the set theory sense. Maybe the
> word super should be avoided.
Actually, this was exactly my point in rebutting Kosko's
argument... The fact that other algorithms can be expressed in
fuzzy-logic terms doesn't make fuzzy "superior".
> Fuzzy logic is not on the same level with PID algorithms. It
> presents an opportunity to approach the problem of problem solving
> differently.
> ....
> The problem with fuzzy logic comes in bringing the result back from
> the fuzzy domain, not in tweaking the rules. I find that every time
> I apply it I have to 'break my brain' and allow the old assumptions
> to leak out and fade away. It's not an easy process, 'cause I've
> been formulating and solving problems with binary logic and
> computing hardware since before the 4004. The essence of binary
> logic is baked into my deepest instincts.
I think we agree here, too... Although I just glossed over it in
the postscript to my message, it seems to me that one of the
indisputable advantages of fuzzy-logic (which you and I find
personally to be somewhat of a disadvantage) is that the process
of developing fuzzy-logic algorithms is very different from
traditional development.
For us, this means that we have to bang our heads against the
wall a little. For people untrained in the science of software
engineering, who don't have the "burden" of our years of
experience and the assumptions that have grown out of that
experience, it means that they can develop a fuzzy-logic
algorithm as easily as WE develop PID or other algorithms.
> P.P.S. Do you really think of assembly language as a superset of
> other languages? Hmmm..
Only in the sense that Bart Kosko used when he claimed that
fuzzy-logic was a superset of PID... Anything written in a
high-level language eventually compiles into assembly, so any
high-level program could conceivably have been written directly
in assembly language.
> Andy, you and Bob Pease (National Semiconductor/Electronic Design
> Magazine) must be good buddies! He relentlessly blasts those who
> pray to the fuzzy gods.
Scott:
Actually, no. I disagree with much of Bob's philosophy, although I
find his analog designs pretty fascinating... Maybe that's just
because MY analog design knowledge is so laughably limited.
After one of the day's sessions were completed at that fuzzy-logic
conference that I mentioned, I found myself in a room with Bob
Pease, Lotfi Zadeh, Bart Kosko, Walter Banks, David Brubaker, and
about half-a-dozen "civilians" like myself.
Interestingly, in the two hours before the hotel management made us
leave the room, Pease didn't really have much to say to these people
in defense of his position. Now, it may be that he was tired after
the long day, or that he's just not as good at public debate as the
others... I don't know. Most of his arguments were very superficial,
easily dismissed by the fuzzy-logic proponents in the room, and in
the end, he seemed almost to have given up and come around to their
point of view.
I suspect that his original Luddite perspective was more emotional
than intellectual... I haven't read his column for the last year or
so, but I'm surprised that he's still bashing fuzzy after that
conference.
When I joined this list, I hoped to stay out of the religous wars...
Andy, you and Bob Pease (National Semiconductor/Electronic Design Magazine)
must be good buddies! He relentlessly blasts those who pray to the fuzzy gods.
When I took circuit analysis, the professor (Professor Carlin) said there are
two ways to do circuit analysis:
1) His way, i.e. Logic, Reason, and old-fashioned Thinking
or
2) The Hope, Guess, and Pray method.
In reality, and only in reality, this method applies to everything.
There is absolutely nothing wrong with fuzzy logic per se; as long as you
understand
its mathematical basis and consequently its strengthes and weaknesses. The
problem arises
when one's premise is that product xyz is good because "fuzzy logic" has been
used in its development. BS.
A similar situation exists for so called "Neural Networks". If you get right
down to it,
Neural Networks are no more than adaptive FIR (Finite Impulse Response) filters.
There's not
much similarity between a Neuron and a digital filter. Similarly, there's not
much similarity
between fuzzzy logic and human reasoning.
You never can replace thinking and good design techniques!
> I hear this a lot... As far as I'm concerned, it's a load of
> crap.
> & alot of other stuff...
Dear Andy:
There certainly is a lot of stuff that leaks out of the cracks about
fuzzy logic, but we should try to be clearer in these debates. So:
Bart Kosko may have written a pop book, but he first wrote a textbook.
It's a bit thick but it should be taken as the statement of choice from
Kosko. Nowhere does he state any of the many silly things popularly
attributed to him. I've also read his pop book, which also doesn't
contain any of the silly statements attributed to him.
Most of the silly stuff about fuzzy logic is just that: silly stuff. It
should be ignored, not repeated.
IN THE THEORY, binary logic is contained as a subset of fuzzy logic.
This has many ramifications to theorists, but may or may not mean beans
to the guy solving a problem. Supersets are not super in any but the set
theory sense. Maybe the word super should be avoided.
Most real world problems are not given to closed solutions. Think about
that a minute: this means literaly that you cannot write the exact
mathematical model for almost any real world problem. The fact that the
PID algorithm can be proven to be mathematically correct only means that
the math works. As far as I know the PID model has never been shown to
be an exact analog of any real physical process. It does a real good
approximation of an astonishingly small percentage of the process
modeling that is generally interesting; since it works so well for these
situations, it gets used. Success brings success. I've happily used PID
algorithms in about a jillion situations, but it isn't worth a damn for
about a gazillion times more problems that are just as important. Some
of these problems may never get solved; some of them will get solved
when new techniques and algorithms come along.
Fuzzy logic is just that: a new technique, a new algorithm. It comes
from a genuinely new paradigm, which brings me to another bunch of silly
stuff that leaks out about paradigms. So lets try this instead:
For about 15 years I have been classifying logical systems with a
hierarchical structure created with three naming concepts: models,
details, and metamodels. The structure arises from identifying the
relative level of any logical element at a particular moment in time.
The model is the logical structure that allows us to represent (and
therefore think about) something; the details are the internal rules and
ramifications of the rules; the metamodel is the set of logical tools
that allow the construction of the model. The structure that arises is
hierarchical because each metamodel is a model in return, and all
details are models on a different level.
Paradigms are metamodels, but I find the metamodel concept more useful
because it is inherently connected, wheras paradigms (wrongly) can
appear to exist on their own. It's easy to see that you can chase your
metamodels to a point where you are trying to define the fundamentals of
existence. It should be just as easy to see that at some level we all
harbor metamodels that we believe define the nature of, say, the
expression of a programming problem. And, given an honest assessment of
the huge number of problems that can't be solved using those metamodels,
I personally welcome every opportunity to redefine the way the approach
to constructing a method for solving a particular problem is handled.
(Whew!)
Did you get that? It was sort of like double indirection (if you're into
assembly code) in that it takes pinning down every time you come back to
it. Fuzzy logic is not on the same level with PID algorithms. It
presents an opportunity to approach the problem of problem solving
differently. What I have used it for is to construct determinate
solutions to problems that are indeterminate using binary logic. A
binary system that settles between two possible outout values will
oscillate or worse (like never return a recursive solution). A fuzzy
logic system will always supply a solution, and I can assure you that
the solution is provably correct in exactly the same sense that the PID
algorithm is (that is, in the math).
The problem with fuzzy logic comes in bringing the result back from the
fuzzy domain, not in tweaking the rules. I find that every time I apply
it I have to 'break my brain' and allow the old assumptions to leak out
and fade away. It's not an easy process, 'cause I've been formulating
and solving problems with binary logic and computing hardware since
before the 4004. The essence of binary logic is baked into my deepest
instincts. Nevertheless, I have built programs that give good, testable
answers to computational problems that are not given to correct solution
with more conventional methods.
So what I propose is this: we should try to think of fuzzy logic as a
different way of approaching the development of problem solving
strategies. In this light, there is no comparison with PID algorithms or
any other general solution or model. It exists as another, useful but
different way of looking at the fundamental structure of the process of
solution, not a specific method or solution. If we keep this in mind I
believe the debate will be more useful and gentle.
-- Tom
P.S. Just in case you wondered, I don't believe that there is going to
be a giant penetration of fuzzy logic solutions into our little world
anytime soon. --TR
P.P.S. Do you really think of assembly language as a superset of other
languages? Hmmm..
Fuzzy-logic has one advantage in control systems: It's a quick
and easy way to build software that ALMOST works. However, this
is outweighed in most cases by the time required to tweak the
parameters of your fuzzy model until the software works
acceptably; most fuzzy-logic "development" is performed by
trial-and-error guesswork.
On top of this, it's nearly impossible to prove that your final
design is optimal. It's even hard to guarantee (for complex
fuzzy control systems, anyway) that the software won't exhibit
wildly pathological behavior at certain points... Not a good
thing fore control systems that are used in critical safety
applications.
My own take is that fuzzy logic is a little bit like analog computing:
because of the way it is constructed, it is in a sense 'more linear'.
I don't mean the algorithm that the controller is executing---of
course a PID algorithm is linear in mathematical sense. However,
in presence of faults (software-, hardware- or operator-related),
purely numerical/digital algorithms are more fragile than an
equivalent, say, analog PID controller. For instance, an analog motor
controller could not fully reverse motor speed from +Vmax to -Vmax in
single cycle, in response to some noise from the control loop, but a
digital system might.
It looks reasonable to me that a fuzzy system would behave more like
an analog system, because of typically broad band assignments for
fuzzy variables. I haven't played extensively with fuzzy controllers,
though, so the above is just my hunch. Maybe instead of my playing
air guitar someone could provide more concrete info...
> At the last fuzzy-logic conference I
> attended (a couple of years ago), someone stood up in the big
> question-and-answer session and told the panel,
>
> "I don't CARE about fuzzy logic in control applications...
> I'm perfectly happy with PID and other algorithms which can
> be mathematically proven to be correct ...
Andy, can you tell us what PID is, or give a text reference?
________________________________________________
Mike Sunners <KILLspammikesspamBeGonecaa.org.au> W +61 8 223 2519