Hi Peter,
I hope it helped clarify what I was trying to say.
In my interpretation of how designers were using fuzzy logic for
control, I started with the idea of interpolation, as follows:
1. Start with a system with one (analog) input and one output.
2. I know that for an input value of A, the output value should be X,
and that for an input value of B, the output value should be Y.
3. In have an input value between A and B.
4. I assume that the output will be between X and Y. I assume the
output value should be between X and Y at the same relative distance
as the input is between A and B. If it is closer to A, then the output
value should be closer to X. This is linear interpolation.
5. The triangle measurement functions and the weighted average
defuzzification are a means to implement this. It takes two
measurement functions, two rules and a weighted average defuzzifier to
implement the above case.
6. I found that the 2+ dimensional cases using the fuzzy AND (either
min or product AND) could be understood as extending this
interpolation model to 2+ dimensions. In general, there will be 2 x N
rules active at a time, where N = number of dimensions.
I put some additional words in the text below as a follow-on.
Fun stuff!
Dave
--- In SeattleRobotics@yahoogroups.com, PeterBalch <PeterBalch@...> wrote:
>
> Dave
>
> Thank you for that long explanation: I've saved it to refer to should I
> need it in the future.
>
> > Each membership function had an exemplar point where the
> > input value was 100% ("1") and for which an output value was
> > associated through the fuzzy rules that used it.
>
> That's a nice way of looking at it. It implies that you could use other
> non-triangular functions that are more mathematically tractable.
Triangular functions imply linear interpolation in the analog logic
model. If you change from triangular, you are changing to a non-linear
interpolation. As you move from A to B, the output may move slower or
faster between X and Y, depending on where you are between A and B.
Not a problem, but be sure you understand what it does and if that is
what you want.
>
> > The trapezoid functions were combined
> > measurement function triangles where the output value of two adjacent
> > triangles was the same. You could factor the trapezoid into two or
> > more triangles.
>
> Is that just a convenient way of making trapeziums or are you suggesting
> it's a shortcut to merging adjacent members of a fuzzy set?
>
> Are you saying that Fuzzy Logic can work well if all the elements of a
> fuzzy set are triangular or that you always do need trapeziums?
I see it as a shortcut to merging members. If two triangles are
adjacent and have the same output value, you do not need to
interpolate between them. So you merge them into a trapezoid. In the
flat part of the trapezoid, only one rule will be active, the one
associated with the trapezoid. Other triangle or trapezoid functions
will have gone to zero at the start and end of the flat part.
>
> > where the output value was a linearly interpolated (weighted
> > average) of the example output values nearest the input value.
>
> I think I now understand this. It didn't make much sense before
because I
> thought you were defuzzifying a single fuzzy value. So I didn't see
where
> the weights came from.
> In fact, you're assuming that the members of the set are arranged
linearly
> along some axis and you're calculating the weighted mean of the
positions
> of the exemplar points - the weight being equal to the fuzzy value
of each
> member of the set.
Zadeh calls the linear arrangement of a set of membership functions
along one axis a "linguistic variable."
>
> I don't really see what "sense" that makes but if it works well,
that's all
> that's required.
The advantage for me was that I understood it as a clean and simple
way of creating a heuristic control system. This is where you know
what the output values should be for a set of input values, but you do
not have a solvable math model of the system. Examples: driving on
ice; controlling a cement kiln.
The fuzzy approach - as practiced - seemed to me to be an elegant
formal system for interpolating output values from current input
values using known example points (exemplars). It factors multiple
input dimensions into combinations of single dimensions and uses rules
with AND functions to combine them. Much easier than creating a
multi-dimensional hypersurface and finding the output point given an
input point on that surface.
>
> > The choice defuzzification function results from applying negative
> > feedback among the various active rules to the inputs of the weighted
> > average function. The result is a mutually exclusive, winner-take-all
> > function.
>
> That makes more "sense" - If the two endpoint members of your set
are high
> and all the middle ones are low, you probably don't want to take a
weighted
> mean.
>
> > At the end of the day, you are probably right. Analog logic is not
> > fuzzy logic. It is a derivative or mutant of fuzzy logic. However, it
> > seems to be compatible with how most fuzzy logic control systems are
> > actually designed.
>
> A system of fuzzy logic rules is a function that maps multiple analogue
> inputs to a single analogue, integer or boolean output. So they're
like any
> other function that defines a landscape. If the landscape is the right
> shape to solve your problem, it could be argued that's all that matters.
> But I personally wouldn't argue it. I think that clarity or
> understandability are important (can you trust a neural net if you
have no
> idea how it makes its decisions when it's just been "trained" ?).
You are preaching to the choir! The problem with trained neural
networks (and other learning systems) is that you do not know *what*
they have learned. If you analyze the weights that result, the
resulting "rules" are in Martian, not human.
If it works, it is magic because you do not know *why* it works. If it
does not work, it is bad magic because you do not know *why* it does
not work - or how to fix it.
>
> A system of fuzzy logic rules isn't trained, it's just written by a
> designer who think he/she knows what the rules ought to be. If various
> weights have to be adjusted to make it work properly, that may be no
> different from training a neural net. How often do the rules you design
> work without needing much fudging?
>
> Peter
>